Statistics
| Branch: | Tag: | Revision:

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.