Revision d1f5d461 hbal.1
b/hbal.1 | ||
---|---|---|
28 | 28 |
.BI "[ -e " score " ]" |
29 | 29 |
.BI "[ -O " name... " ]" |
30 | 30 |
.B "[ --no-disk-moves ]" |
31 |
.BI "[ -U " util-file " ]" |
|
31 | 32 |
|
32 | 33 |
.TP |
33 | 34 |
Reporting options: |
... | ... | |
113 | 114 |
\(em |
114 | 115 |
coefficent of variance of the ratio of virtual-to-physical cpus (for |
115 | 116 |
primary instaces of the node) |
117 |
.TP |
|
118 |
\(em |
|
119 |
coefficients of variance of the dynamic load on the nodes, for cpus, |
|
120 |
memory, disk and network |
|
116 | 121 |
.RE |
117 | 122 |
|
118 | 123 |
The free memory and free disk values help ensure that all nodes are |
... | ... | |
142 | 147 |
on placement given by offline nodes, will cause evacuation of such |
143 | 148 |
nodes. |
144 | 149 |
|
150 |
The dynamic load values need to be read from an external file (Ganeti |
|
151 |
doesn't supply them), and are computed for each node as: sum of |
|
152 |
primary instance cpu load, sum of primary instance memory load, sum of |
|
153 |
primary and secondary instance disk load (as DRBD generates write load |
|
154 |
on secondary nodes too in normal case and in degraded scenarios also |
|
155 |
read load), and sum of primary instance network load. An example of |
|
156 |
how to generate these values for input to hbal would be to track "xm |
|
157 |
list" for instance over a day and by computing the delta of the cpu |
|
158 |
values, and feed that via the \fI-U\fR option for all instances (and |
|
159 |
keep the other metrics as zero). For the algorithm to work, all that |
|
160 |
is needed is that the values are consistent for a metric across all |
|
161 |
instances (e.g. all instances use cpu% to report cpu usage, but they |
|
162 |
could represent network bandwith in Gbps). |
|
163 |
|
|
145 | 164 |
On a perfectly balanced cluster (all nodes the same size, all |
146 | 165 |
instances the same size and spread across the nodes equally), all |
147 | 166 |
values would be zero. This doesn't happen too often in practice :) |
... | ... | |
337 | 356 |
|
338 | 357 |
.TP |
339 | 358 |
.BI "--no-disk-moves" |
340 |
This parameter prevent hbal from using disk move (i.e. "gnt-instance |
|
359 |
This parameter prevents hbal from using disk move (i.e. "gnt-instance
|
|
341 | 360 |
replace-disks") operations. This will result in a much quicker |
342 | 361 |
balancing, but of course the improvements are limited. It is up to the |
343 | 362 |
user to decide when to use one or another. |
344 | 363 |
|
345 | 364 |
.TP |
365 |
.BI "-U" util-file |
|
366 |
This parameter specifies a file holding instance dynamic utilisation |
|
367 |
information that will be used to tweak the balancing algorithm to |
|
368 |
equalise load on the nodes (as opposed to static resource usage). The |
|
369 |
file is in the format "instance_name cpu_util mem_util disk_util |
|
370 |
net_util" where the "_util" parameters are interpreted as numbers and |
|
371 |
the instance name must match exactly the instance as read from |
|
372 |
Ganeti. In case of unknown instance names, the program will abort. |
|
373 |
|
|
374 |
If not given, the default values are zero for all metrics and thus |
|
375 |
dynamic utilisation has no effect on the balancing algorithm. |
|
376 |
|
|
377 |
.TP |
|
346 | 378 |
.BI "-n" nodefile ", --nodes=" nodefile |
347 | 379 |
The name of the file holding node information (if not collecting via |
348 | 380 |
RAPI), instead of the default \fInodes\fR file (but see below how to |
Also available in: Unified diff