root / man / hsqueeze.rst @ e715a6d6
History | View | Annotate | Download (3 kB)
1 | 9e354be4 | Klaus Aehlig | HSQUEEZE(1) Ganeti | Version @GANETI_VERSION@ |
---|---|---|---|
2 | 9e354be4 | Klaus Aehlig | ============================================= |
3 | 9e354be4 | Klaus Aehlig | |
4 | 9e354be4 | Klaus Aehlig | NAME |
5 | 9e354be4 | Klaus Aehlig | ---- |
6 | 9e354be4 | Klaus Aehlig | |
7 | 9e354be4 | Klaus Aehlig | hsqueeze \- Dynamic power management |
8 | 9e354be4 | Klaus Aehlig | |
9 | 9e354be4 | Klaus Aehlig | SYNOPSIS |
10 | 9e354be4 | Klaus Aehlig | -------- |
11 | 9e354be4 | Klaus Aehlig | |
12 | 9e354be4 | Klaus Aehlig | **hsqueeze** {backend options...} [algorithm options...] [reporting options...] |
13 | 9e354be4 | Klaus Aehlig | |
14 | 9e354be4 | Klaus Aehlig | **hsqueeze** \--version |
15 | 9e354be4 | Klaus Aehlig | |
16 | 9e354be4 | Klaus Aehlig | Backend options: |
17 | 9e354be4 | Klaus Aehlig | |
18 | 9e354be4 | Klaus Aehlig | { **-L[** *path* **]** | **-t** *data-file* } |
19 | 9e354be4 | Klaus Aehlig | |
20 | 9e354be4 | Klaus Aehlig | Algorithm options: |
21 | 9e354be4 | Klaus Aehlig | |
22 | 958c943b | Klaus Aehlig | **[ \--minimal-resources=*factor* ]** |
23 | 9e354be4 | Klaus Aehlig | **[ \--target-resources=*factor* ]** |
24 | 9e354be4 | Klaus Aehlig | |
25 | 9e354be4 | Klaus Aehlig | Reporting options: |
26 | 9e354be4 | Klaus Aehlig | |
27 | 9e354be4 | Klaus Aehlig | **[ -S *file* ]** |
28 | b3ad1889 | Klaus Aehlig | **[ -C[*file*] ]** |
29 | 9e354be4 | Klaus Aehlig | |
30 | 9e354be4 | Klaus Aehlig | |
31 | 9e354be4 | Klaus Aehlig | DESCRIPTION |
32 | 9e354be4 | Klaus Aehlig | ----------- |
33 | 9e354be4 | Klaus Aehlig | |
34 | 9e354be4 | Klaus Aehlig | hsqueeze does dynamic power management, by powering up or shutting down nodes, |
35 | 9e354be4 | Klaus Aehlig | depending on the current load of the cluster. Currently, only suggesting nodes |
36 | 958c943b | Klaus Aehlig | is implemented. |
37 | 9e354be4 | Klaus Aehlig | |
38 | 9e354be4 | Klaus Aehlig | ALGORITHM |
39 | 9e354be4 | Klaus Aehlig | ~~~~~~~~~ |
40 | 9e354be4 | Klaus Aehlig | |
41 | 9e354be4 | Klaus Aehlig | hsqueeze considers all online non-master nodes with only externally mirrored |
42 | 9e354be4 | Klaus Aehlig | instances as candidates for being taken offline. These nodes are iteratively, |
43 | 9e354be4 | Klaus Aehlig | starting from the node with the least number of instances, added to the set |
44 | 9e354be4 | Klaus Aehlig | of nodes to be put offline, if possible. A set of nodes is considered as suitable |
45 | 9e354be4 | Klaus Aehlig | for being taken offline, if, after marking these nodes as offline, balancing the |
46 | 9e354be4 | Klaus Aehlig | cluster by the algorithm used by **hbal**\(1) yields a situation where all instances |
47 | 9e354be4 | Klaus Aehlig | are located on online nodes, and each node has at least the target resources free |
48 | 9e354be4 | Klaus Aehlig | for new instances. |
49 | 9e354be4 | Klaus Aehlig | |
50 | 958c943b | Klaus Aehlig | All offline nodes with a tag starting with ``htools:standby`` are |
51 | 958c943b | Klaus Aehlig | considered candidates for being taken online. Those nodes are taken online |
52 | 958c943b | Klaus Aehlig | till balancing the cluster by the algorithm used by **hbal**\(1) yields a |
53 | 958c943b | Klaus Aehlig | situation where each node has at least the minimal resources free for new |
54 | 958c943b | Klaus Aehlig | instances. |
55 | 958c943b | Klaus Aehlig | |
56 | 9e354be4 | Klaus Aehlig | OPTIONS |
57 | 9e354be4 | Klaus Aehlig | ------- |
58 | 9e354be4 | Klaus Aehlig | |
59 | 9e354be4 | Klaus Aehlig | -L [*path*] |
60 | 9e354be4 | Klaus Aehlig | Backend specification: collect data directly from the master daemon, |
61 | 9e354be4 | Klaus Aehlig | which is to be contacted via LUXI (an internal Ganeti protocol). The |
62 | 9e354be4 | Klaus Aehlig | option is described in the man page **htools**\(1). |
63 | 9e354be4 | Klaus Aehlig | |
64 | 9e354be4 | Klaus Aehlig | -S *filename*, \--save-cluster=*filename* |
65 | 9e354be4 | Klaus Aehlig | If given, the state of the cluster before the squeezing is saved to |
66 | 9e354be4 | Klaus Aehlig | the given file plus the extension "original" |
67 | 9e354be4 | Klaus Aehlig | (i.e. *filename*.original), and the state at the end of the |
68 | 9e354be4 | Klaus Aehlig | squeezing operation is saved to the given file plus the extension "squeezed" |
69 | 9e354be4 | Klaus Aehlig | (i.e. *filename*.squeezed). |
70 | 9e354be4 | Klaus Aehlig | |
71 | b3ad1889 | Klaus Aehlig | -C[*filename*], \--print-commands[=*filename*] |
72 | b3ad1889 | Klaus Aehlig | If given, a shell script containing the commands to squeeze or unsqueeze |
73 | b3ad1889 | Klaus Aehlig | the cluster are saved in a file with the given name; if no name is provided, |
74 | b3ad1889 | Klaus Aehlig | they are printed to stdout. |
75 | b3ad1889 | Klaus Aehlig | |
76 | 9e354be4 | Klaus Aehlig | -t *datafile*, \--text-data=*datafile* |
77 | 9e354be4 | Klaus Aehlig | Backend specification: the name of the file holding node and instance |
78 | 9e354be4 | Klaus Aehlig | information (if not collecting LUXI). This or one of the |
79 | 9e354be4 | Klaus Aehlig | other backends must be selected. The option is described in the man |
80 | 9e354be4 | Klaus Aehlig | page **htools**\(1). |
81 | 9e354be4 | Klaus Aehlig | |
82 | 958c943b | Klaus Aehlig | \--minimal-resources=*factor* |
83 | 958c943b | Klaus Aehlig | Specify the amount of resources to be free on each node for hsqueeze not to |
84 | 958c943b | Klaus Aehlig | consider onlining additional nodes. The value is reported a multiple of the |
85 | 958c943b | Klaus Aehlig | standard instance specification, as taken from the instance policy. |
86 | 958c943b | Klaus Aehlig | |
87 | 9e354be4 | Klaus Aehlig | \--target-resources=*factor* |
88 | 9e354be4 | Klaus Aehlig | Specify the amount of resources to remain free on any node after squeezing. |
89 | 9e354be4 | Klaus Aehlig | The value is reported a multiple of the standard instance specification, as |
90 | 9e354be4 | Klaus Aehlig | taken from the instance policy. |