1 HTOOLS(1) Ganeti | Version @GANETI_VERSION@
2 ===========================================
7 htools - Cluster allocation and placement tools for Ganeti
16 cluster capacity computation
22 saves cluster state for later reuse
29 ``htools`` is a suite of tools designed to help with allocation/movement
30 of instances and balancing of Ganeti clusters. ``htools`` is also the
31 generic binary that must be symlinked or hardlinked under each tool's
32 name in order to perform the different functions. Alternatively, the
33 environment variable HTOOLS can be used to set the desired role.
35 Installed as ``hbal``, it computes and optionally executes a suite of
36 instance moves in order to balance the cluster.
38 Installed as ``hspace``, it computes how many additional instances can
39 be fit on a cluster, while maintaining N+1 status. It can run on models
40 of existing clusters or of simulated clusters.
42 Installed as ``hail``, it acts as an IAllocator plugin, i.e. it is used
43 by Ganeti to compute new instance allocations and instance moves.
45 Installed as ``hscan``, it scans the local or remote cluster state and
46 saves it to files which can later be reused by the other roles.
51 Options behave the same in all program modes, but not all program modes
52 support all options. Some common options are:
55 Prints the node status, in a format designed to allow the user to
56 understand the node's most important parameters. If the command in
57 question makes a cluster transition (e.g. balancing or allocation),
58 then usually both the initial and final node status is printed.
60 It is possible to customise the listed information by passing a
61 comma-separated list of field names to this option (the field list
62 is currently undocumented), or to extend the default field list by
63 prefixing the additional field list with a plus sign. By default,
64 the node list will contain the following information:
67 a character denoting the status of the node, with '-' meaning an
68 offline node, '*' meaning N+1 failure and blank meaning a good
78 the memory used by the node itself
81 the memory used by instances
84 amount memory which seems to be in use but cannot be determined
85 why or by which instance; usually this means that the hypervisor
86 has some overhead or that there are other reporting errors
92 the reserved node memory, which is the amount of free memory
93 needed for N+1 compliance
102 the number of physical cpus on the node
105 the number of virtual cpus allocated to primary instances
108 number of primary instances
111 number of secondary instances
114 percent of free memory
120 ratio of virtual to physical cpus
123 the dynamic CPU load (if the information is available)
126 the dynamic memory load (if the information is available)
129 the dynamic disk load (if the information is available)
132 the dynamic net load (if the information is available)
135 Increase the output verbosity. Each usage of this option will
136 increase the verbosity (currently more than 2 doesn't make sense)
137 from the default of one.
140 Decrease the output verbosity. Each usage of this option will
141 decrease the verbosity (less than zero doesn't make sense) from the
145 Just show the program version and exit.
150 Some options accept not simply numerical values, but numerical values
151 together with a unit. By default, such unit-accepting options use
152 mebibytes. Using the lower-case letters of *m*, *g* and *t* (or their
153 longer equivalents of *mib*, *gib*, *tib*, for which case doesn't
154 matter) explicit binary units can be selected. Units in the SI system
155 can be selected using the upper-case letters of *M*, *G* and *T* (or
156 their longer equivalents of *MB*, *GB*, *TB*, for which case doesn't
159 More details about the difference between the SI and binary systems can
160 be read in the *units(7)* man page.
165 The environment variable ``HTOOLS`` can be used instead of
166 renaming/symlinking the programs; simply set it to the desired role and
167 then the name of the program is no longer used.
169 .. vim: set textwidth=72 :