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