Revision f624fa95
b/man/ganeti-masterd.rst | ||
---|---|---|
9 | 9 |
Synopsis |
10 | 10 |
-------- |
11 | 11 |
|
12 |
**ganeti-masterd** [-f] [-d] [--no-voting] |
|
12 |
**ganeti-masterd** [-f] [-d] [\--no-voting]
|
|
13 | 13 |
|
14 | 14 |
DESCRIPTION |
15 | 15 |
----------- |
b/man/ganeti.rst | ||
---|---|---|
225 | 225 |
availability for a certain command can be checked by calling the |
226 | 226 |
command using the ``--help`` option. |
227 | 227 |
|
228 |
**gnt-...** *command* [--dry-run] [--priority {low | normal | high}]
|
|
228 |
**gnt-...** *command* [\--dry-run] [\--priority {low | normal | high}]
|
|
229 | 229 |
|
230 | 230 |
The ``--dry-run`` option can be used to check whether an operation |
231 | 231 |
would succeed. |
b/man/gnt-backup.rst | ||
---|---|---|
24 | 24 |
EXPORT |
25 | 25 |
~~~~~~ |
26 | 26 |
|
27 |
**export** {-n *node*} [--shutdown-timeout=*N*] [--noshutdown]
|
|
28 |
[--remove-instance] [--ignore-remove-failures] {*instance*}
|
|
27 |
**export** {-n *node*} [\--shutdown-timeout=*N*] [\--noshutdown]
|
|
28 |
[\--remove-instance] [\--ignore-remove-failures] {*instance*}
|
|
29 | 29 |
|
30 | 30 |
Exports an instance to the target node. All the instance data and |
31 | 31 |
its configuration will be exported under the |
... | ... | |
62 | 62 |
~~~~~~ |
63 | 63 |
|
64 | 64 |
| **import** |
65 |
| {-n *node[:secondary-node]* | --iallocator *name*} |
|
66 |
| [--disk *N*:size=*VAL* [,vg=*VG*], [,mode=*ro|rw*]...] |
|
67 |
| [--net *N* [:options...] | --no-nics]
|
|
65 |
| {-n *node[:secondary-node]* | \--iallocator *name*}
|
|
66 |
| [\--disk *N*:size=*VAL* [,vg=*VG*], [,mode=*ro|rw*]...]
|
|
67 |
| [\--net *N* [:options...] | \--no-nics]
|
|
68 | 68 |
| [-B *BEPARAMS*] |
69 | 69 |
| [-H *HYPERVISOR* [: option=*value*... ]] |
70 |
| [--src-node=*source-node*] [--src-dir=*source-dir*]
|
|
70 |
| [\--src-node=*source-node*] [\--src-dir=*source-dir*]
|
|
71 | 71 |
| [-t [diskless | plain | drbd | file]] |
72 |
| [--identify-defaults] |
|
73 |
| [--ignore-ipolicy] |
|
72 |
| [\--identify-defaults]
|
|
73 |
| [\--ignore-ipolicy]
|
|
74 | 74 |
| {*instance*} |
75 | 75 |
|
76 | 76 |
Imports a new instance from an export residing on *source-node* in |
... | ... | |
130 | 130 |
default at cluster level. |
131 | 131 |
|
132 | 132 |
If no network is desired for the instance, you should create a single |
133 |
empty NIC and delete it afterwards via **gnt-instance modify --net |
|
133 |
empty NIC and delete it afterwards via **gnt-instance modify \--net
|
|
134 | 134 |
delete**. |
135 | 135 |
|
136 | 136 |
The ``-B`` option specifies the backend parameters for the |
... | ... | |
220 | 220 |
LIST |
221 | 221 |
~~~~ |
222 | 222 |
|
223 |
**list** [--node=*NODE*] |
|
223 |
**list** [\--node=*NODE*]
|
|
224 | 224 |
|
225 | 225 |
Lists the exports currently available in the default directory in |
226 | 226 |
all the nodes of the current cluster, or optionally only a subset |
b/man/gnt-debug.rst | ||
---|---|---|
22 | 22 |
IALLOCATOR |
23 | 23 |
~~~~~~~~~~ |
24 | 24 |
|
25 |
**iallocator** [--debug] [--dir *DIRECTION*] {--algorithm
|
|
26 |
*ALLOCATOR* } [--mode *MODE*] [--mem *MEMORY*] [--disks *DISKS*]
|
|
27 |
[--disk-template *TEMPLATE*] [--nics *NICS*] [--os-type *OS*]
|
|
28 |
[--vcpus *VCPUS*] [--tags *TAGS*] {*instance*}
|
|
25 |
**iallocator** [\--debug] [\--dir *DIRECTION*] {\--algorithm
|
|
26 |
*ALLOCATOR* } [\--mode *MODE*] [\--mem *MEMORY*] [\--disks *DISKS*]
|
|
27 |
[\--disk-template *TEMPLATE*] [\--nics *NICS*] [\--os-type *OS*]
|
|
28 |
[\--vcpus *VCPUS*] [\--tags *TAGS*] {*instance*}
|
|
29 | 29 |
|
30 | 30 |
Executes a test run of the *iallocator* framework. |
31 | 31 |
|
... | ... | |
46 | 46 |
DELAY |
47 | 47 |
~~~~~ |
48 | 48 |
|
49 |
**delay** [--debug] [--no-master] [-n *NODE*...] {*duration*}
|
|
49 |
**delay** [\--debug] [\--no-master] [-n *NODE*...] {*duration*}
|
|
50 | 50 |
|
51 | 51 |
Run a test opcode (a sleep) on the master and on selected nodes |
52 | 52 |
(via an RPC call). This serves no other purpose but to execute a |
... | ... | |
62 | 62 |
SUBMIT-JOB |
63 | 63 |
~~~~~~~~~~ |
64 | 64 |
|
65 |
**submit-job** [--verbose] [--timing-stats] [--job-repeat ``N``]
|
|
66 |
[--op-repeat ``N``] [--each] {opcodes_file...}
|
|
65 |
**submit-job** [\--verbose] [\--timing-stats] [\--job-repeat *N*]
|
|
66 |
[\--op-repeat *N*] [\--each] {opcodes_file...}
|
|
67 | 67 |
|
68 | 68 |
This command builds a list of opcodes from files in JSON format and |
69 | 69 |
submits a job per file to the master daemon. It can be used to test |
... | ... | |
96 | 96 |
LOCKS |
97 | 97 |
~~~~~ |
98 | 98 |
|
99 |
| **locks** [--no-headers] [--separator=*SEPARATOR*] [-v]
|
|
100 |
| [-o *[+]FIELD,...*] [--interval=*SECONDS*] |
|
99 |
| **locks** [\--no-headers] [\--separator=*SEPARATOR*] [-v]
|
|
100 |
| [-o *[+]FIELD,...*] [\--interval=*SECONDS*]
|
|
101 | 101 |
|
102 | 102 |
Shows a list of locks in the master daemon. |
103 | 103 |
|
b/man/gnt-job.rst | ||
---|---|---|
59 | 59 |
LIST |
60 | 60 |
~~~~ |
61 | 61 |
|
62 |
**list** [--no-headers] [--separator=*SEPARATOR*]
|
|
62 |
**list** [\--no-headers] [\--separator=*SEPARATOR*]
|
|
63 | 63 |
[-o *[+]FIELD,...*] |
64 | 64 |
|
65 | 65 |
Lists the jobs and their status. By default, the job id, job |
b/man/gnt-node.rst | ||
---|---|---|
23 | 23 |
ADD |
24 | 24 |
~~~ |
25 | 25 |
|
26 |
| **add** [--readd] [{-s|--secondary-ip} *secondary\_ip*]
|
|
27 |
| [{-g|--node-group} *nodegroup*] |
|
28 |
| [--master-capable=``yes|no``] [--vm-capable=``yes|no``]
|
|
29 |
| [--node-parameters *ndparams*] |
|
30 |
| [--disk-state *diskstate*] |
|
31 |
| [--hypervisor-state *hvstate*] |
|
26 |
| **add** [\--readd] [{-s|\--secondary-ip} *secondary\_ip*]
|
|
27 |
| [{-g|\--node-group} *nodegroup*]
|
|
28 |
| [\--master-capable=``yes|no``] [\--vm-capable=``yes|no``]
|
|
29 |
| [\--node-parameters *ndparams*]
|
|
30 |
| [\--disk-state *diskstate*]
|
|
31 |
| [\--hypervisor-state *hvstate*]
|
|
32 | 32 |
| {*nodename*} |
33 | 33 |
|
34 | 34 |
Adds the given node to the cluster. |
... | ... | |
81 | 81 |
ADD-TAGS |
82 | 82 |
~~~~~~~~ |
83 | 83 |
|
84 |
**add-tags** [--from *file*] {*nodename*} {*tag*...} |
|
84 |
**add-tags** [\--from *file*] {*nodename*} {*tag*...}
|
|
85 | 85 |
|
86 | 86 |
Add tags to the given node. If any of the tags contains invalid |
87 | 87 |
characters, the entire operation will abort. |
... | ... | |
95 | 95 |
EVACUATE |
96 | 96 |
~~~~~~~~ |
97 | 97 |
|
98 |
**evacuate** [-f] [--early-release] [--iallocator *NAME* \|
|
|
99 |
--new-secondary *destination\_node*] |
|
100 |
[--primary-only \| --secondary-only] [--early-release] {*node*}
|
|
98 |
**evacuate** [-f] [\--early-release] [\--iallocator *NAME* \|
|
|
99 |
\--new-secondary *destination\_node*]
|
|
100 |
[\--primary-only \| \--secondary-only] [\--early-release] {*node*}
|
|
101 | 101 |
|
102 | 102 |
This command will move instances away from the given node. If |
103 | 103 |
``--primary-only`` is given, only primary instances are evacuated, with |
... | ... | |
140 | 140 |
FAILOVER |
141 | 141 |
~~~~~~~~ |
142 | 142 |
|
143 |
**failover** [-f] [--ignore-consistency] {*node*} |
|
143 |
**failover** [-f] [\--ignore-consistency] {*node*}
|
|
144 | 144 |
|
145 | 145 |
This command will fail over all instances having the given node as |
146 | 146 |
primary to their secondary nodes. This works only for instances having |
... | ... | |
169 | 169 |
~~~~ |
170 | 170 |
|
171 | 171 |
| **list** |
172 |
| [--no-headers] [--separator=*SEPARATOR*]
|
|
173 |
| [--units=*UNITS*] [-v] [{-o|--output} *[+]FIELD,...*]
|
|
174 |
| [--filter] |
|
172 |
| [\--no-headers] [\--separator=*SEPARATOR*]
|
|
173 |
| [\--units=*UNITS*] [-v] [{-o|\--output} *[+]FIELD,...*]
|
|
174 |
| [\--filter]
|
|
175 | 175 |
| [node...] |
176 | 176 |
|
177 | 177 |
Lists the nodes in the cluster. |
... | ... | |
244 | 244 |
MIGRATE |
245 | 245 |
~~~~~~~ |
246 | 246 |
|
247 |
**migrate** [-f] [--non-live] [--migration-mode=live\|non-live]
|
|
248 |
[--ignore-ipolicy] {*node*} |
|
247 |
**migrate** [-f] [\--non-live] [\--migration-mode=live\|non-live]
|
|
248 |
[\--ignore-ipolicy] {*node*}
|
|
249 | 249 |
|
250 | 250 |
This command will migrate all instances having the given node as |
251 | 251 |
primary to their secondary nodes. This works only for instances |
... | ... | |
266 | 266 |
MODIFY |
267 | 267 |
~~~~~~ |
268 | 268 |
|
269 |
| **modify** [-f] [--submit] |
|
270 |
| [{-C|--master-candidate} ``yes|no``] |
|
271 |
| [{-D|--drained} ``yes|no``] [{-O|--offline} ``yes|no``]
|
|
272 |
| [--master-capable=``yes|no``] [--vm-capable=``yes|no``] [--auto-promote]
|
|
273 |
| [{-s|--secondary-ip} *secondary_ip*] |
|
274 |
| [--node-parameters *ndparams*] |
|
275 |
| [--node-powered=``yes|no``] |
|
276 |
| [--hypervisor-state *hvstate*] |
|
277 |
| [--disk-state *diskstate*] |
|
269 |
| **modify** [-f] [\--submit]
|
|
270 |
| [{-C|\--master-candidate} ``yes|no``]
|
|
271 |
| [{-D|\--drained} ``yes|no``] [{-O|\--offline} ``yes|no``]
|
|
272 |
| [\--master-capable=``yes|no``] [\--vm-capable=``yes|no``] [\--auto-promote]
|
|
273 |
| [{-s|\--secondary-ip} *secondary_ip*]
|
|
274 |
| [\--node-parameters *ndparams*]
|
|
275 |
| [\--node-powered=``yes|no``]
|
|
276 |
| [\--hypervisor-state *hvstate*]
|
|
277 |
| [\--disk-state *diskstate*]
|
|
278 | 278 |
| {*node*} |
279 | 279 |
|
280 | 280 |
This command changes the role of the node. Each options takes |
... | ... | |
324 | 324 |
REMOVE-TAGS |
325 | 325 |
~~~~~~~~~~~ |
326 | 326 |
|
327 |
**remove-tags** [--from *file*] {*nodename*} {*tag*...} |
|
327 |
**remove-tags** [\--from *file*] {*nodename*} {*tag*...}
|
|
328 | 328 |
|
329 | 329 |
Remove tags from the given node. If any of the tags are not |
330 | 330 |
existing on the node, the entire operation will abort. |
... | ... | |
338 | 338 |
VOLUMES |
339 | 339 |
~~~~~~~ |
340 | 340 |
|
341 |
| **volumes** [--no-headers] [--human-readable]
|
|
342 |
| [--separator=*SEPARATOR*] [{-o|--output} *FIELDS*]
|
|
341 |
| **volumes** [\--no-headers] [\--human-readable]
|
|
342 |
| [\--separator=*SEPARATOR*] [{-o|\--output} *FIELDS*]
|
|
343 | 343 |
| [*node*...] |
344 | 344 |
|
345 | 345 |
Lists all logical volumes and their physical disks from the node(s) |
... | ... | |
391 | 391 |
LIST-STORAGE |
392 | 392 |
~~~~~~~~~~~~ |
393 | 393 |
|
394 |
| **list-storage** [--no-headers] [--human-readable]
|
|
395 |
| [--separator=*SEPARATOR*] [--storage-type=*STORAGE\_TYPE*]
|
|
396 |
| [{-o|--output} *FIELDS*] |
|
394 |
| **list-storage** [\--no-headers] [\--human-readable]
|
|
395 |
| [\--separator=*SEPARATOR*] [\--storage-type=*STORAGE\_TYPE*]
|
|
396 |
| [{-o|\--output} *FIELDS*]
|
|
397 | 397 |
| [*node*...] |
398 | 398 |
|
399 | 399 |
Lists the available storage units and their details for the given |
... | ... | |
476 | 476 |
REPAIR-STORAGE |
477 | 477 |
~~~~~~~~~~~~~~ |
478 | 478 |
|
479 |
**repair-storage** [--ignore-consistency] {*node*} {*storage-type*} |
|
479 |
**repair-storage** [\--ignore-consistency] {*node*} {*storage-type*}
|
|
480 | 480 |
{*volume-name*} |
481 | 481 |
|
482 | 482 |
Repairs a storage volume on a node. Only LVM volume groups can be |
483 | 483 |
repaired at this time. They have the storage type "lvm-vg". |
484 | 484 |
|
485 |
On LVM volume groups, **repair-storage** runs "vgreduce
|
|
486 |
--removemissing".
|
|
485 |
On LVM volume groups, **repair-storage** runs ``vgreduce
|
|
486 |
--removemissing``.
|
|
487 | 487 |
|
488 | 488 |
|
489 | 489 |
|
b/man/gnt-os.rst | ||
---|---|---|
45 | 45 |
documentations, etc. |
46 | 46 |
|
47 | 47 |
| **modify** [-H *HYPERVISOR*:option=*value*[,...]] |
48 |
| [--hidden=*yes|no*] [--blacklisted=*yes|no*]
|
|
48 |
| [\--hidden=*yes|no*] [\--blacklisted=*yes|no*]
|
|
49 | 49 |
| {*OS*} |
50 | 50 |
|
51 | 51 |
This command will allow you to modify OS parameters. |
b/man/hail.rst | ||
---|---|---|
9 | 9 |
SYNOPSIS |
10 | 10 |
-------- |
11 | 11 |
|
12 |
**hail** [ **-t** *file* | **--simulate** *spec* ] [options...] *input-file* |
|
12 |
**hail** [ **-t** *file* | **\--simulate** *spec* ] [options...] *input-file*
|
|
13 | 13 |
|
14 |
**hail** --version |
|
14 |
**hail** \--version
|
|
15 | 15 |
|
16 | 16 |
DESCRIPTION |
17 | 17 |
----------- |
... | ... | |
62 | 62 |
|
63 | 63 |
The options that can be passed to the program are as follows: |
64 | 64 |
|
65 |
-p, --print-nodes |
|
65 |
-p, \--print-nodes
|
|
66 | 66 |
Prints the before and after node status, in a format designed to allow |
67 | 67 |
the user to understand the node's most important parameters. See the |
68 | 68 |
man page **htools**(1) for more details about this option. |
69 | 69 |
|
70 |
-t *datafile*, --text-data=*datafile* |
|
70 |
-t *datafile*, \--text-data=*datafile*
|
|
71 | 71 |
The name of the file holding cluster information, to override the data |
72 | 72 |
in the JSON request itself. This is mostly used for debugging. The |
73 | 73 |
format of the file is described in the man page **htools**(1). |
74 | 74 |
|
75 |
--simulate *description* |
|
75 |
\--simulate *description*
|
|
76 | 76 |
Backend specification: similar to the **-t** option, this allows |
77 | 77 |
overriding the cluster data with a simulated cluster. For details |
78 | 78 |
about the description, see the man page **htools**(1). |
79 | 79 |
|
80 |
-S *filename*, --save-cluster=*filename* |
|
80 |
-S *filename*, \--save-cluster=*filename*
|
|
81 | 81 |
If given, the state of the cluster before and the iallocator run is |
82 | 82 |
saved to a file named *filename.pre-ialloc*, respectively |
83 | 83 |
*filename.post-ialloc*. This allows re-feeding the cluster state to |
b/man/hbal.rst | ||
---|---|---|
11 | 11 |
|
12 | 12 |
**hbal** {backend options...} [algorithm options...] [reporting options...] |
13 | 13 |
|
14 |
**hbal** --version |
|
14 |
**hbal** \--version
|
|
15 | 15 |
|
16 | 16 |
|
17 | 17 |
Backend options: |
... | ... | |
20 | 20 |
|
21 | 21 |
Algorithm options: |
22 | 22 |
|
23 |
**[ --max-cpu *cpu-ratio* ]** |
|
24 |
**[ --min-disk *disk-ratio* ]** |
|
23 |
**[ \--max-cpu *cpu-ratio* ]**
|
|
24 |
**[ \--min-disk *disk-ratio* ]**
|
|
25 | 25 |
**[ -l *limit* ]** |
26 | 26 |
**[ -e *score* ]** |
27 |
**[ -g *delta* ]** **[ --min-gain-limit *threshold* ]** |
|
27 |
**[ -g *delta* ]** **[ \--min-gain-limit *threshold* ]**
|
|
28 | 28 |
**[ -O *name...* ]** |
29 |
**[ --no-disk-moves ]** |
|
30 |
**[ --no-instance-moves ]** |
|
29 |
**[ \--no-disk-moves ]**
|
|
30 |
**[ \--no-instance-moves ]**
|
|
31 | 31 |
**[ -U *util-file* ]** |
32 |
**[ --evac-mode ]** |
|
33 |
**[ --select-instances *inst...* ]** |
|
34 |
**[ --exclude-instances *inst...* ]** |
|
32 |
**[ \--evac-mode ]**
|
|
33 |
**[ \--select-instances *inst...* ]**
|
|
34 |
**[ \--exclude-instances *inst...* ]**
|
|
35 | 35 |
|
36 | 36 |
Reporting options: |
37 | 37 |
|
38 | 38 |
**[ -C[ *file* ] ]** |
39 | 39 |
**[ -p[ *fields* ] ]** |
40 |
**[ --print-instances ]** |
|
40 |
**[ \--print-instances ]**
|
|
41 | 41 |
**[ -o ]** |
42 | 42 |
**[ -v... | -q ]** |
43 | 43 |
|
... | ... | |
52 | 52 |
|
53 | 53 |
The algorithm used is designed to be stable (i.e. it will give you the |
54 | 54 |
same results when restarting it from the middle of the solution) and |
55 |
reasonably fast. It is not, however, designed to be a perfect |
|
56 |
algorithm--it is possible to make it go into a corner from which
|
|
57 |
it can find no improvement, because it looks only one "step" ahead.
|
|
55 |
reasonably fast. It is not, however, designed to be a perfect algorithm:
|
|
56 |
it is possible to make it go into a corner from which it can find no
|
|
57 |
improvement, because it looks only one "step" ahead. |
|
58 | 58 |
|
59 | 59 |
By default, the program will show the solution incrementally as it is |
60 | 60 |
computed, in a somewhat cryptic format; for getting the actual Ganeti |
... | ... | |
92 | 92 |
- an instance to move onto an offline node (offline nodes are either |
93 | 93 |
read from the cluster or declared with *-O*) |
94 | 94 |
- an exclusion-tag based conflict (exclusion tags are read from the |
95 |
cluster and/or defined via the *--exclusion-tags* option) |
|
96 |
- a max vcpu/pcpu ratio to be exceeded (configured via *--max-cpu*) |
|
95 |
cluster and/or defined via the *\--exclusion-tags* option)
|
|
96 |
- a max vcpu/pcpu ratio to be exceeded (configured via *\--max-cpu*)
|
|
97 | 97 |
- min disk free percentage to go below the configured limit |
98 |
(configured via *--min-disk*) |
|
98 |
(configured via *\--min-disk*)
|
|
99 | 99 |
|
100 | 100 |
CLUSTER SCORING |
101 | 101 |
~~~~~~~~~~~~~~~ |
... | ... | |
178 | 178 |
|
179 | 179 |
It works by tagging instances with certain tags and then building |
180 | 180 |
exclusion maps based on these. Which tags are actually used is |
181 |
configured either via the command line (option *--exclusion-tags*) |
|
181 |
configured either via the command line (option *\--exclusion-tags*)
|
|
182 | 182 |
or via adding them to the cluster tags: |
183 | 183 |
|
184 |
--exclusion-tags=a,b |
|
184 |
\--exclusion-tags=a,b
|
|
185 | 185 |
This will make all instance tags of the form *a:\**, *b:\** be |
186 | 186 |
considered for the exclusion map |
187 | 187 |
|
... | ... | |
198 | 198 |
|
199 | 199 |
The options that can be passed to the program are as follows: |
200 | 200 |
|
201 |
-C, --print-commands |
|
201 |
-C, \--print-commands
|
|
202 | 202 |
Print the command list at the end of the run. Without this, the |
203 | 203 |
program will only show a shorter, but cryptic output. |
204 | 204 |
|
... | ... | |
216 | 216 |
parallel (due to resource allocation in Ganeti) and thus we start a |
217 | 217 |
new jobset. |
218 | 218 |
|
219 |
-p, --print-nodes |
|
219 |
-p, \--print-nodes
|
|
220 | 220 |
Prints the before and after node status, in a format designed to allow |
221 | 221 |
the user to understand the node's most important parameters. See the |
222 | 222 |
man page **htools**(1) for more details about this option. |
223 | 223 |
|
224 |
--print-instances |
|
224 |
\--print-instances
|
|
225 | 225 |
Prints the before and after instance map. This is less useful as the |
226 | 226 |
node status, but it can help in understanding instance moves. |
227 | 227 |
|
... | ... | |
239 | 239 |
reported by RAPI as such, or that have "?" in file-based input in |
240 | 240 |
any numeric fields. |
241 | 241 |
|
242 |
-e *score*, --min-score=*score* |
|
242 |
-e *score*, \--min-score=*score*
|
|
243 | 243 |
This parameter denotes the minimum score we are happy with and alters |
244 | 244 |
the computation in two ways: |
245 | 245 |
|
... | ... | |
251 | 251 |
The default value of the parameter is currently ``1e-9`` (chosen |
252 | 252 |
empirically). |
253 | 253 |
|
254 |
-g *delta*, --min-gain=*delta* |
|
254 |
-g *delta*, \--min-gain=*delta*
|
|
255 | 255 |
Since the balancing algorithm can sometimes result in just very tiny |
256 | 256 |
improvements, that bring less gain that they cost in relocation |
257 | 257 |
time, this parameter (defaulting to 0.01) represents the minimum |
258 | 258 |
gain we require during a step, to continue balancing. |
259 | 259 |
|
260 |
--min-gain-limit=*threshold* |
|
260 |
\--min-gain-limit=*threshold*
|
|
261 | 261 |
The above min-gain option will only take effect if the cluster score |
262 | 262 |
is already below *threshold* (defaults to 0.1). The rationale behind |
263 | 263 |
this setting is that at high cluster scores (badly balanced |
... | ... | |
266 | 266 |
threshold, the total gain is only the threshold value, so we can |
267 | 267 |
exit early. |
268 | 268 |
|
269 |
--no-disk-moves |
|
269 |
\--no-disk-moves
|
|
270 | 270 |
This parameter prevents hbal from using disk move |
271 | 271 |
(i.e. "gnt-instance replace-disks") operations. This will result in |
272 | 272 |
a much quicker balancing, but of course the improvements are |
273 | 273 |
limited. It is up to the user to decide when to use one or another. |
274 | 274 |
|
275 |
--no-instance-moves |
|
275 |
\--no-instance-moves
|
|
276 | 276 |
This parameter prevents hbal from using instance moves |
277 | 277 |
(i.e. "gnt-instance migrate/failover") operations. This will only use |
278 | 278 |
the slow disk-replacement operations, and will also provide a worse |
279 | 279 |
balance, but can be useful if moving instances around is deemed unsafe |
280 | 280 |
or not preferred. |
281 | 281 |
|
282 |
--evac-mode |
|
282 |
\--evac-mode
|
|
283 | 283 |
This parameter restricts the list of instances considered for moving |
284 | 284 |
to the ones living on offline/drained nodes. It can be used as a |
285 | 285 |
(bulk) replacement for Ganeti's own *gnt-node evacuate*, with the |
286 | 286 |
note that it doesn't guarantee full evacuation. |
287 | 287 |
|
288 |
--select-instances=*instances* |
|
288 |
\--select-instances=*instances*
|
|
289 | 289 |
This parameter marks the given instances (as a comma-separated list) |
290 | 290 |
as the only ones being moved during the rebalance. |
291 | 291 |
|
292 |
--exclude-instances=*instances* |
|
292 |
\--exclude-instances=*instances*
|
|
293 | 293 |
This parameter marks the given instances (as a comma-separated list) |
294 | 294 |
from being moved during the rebalance. |
295 | 295 |
|
... | ... | |
313 | 313 |
metrics and thus the influence of the dynamic utilisation will be |
314 | 314 |
practically insignificant. |
315 | 315 |
|
316 |
-S *filename*, --save-cluster=*filename* |
|
316 |
-S *filename*, \--save-cluster=*filename*
|
|
317 | 317 |
If given, the state of the cluster before the balancing is saved to |
318 | 318 |
the given file plus the extension "original" |
319 | 319 |
(i.e. *filename*.original), and the state at the end of the |
... | ... | |
321 | 321 |
(i.e. *filename*.balanced). This allows re-feeding the cluster state |
322 | 322 |
to either hbal itself or for example hspace via the ``-t`` option. |
323 | 323 |
|
324 |
-t *datafile*, --text-data=*datafile* |
|
324 |
-t *datafile*, \--text-data=*datafile*
|
|
325 | 325 |
Backend specification: the name of the file holding node and instance |
326 | 326 |
information (if not collecting via RAPI or LUXI). This or one of the |
327 | 327 |
other backends must be selected. The option is described in the man |
... | ... | |
350 | 350 |
The execution of the job series can be interrupted, see below for |
351 | 351 |
signal handling. |
352 | 352 |
|
353 |
-l *N*, --max-length=*N* |
|
353 |
-l *N*, \--max-length=*N*
|
|
354 | 354 |
Restrict the solution to this length. This can be used for example |
355 | 355 |
to automate the execution of the balancing. |
356 | 356 |
|
357 |
--max-cpu=*cpu-ratio* |
|
357 |
\--max-cpu=*cpu-ratio*
|
|
358 | 358 |
The maximum virtual to physical cpu ratio, as a floating point number |
359 | 359 |
greater than or equal to one. For example, specifying *cpu-ratio* as |
360 | 360 |
**2.5** means that, for a 4-cpu machine, a maximum of 10 virtual cpus |
... | ... | |
364 | 364 |
make sense, as that means other resources (e.g. disk) won't be fully |
365 | 365 |
utilised due to CPU restrictions. |
366 | 366 |
|
367 |
--min-disk=*disk-ratio* |
|
367 |
\--min-disk=*disk-ratio*
|
|
368 | 368 |
The minimum amount of free disk space remaining, as a floating point |
369 | 369 |
number. For example, specifying *disk-ratio* as **0.25** means that |
370 | 370 |
at least one quarter of disk space should be left free on nodes. |
371 | 371 |
|
372 |
-G *uuid*, --group=*uuid* |
|
372 |
-G *uuid*, \--group=*uuid*
|
|
373 | 373 |
On an multi-group cluster, select this group for |
374 | 374 |
processing. Otherwise hbal will abort, since it cannot balance |
375 | 375 |
multiple groups at the same time. |
376 | 376 |
|
377 |
-v, --verbose |
|
377 |
-v, \--verbose
|
|
378 | 378 |
Increase the output verbosity. Each usage of this option will |
379 | 379 |
increase the verbosity (currently more than 2 doesn't make sense) |
380 | 380 |
from the default of one. |
381 | 381 |
|
382 |
-q, --quiet |
|
382 |
-q, \--quiet
|
|
383 | 383 |
Decrease the output verbosity. Each usage of this option will |
384 | 384 |
decrease the verbosity (less than zero doesn't make sense) from the |
385 | 385 |
default of one. |
386 | 386 |
|
387 |
-V, --version |
|
387 |
-V, \--version
|
|
388 | 388 |
Just show the program version and exit. |
389 | 389 |
|
390 | 390 |
SIGNAL HANDLING |
b/man/hspace.rst | ||
---|---|---|
12 | 12 |
**hspace** {backend options...} [algorithm options...] [request options...] |
13 | 13 |
[output options...] [-v... | -q] |
14 | 14 |
|
15 |
**hspace** --version |
|
15 |
**hspace** \--version
|
|
16 | 16 |
|
17 | 17 |
Backend options: |
18 | 18 |
|
19 | 19 |
{ **-m** *cluster* | **-L[** *path* **] [-X]** | **-t** *data-file* | |
20 |
**--simulate** *spec* } |
|
20 |
**\--simulate** *spec* }
|
|
21 | 21 |
|
22 | 22 |
|
23 | 23 |
Algorithm options: |
24 | 24 |
|
25 |
**[ --max-cpu *cpu-ratio* ]** |
|
26 |
**[ --min-disk *disk-ratio* ]** |
|
25 |
**[ \--max-cpu *cpu-ratio* ]**
|
|
26 |
**[ \--min-disk *disk-ratio* ]**
|
|
27 | 27 |
**[ -O *name...* ]** |
28 | 28 |
|
29 | 29 |
|
30 | 30 |
Request options: |
31 | 31 |
|
32 |
**[--disk-template** *template* **]** |
|
32 |
**[\--disk-template** *template* **]**
|
|
33 | 33 |
|
34 |
**[--standard-alloc** *disk,ram,cpu* **]** |
|
34 |
**[\--standard-alloc** *disk,ram,cpu* **]**
|
|
35 | 35 |
|
36 |
**[--tiered-alloc** *disk,ram,cpu* **]** |
|
36 |
**[\--tiered-alloc** *disk,ram,cpu* **]**
|
|
37 | 37 |
|
38 | 38 |
Output options: |
39 | 39 |
|
40 |
**[--machine-readable**[=*CHOICE*] **]** |
|
40 |
**[\--machine-readable**[=*CHOICE*] **]**
|
|
41 | 41 |
**[-p**[*fields*]**]** |
42 | 42 |
|
43 | 43 |
|
... | ... | |
105 | 105 |
RAM). |
106 | 106 |
|
107 | 107 |
INI_MEM_OVERHEAD, FIN_MEM_OVERHEAD |
108 |
The initial and final memory overhead--memory used for the node
|
|
108 |
The initial and final memory overhead, i.e. memory used for the node
|
|
109 | 109 |
itself and unacounted memory (e.g. due to hypervisor overhead). |
110 | 110 |
|
111 | 111 |
INI_MEM_EFF, HTS_INI_MEM_EFF |
... | ... | |
162 | 162 |
example, the cluster might still have 100GiB disk free, but with no |
163 | 163 |
memory left for instances, we cannot allocate another instance, so |
164 | 164 |
in effect the disk space is unallocable. Note that the CPUs here |
165 |
represent instance virtual CPUs, and in case the *--max-cpu* option |
|
165 |
represent instance virtual CPUs, and in case the *\--max-cpu* option
|
|
166 | 166 |
hasn't been specified this will be -1. |
167 | 167 |
|
168 | 168 |
ALLOC_USAGE |
... | ... | |
202 | 202 |
|
203 | 203 |
The options that can be passed to the program are as follows: |
204 | 204 |
|
205 |
--disk-template *template* |
|
205 |
\--disk-template *template*
|
|
206 | 206 |
Overrides the disk template for the instance read from the cluster; |
207 | 207 |
one of the Ganeti disk templates (e.g. plain, drbd, so on) should be |
208 | 208 |
passed in. |
209 | 209 |
|
210 |
--max-cpu=*cpu-ratio* |
|
210 |
\--max-cpu=*cpu-ratio*
|
|
211 | 211 |
The maximum virtual to physical cpu ratio, as a floating point number |
212 | 212 |
greater than or equal to one. For example, specifying *cpu-ratio* as |
213 | 213 |
**2.5** means that, for a 4-cpu machine, a maximum of 10 virtual cpus |
... | ... | |
217 | 217 |
make sense, as that means other resources (e.g. disk) won't be fully |
218 | 218 |
utilised due to CPU restrictions. |
219 | 219 |
|
220 |
--min-disk=*disk-ratio* |
|
220 |
\--min-disk=*disk-ratio*
|
|
221 | 221 |
The minimum amount of free disk space remaining, as a floating point |
222 | 222 |
number. For example, specifying *disk-ratio* as **0.25** means that |
223 | 223 |
at least one quarter of disk space should be left free on nodes. |
224 | 224 |
|
225 |
-l *rounds*, --max-length=*rounds* |
|
225 |
-l *rounds*, \--max-length=*rounds*
|
|
226 | 226 |
Restrict the number of instance allocations to this length. This is |
227 | 227 |
not very useful in practice, but can be used for testing hspace |
228 | 228 |
itself, or to limit the runtime for very big clusters. |
229 | 229 |
|
230 |
-p, --print-nodes |
|
230 |
-p, \--print-nodes
|
|
231 | 231 |
Prints the before and after node status, in a format designed to allow |
232 | 232 |
the user to understand the node's most important parameters. See the |
233 | 233 |
man page **htools**(1) for more details about this option. |
... | ... | |
246 | 246 |
are reported by RAPI as such, or that have "?" in file-based input |
247 | 247 |
in any numeric fields. |
248 | 248 |
|
249 |
-S *filename*, --save-cluster=*filename* |
|
249 |
-S *filename*, \--save-cluster=*filename*
|
|
250 | 250 |
If given, the state of the cluster at the end of the allocation is |
251 | 251 |
saved to a file named *filename.alloc*, and if tiered allocation is |
252 | 252 |
enabled, the state after tiered allocation will be saved to |
... | ... | |
254 | 254 |
either hspace itself (with different parameters) or for example |
255 | 255 |
hbal, via the ``-t`` option. |
256 | 256 |
|
257 |
-t *datafile*, --text-data=*datafile* |
|
257 |
-t *datafile*, \--text-data=*datafile*
|
|
258 | 258 |
Backend specification: the name of the file holding node and instance |
259 | 259 |
information (if not collecting via RAPI or LUXI). This or one of the |
260 | 260 |
other backends must be selected. The option is described in the man |
... | ... | |
270 | 270 |
which is to be contacted via LUXI (an internal Ganeti protocol). The |
271 | 271 |
option is described in the man page **htools**(1). |
272 | 272 |
|
273 |
--simulate *description* |
|
273 |
\--simulate *description*
|
|
274 | 274 |
Backend specification: similar to the **-t** option, this allows |
275 | 275 |
overriding the cluster data with a simulated cluster. For details |
276 | 276 |
about the description, see the man page **htools**(1). |
277 | 277 |
|
278 |
--standard-alloc *disk,ram,cpu* |
|
278 |
\--standard-alloc *disk,ram,cpu*
|
|
279 | 279 |
This option overrides the instance size read from the cluster for the |
280 | 280 |
*standard* allocation mode, where we simply allocate instances of the |
281 | 281 |
same, fixed size until the cluster runs out of space. |
282 | 282 |
|
283 |
The specification given is similar to the *--simulate* option and it |
|
283 |
The specification given is similar to the *\--simulate* option and it
|
|
284 | 284 |
holds: |
285 | 285 |
|
286 | 286 |
- the disk size of the instance (units can be used) |
... | ... | |
290 | 290 |
An example description would be *100G,4g,2* describing an instance |
291 | 291 |
specification of 100GB of disk space, 4GiB of memory and 2 VCPUs. |
292 | 292 |
|
293 |
--tiered-alloc *disk,ram,cpu* |
|
293 |
\--tiered-alloc *disk,ram,cpu*
|
|
294 | 294 |
This option overrides the instance size for the *tiered* allocation |
295 | 295 |
mode. In this mode, the algorithm starts from the given specification |
296 | 296 |
and allocates until there is no more space; then it decreases the |
... | ... | |
303 | 303 |
the instance count for these two modes are not related one to |
304 | 304 |
another. |
305 | 305 |
|
306 |
--machine-readable[=*choice*] |
|
306 |
\--machine-readable[=*choice*]
|
|
307 | 307 |
By default, the output of the program is in "human-readable" format, |
308 | 308 |
i.e. text descriptions. By passing this flag you can either enable |
309 | 309 |
(``--machine-readable`` or ``--machine-readable=yes``) or explicitly |
310 | 310 |
disable (``--machine-readable=no``) the machine readable format |
311 | 311 |
described above. |
312 | 312 |
|
313 |
-v, --verbose |
|
313 |
-v, \--verbose
|
|
314 | 314 |
Increase the output verbosity. Each usage of this option will |
315 | 315 |
increase the verbosity (currently more than 2 doesn't make sense) |
316 | 316 |
from the default of one. |
317 | 317 |
|
318 |
-q, --quiet |
|
318 |
-q, \--quiet
|
|
319 | 319 |
Decrease the output verbosity. Each usage of this option will |
320 | 320 |
decrease the verbosity (less than zero doesn't make sense) from the |
321 | 321 |
default of one. |
322 | 322 |
|
323 |
-V, --version |
|
323 |
-V, \--version
|
|
324 | 324 |
Just show the program version and exit. |
325 | 325 |
|
326 | 326 |
UNITS |
b/man/htools.rst | ||
---|---|---|
51 | 51 |
Options behave the same in all program modes, but not all program modes |
52 | 52 |
support all options. Some common options are: |
53 | 53 |
|
54 |
-p, --print-nodes |
|
54 |
-p, \--print-nodes
|
|
55 | 55 |
Prints the node status, in a format designed to allow the user to |
56 | 56 |
understand the node's most important parameters. If the command in |
57 | 57 |
question makes a cluster transition (e.g. balancing or allocation), |
... | ... | |
131 | 131 |
lNet |
132 | 132 |
the dynamic net load (if the information is available) |
133 | 133 |
|
134 |
-t *datafile*, --text-data=*datafile* |
|
134 |
-t *datafile*, \--text-data=*datafile*
|
|
135 | 135 |
Backend specification: the name of the file holding node and instance |
136 | 136 |
information (if not collecting via RAPI or LUXI). This or one of the |
137 | 137 |
other backends must be selected. The option is described in the man |
... | ... | |
187 | 187 |
on which the master daemon listens; otherwise, the default path used |
188 | 188 |
by Ganeti (configured at build time) is used. |
189 | 189 |
|
190 |
--simulate *description* |
|
190 |
\--simulate *description*
|
|
191 | 191 |
Backend specification: instead of using actual data, build an empty |
192 | 192 |
cluster given a node description. The *description* parameter must be |
193 | 193 |
a comma-separated list of five elements, describing in order: |
... | ... | |
208 | 208 |
new node group. Hence different node groups can have different |
209 | 209 |
allocation policies and node count/specifications. |
210 | 210 |
|
211 |
-v, --verbose |
|
211 |
-v, \--verbose
|
|
212 | 212 |
Increase the output verbosity. Each usage of this option will |
213 | 213 |
increase the verbosity (currently more than 2 doesn't make sense) |
214 | 214 |
from the default of one. |
215 | 215 |
|
216 |
-q, --quiet |
|
216 |
-q, \--quiet
|
|
217 | 217 |
Decrease the output verbosity. Each usage of this option will |
218 | 218 |
decrease the verbosity (less than zero doesn't make sense) from the |
219 | 219 |
default of one. |
220 | 220 |
|
221 |
-V, --version |
|
221 |
-V, \--version
|
|
222 | 222 |
Just show the program version and exit. |
223 | 223 |
|
224 | 224 |
UNITS |
Also available in: Unified diff