Statistics
| Branch: | Tag: | Revision:

root / man / gnt-cluster.rst @ d2d3935a

History | View | Annotate | Download (32.8 kB)

1
gnt-cluster(8) Ganeti | Version @GANETI_VERSION@
2
================================================
3

    
4
Name
5
----
6

    
7
gnt-cluster - Ganeti administration, cluster-wide
8

    
9
Synopsis
10
--------
11

    
12
**gnt-cluster** {command} [arguments...]
13

    
14
DESCRIPTION
15
-----------
16

    
17
The **gnt-cluster** is used for cluster-wide administration in the
18
Ganeti system.
19

    
20
COMMANDS
21
--------
22

    
23
ACTIVATE-MASTER-IP
24
~~~~~~~~~~~~~~~~~~
25

    
26
**activate-master-ip**
27

    
28
Activates the master IP on the master node.
29

    
30
COMMAND
31
~~~~~~~
32

    
33
**command** [-n *node*] [-g *group*] [-M] {*command*}
34

    
35
Executes a command on all nodes. This command is designed for simple
36
usage. For more complex use cases the commands **dsh**\(1) or **cssh**\(1)
37
should be used instead.
38

    
39
If the option ``-n`` is not given, the command will be executed on all
40
nodes, otherwise it will be executed only on the node(s) specified. Use
41
the option multiple times for running it on multiple nodes, like::
42

    
43
    # gnt-cluster command -n node1.example.com -n node2.example.com date
44

    
45
The ``-g`` option can be used to run a command only on a specific node
46
group, e.g.::
47

    
48
    # gnt-cluster command -g default date
49

    
50
The ``-M`` option can be used to prepend the node name to all output
51
lines. The ``--failure-only`` option hides successful commands, making
52
it easier to see failures.
53

    
54
The command is executed serially on the selected nodes. If the
55
master node is present in the list, the command will be executed
56
last on the master. Regarding the other nodes, the execution order
57
is somewhat alphabetic, so that node2.example.com will be earlier
58
than node10.example.com but after node1.example.com.
59

    
60
So given the node names node1, node2, node3, node10, node11, with
61
node3 being the master, the order will be: node1, node2, node10,
62
node11, node3.
63

    
64
The command is constructed by concatenating all other command line
65
arguments. For example, to list the contents of the /etc directory
66
on all nodes, run::
67

    
68
    # gnt-cluster command ls -l /etc
69

    
70
and the command which will be executed will be ``ls -l /etc``.
71

    
72
COPYFILE
73
~~~~~~~~
74

    
75
| **copyfile** [\--use-replication-network] [-n *node*] [-g *group*]
76
| {*file*}
77

    
78
Copies a file to all or to some nodes. The argument specifies the
79
source file (on the current system), the ``-n`` argument specifies
80
the target node, or nodes if the option is given multiple times. If
81
``-n`` is not given at all, the file will be copied to all nodes. The
82
``-g`` option can be used to only select nodes in a specific node group.
83
Passing the ``--use-replication-network`` option will cause the
84
copy to be done over the replication network (only matters if the
85
primary/secondary IPs are different). Example::
86

    
87
    # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test
88

    
89
This will copy the file /tmp/test from the current node to the two
90
named nodes.
91

    
92
DEACTIVATE-MASTER-IP
93
~~~~~~~~~~~~~~~~~~~~
94

    
95
**deactivate-master-ip** [\--yes]
96

    
97
Deactivates the master IP on the master node.
98

    
99
This should be run only locally or on a connection to the node ip
100
directly, as a connection to the master ip will be broken by this
101
operation. Because of this risk it will require user confirmation
102
unless the ``--yes`` option is passed.
103

    
104
DESTROY
105
~~~~~~~
106

    
107
**destroy** {\--yes-do-it}
108

    
109
Remove all configuration files related to the cluster, so that a
110
**gnt-cluster init** can be done again afterwards.
111

    
112
Since this is a dangerous command, you are required to pass the
113
argument *\--yes-do-it.*
114

    
115
EPO
116
~~~
117

    
118
**epo** [\--on] [\--groups|\--all] [\--power-delay] *arguments*
119

    
120
Performs an emergency power-off on nodes given as arguments. If
121
``--groups`` is given, arguments are node groups. If ``--all`` is
122
provided, the whole cluster will be shut down.
123

    
124
The ``--on`` flag recovers the cluster after an emergency power-off.
125
When powering on the cluster you can use ``--power-delay`` to define the
126
time in seconds (fractions allowed) waited between powering on
127
individual nodes.
128

    
129
Please note that the master node will not be turned down or up
130
automatically.  It will just be left in a state, where you can manully
131
perform the shutdown of that one node. If the master is in the list of
132
affected nodes and this is not a complete cluster emergency power-off
133
(e.g. using ``--all``), you're required to do a master failover to
134
another node not affected.
135

    
136
GETMASTER
137
~~~~~~~~~
138

    
139
**getmaster**
140

    
141
Displays the current master node.
142

    
143
INFO
144
~~~~
145

    
146
**info** [\--roman]
147

    
148
Shows runtime cluster information: cluster name, architecture (32
149
or 64 bit), master node, node list and instance list.
150

    
151
Passing the ``--roman`` option gnt-cluster info will try to print
152
its integer fields in a latin friendly way. This allows further
153
diffusion of Ganeti among ancient cultures.
154

    
155
INIT
156
~~~~
157

    
158
| **init**
159
| [{-s|\--secondary-ip} *secondary\_ip*]
160
| [\--vg-name *vg-name*]
161
| [\--master-netdev *interface-name*]
162
| [\--master-netmask *netmask*]
163
| [\--use-external-mip-script {yes \| no}]
164
| [{-m|\--mac-prefix} *mac-prefix*]
165
| [\--no-lvm-storage]
166
| [\--no-etc-hosts]
167
| [\--no-ssh-init]
168
| [\--file-storage-dir *dir*]
169
| [\--enabled-hypervisors *hypervisors*]
170
| [{-H|\--hypervisor-parameters} *hypervisor*:*hv-param*=*value*[,*hv-param*=*value*...]]
171
| [{-B|\--backend-parameters} *be-param*=*value*[,*be-param*=*value*...]]
172
| [{-N|\--nic-parameters} *nic-param*=*value*[,*nic-param*=*value*...]]
173
| [{-D|\--disk-parameters} *disk-template*:*disk-param*=*value*[,*disk-param*=*value*...]]
174
| [\--maintain-node-health {yes \| no}]
175
| [\--uid-pool *user-id pool definition*]
176
| [{-I|\--default-iallocator} *default instance allocator*]
177
| [\--primary-ip-version *version*]
178
| [\--prealloc-wipe-disks {yes \| no}]
179
| [\--node-parameters *ndparams*]
180
| [{-C|\--candidate-pool-size} *candidate\_pool\_size*]
181
| [\--specs-cpu-count *spec-param*=*value* [,*spec-param*=*value*...]]
182
| [\--specs-disk-count *spec-param*=*value* [,*spec-param*=*value*...]]
183
| [\--specs-disk-size *spec-param*=*value* [,*spec-param*=*value*...]]
184
| [\--specs-mem-size *spec-param*=*value* [,*spec-param*=*value*...]]
185
| [\--specs-nic-count *spec-param*=*value* [,*spec-param*=*value*...]]
186
| [\--ipolicy-std-specs *spec*=*value* [,*spec*=*value*...]]
187
| [\--ipolicy-bounds-specs *bounds_ispecs*]
188
| [\--ipolicy-disk-templates *template* [,*template*...]]
189
| [\--ipolicy-spindle-ratio *ratio*]
190
| [\--ipolicy-vcpu-ratio *ratio*]
191
| [\--disk-state *diskstate*]
192
| [\--hypervisor-state *hvstate*]
193
| [\--enabled-disk-templates *template* [,*template*...]]
194
| {*clustername*}
195

    
196
This commands is only run once initially on the first node of the
197
cluster. It will initialize the cluster configuration, setup the
198
ssh-keys, start the daemons on the master node, etc. in order to have
199
a working one-node cluster.
200

    
201
Note that the *clustername* is not any random name. It has to be
202
resolvable to an IP address using DNS, and it is best if you give the
203
fully-qualified domain name. This hostname must resolve to an IP
204
address reserved exclusively for this purpose, i.e. not already in
205
use.
206

    
207
The cluster can run in two modes: single-home or dual-homed. In the
208
first case, all traffic (both public traffic, inter-node traffic and
209
data replication traffic) goes over the same interface. In the
210
dual-homed case, the data replication traffic goes over the second
211
network. The ``-s (--secondary-ip)`` option here marks the cluster as
212
dual-homed and its parameter represents this node's address on the
213
second network.  If you initialise the cluster with ``-s``, all nodes
214
added must have a secondary IP as well.
215

    
216
Note that for Ganeti it doesn't matter if the secondary network is
217
actually a separate physical network, or is done using tunneling,
218
etc. For performance reasons, it's recommended to use a separate
219
network, of course.
220

    
221
The ``--vg-name`` option will let you specify a volume group
222
different than "xenvg" for Ganeti to use when creating instance
223
disks. This volume group must have the same name on all nodes. Once
224
the cluster is initialized this can be altered by using the
225
**modify** command. If you don't want to use lvm storage at all use
226
the ``--no-lvm-storage`` option. Once the cluster is initialized
227
you can change this setup with the **modify** command.
228

    
229
The ``--master-netdev`` option is useful for specifying a different
230
interface on which the master will activate its IP address. It's
231
important that all nodes have this interface because you'll need it
232
for a master failover.
233

    
234
The ``--master-netmask`` option allows to specify a netmask for the
235
master IP. The netmask must be specified as an integer, and will be
236
interpreted as a CIDR netmask. The default value is 32 for an IPv4
237
address and 128 for an IPv6 address.
238

    
239
The ``--use-external-mip-script`` option allows to specify whether to
240
use an user-supplied master IP address setup script, whose location is
241
``@SYSCONFDIR@/ganeti/scripts/master-ip-setup``. If the option value is
242
set to False, the default script (located at
243
``@PKGLIBDIR@/tools/master-ip-setup``) will be executed.
244

    
245
The ``-m (--mac-prefix)`` option will let you specify a three byte
246
prefix under which the virtual MAC addresses of your instances will be
247
generated. The prefix must be specified in the format ``XX:XX:XX`` and
248
the default is ``aa:00:00``.
249

    
250
The ``--no-lvm-storage`` option allows you to initialize the
251
cluster without lvm support. This means that only instances using
252
files as storage backend will be possible to create. Once the
253
cluster is initialized you can change this setup with the
254
**modify** command.
255

    
256
The ``--no-etc-hosts`` option allows you to initialize the cluster
257
without modifying the /etc/hosts file.
258

    
259
The ``--no-ssh-init`` option allows you to initialize the cluster
260
without creating or distributing SSH key pairs.
261

    
262
The ``--file-storage-dir`` option allows you set the directory to
263
use for storing the instance disk files when using file storage as
264
backend for instance disks.
265

    
266
The ``--prealloc-wipe-disks`` sets a cluster wide configuration value
267
for wiping disks prior to allocation and size changes (``gnt-instance
268
grow-disk``). This increases security on instance level as the instance
269
can't access untouched data from its underlying storage.
270

    
271
The ``--enabled-hypervisors`` option allows you to set the list of
272
hypervisors that will be enabled for this cluster. Instance
273
hypervisors can only be chosen from the list of enabled
274
hypervisors, and the first entry of this list will be used by
275
default. Currently, the following hypervisors are available:
276

    
277
xen-pvm
278
    Xen PVM hypervisor
279

    
280
xen-hvm
281
    Xen HVM hypervisor
282

    
283
kvm
284
    Linux KVM hypervisor
285

    
286
chroot
287
    a simple chroot manager that starts chroot based on a script at the
288
    root of the filesystem holding the chroot
289

    
290
fake
291
    fake hypervisor for development/testing
292

    
293
Either a single hypervisor name or a comma-separated list of
294
hypervisor names can be specified. If this option is not specified,
295
only the xen-pvm hypervisor is enabled by default.
296

    
297
The ``-H (--hypervisor-parameters)`` option allows you to set default
298
hypervisor specific parameters for the cluster. The format of this
299
option is the name of the hypervisor, followed by a colon and a
300
comma-separated list of key=value pairs. The keys available for each
301
hypervisors are detailed in the **gnt-instance**\(8) man page, in the
302
**add** command plus the following parameters which are only
303
configurable globally (at cluster level):
304

    
305
migration\_port
306
    Valid for the Xen PVM and KVM hypervisors.
307

    
308
    This options specifies the TCP port to use for live-migration. For
309
    Xen, the same port should be configured on all nodes in the
310
    ``@XEN_CONFIG_DIR@/xend-config.sxp`` file, under the key
311
    "xend-relocation-port".
312

    
313
migration\_bandwidth
314
    Valid for the KVM hypervisor.
315

    
316
    This option specifies the maximum bandwidth that KVM will use for
317
    instance live migrations. The value is in MiB/s.
318

    
319
    This option is only effective with kvm versions >= 78 and qemu-kvm
320
    versions >= 0.10.0.
321

    
322
The ``-B (--backend-parameters)`` option allows you to set the default
323
backend parameters for the cluster. The parameter format is a
324
comma-separated list of key=value pairs with the following supported
325
keys:
326

    
327
vcpus
328
    Number of VCPUs to set for an instance by default, must be an
329
    integer, will be set to 1 if no specified.
330

    
331
maxmem
332
    Maximum amount of memory to allocate for an instance by default, can
333
    be either an integer or an integer followed by a unit (M for
334
    mebibytes and G for gibibytes are supported), will be set to 128M if
335
    not specified.
336

    
337
minmem
338
    Minimum amount of memory to allocate for an instance by default, can
339
    be either an integer or an integer followed by a unit (M for
340
    mebibytes and G for gibibytes are supported), will be set to 128M if
341
    not specified.
342

    
343
auto\_balance
344
    Value of the auto\_balance flag for instances to use by default,
345
    will be set to true if not specified.
346

    
347
always\_failover
348
    Default value for the ``always_failover`` flag for instances; if
349
    not set, ``False`` is used.
350

    
351

    
352
The ``-N (--nic-parameters)`` option allows you to set the default
353
network interface parameters for the cluster. The parameter format is a
354
comma-separated list of key=value pairs with the following supported
355
keys:
356

    
357
mode
358
    The default NIC mode, one of ``routed``, ``bridged`` or
359
    ``openvswitch``.
360

    
361
link
362
    In ``bridged`` or ``openvswitch`` mode the default interface where
363
    to attach NICs. In ``routed`` mode it represents an
364
    hypervisor-vif-script dependent value to allow different instance
365
    groups. For example under the KVM default network script it is
366
    interpreted as a routing table number or name. Openvswitch support
367
    is also hypervisor dependent and currently works for the default KVM
368
    network script. Under Xen a custom network script must be provided.
369

    
370
The ``-D (--disk-parameters)`` option allows you to set the default disk
371
template parameters at cluster level. The format used for this option is
372
similar to the one use by the  ``-H`` option: the disk template name
373
must be specified first, followed by a colon and by a comma-separated
374
list of key-value pairs. These parameters can only be specified at
375
cluster and node group level; the cluster-level parameter are inherited
376
by the node group at the moment of its creation, and can be further
377
modified at node group level using the **gnt-group**\(8) command.
378

    
379
The following is the list of disk parameters available for the **drbd**
380
template, with measurement units specified in square brackets at the end
381
of the description (when applicable):
382

    
383
resync-rate
384
    Static re-synchronization rate. [KiB/s]
385

    
386
data-stripes
387
    Number of stripes to use for data LVs.
388

    
389
meta-stripes
390
    Number of stripes to use for meta LVs.
391

    
392
disk-barriers
393
    What kind of barriers to **disable** for disks. It can either assume
394
    the value "n", meaning no barrier disabled, or a non-empty string
395
    containing a subset of the characters "bfd". "b" means disable disk
396
    barriers, "f" means disable disk flushes, "d" disables disk drains.
397

    
398
meta-barriers
399
    Boolean value indicating whether the meta barriers should be
400
    disabled (True) or not (False).
401

    
402
metavg
403
    String containing the name of the default LVM volume group for DRBD
404
    metadata. By default, it is set to ``xenvg``. It can be overridden
405
    during the instance creation process by using the ``metavg`` key of
406
    the ``--disk`` parameter.
407

    
408
disk-custom
409
    String containing additional parameters to be appended to the
410
    arguments list of ``drbdsetup disk``.
411

    
412
net-custom
413
    String containing additional parameters to be appended to the
414
    arguments list of ``drbdsetup net``.
415

    
416
dynamic-resync
417
    Boolean indicating whether to use the dynamic resync speed
418
    controller or not. If enabled, c-plan-ahead must be non-zero and all
419
    the c-* parameters will be used by DRBD. Otherwise, the value of
420
    resync-rate will be used as a static resync speed.
421

    
422
c-plan-ahead
423
    Agility factor of the dynamic resync speed controller. (the higher,
424
    the slower the algorithm will adapt the resync speed). A value of 0
425
    (that is the default) disables the controller. [ds]
426

    
427
c-fill-target
428
    Maximum amount of in-flight resync data for the dynamic resync speed
429
    controller. [sectors]
430

    
431
c-delay-target
432
    Maximum estimated peer response latency for the dynamic resync speed
433
    controller. [ds]
434

    
435
c-min-rate
436
    Minimum resync speed for the dynamic resync speed controller. [KiB/s]
437

    
438
c-max-rate
439
    Upper bound on resync speed for the dynamic resync speed controller.
440
    [KiB/s]
441

    
442
List of parameters available for the **plain** template:
443

    
444
stripes
445
    Number of stripes to use for new LVs.
446

    
447
List of parameters available for the **rbd** template:
448

    
449
pool
450
    The RADOS cluster pool, inside which all rbd volumes will reside.
451
    When a new RADOS cluster is deployed, the default pool to put rbd
452
    volumes (Images in RADOS terminology) is 'rbd'.
453

    
454
The option ``--maintain-node-health`` allows one to enable/disable
455
automatic maintenance actions on nodes. Currently these include
456
automatic shutdown of instances and deactivation of DRBD devices on
457
offline nodes; in the future it might be extended to automatic
458
removal of unknown LVM volumes, etc. Note that this option is only
459
useful if the use of ``ganeti-confd`` was enabled at compilation.
460

    
461
The ``--uid-pool`` option initializes the user-id pool. The
462
*user-id pool definition* can contain a list of user-ids and/or a
463
list of user-id ranges. The parameter format is a comma-separated
464
list of numeric user-ids or user-id ranges. The ranges are defined
465
by a lower and higher boundary, separated by a dash. The boundaries
466
are inclusive. If the ``--uid-pool`` option is not supplied, the
467
user-id pool is initialized to an empty list. An empty list means
468
that the user-id pool feature is disabled.
469

    
470
The ``-I (--default-iallocator)`` option specifies the default
471
instance allocator. The instance allocator will be used for operations
472
like instance creation, instance and node migration, etc. when no
473
manual override is specified. If this option is not specified and
474
htools was not enabled at build time, the default instance allocator
475
will be blank, which means that relevant operations will require the
476
administrator to manually specify either an instance allocator, or a
477
set of nodes. If the option is not specified but htools was enabled,
478
the default iallocator will be **hail**\(1) (assuming it can be found
479
on disk). The default iallocator can be changed later using the
480
**modify** command.
481

    
482
The ``--primary-ip-version`` option specifies the IP version used
483
for the primary address. Possible values are 4 and 6 for IPv4 and
484
IPv6, respectively. This option is used when resolving node names
485
and the cluster name.
486

    
487
The ``--node-parameters`` option allows you to set default node
488
parameters for the cluster. Please see **ganeti**\(7) for more
489
information about supported key=value pairs.
490

    
491
The ``-C (--candidate-pool-size)`` option specifies the
492
``candidate_pool_size`` cluster parameter. This is the number of nodes
493
that the master will try to keep as master\_candidates. For more
494
details about this role and other node roles, see the **ganeti**\(7).
495

    
496
The ``--specs-...`` and ``--ipolicy-...`` options specify the instance
497
policy on the cluster. The ``--ipolicy-bounds-specs`` option sets the
498
minimum and maximum specifications for instances. The format is:
499
min:*param*=*value*,.../max:*param*=*value*,... The
500
``--ipolicy-std-specs`` option takes a list of parameter/value pairs.
501
For both options, *param* can be:
502

    
503
- ``cpu-count``: number of VCPUs for an instance
504
- ``disk-count``: number of disk for an instance
505
- ``disk-size``: size of each disk
506
- ``memory-size``: instance memory
507
- ``nic-count``: number of network interface
508
- ``spindle-use``: spindle usage for an instance
509

    
510
For the ``--specs-...`` options, each option can have three values:
511
``min``, ``max`` and ``std``, which can also be modified on group level
512
(except for ``std``, which is defined once for the entire cluster).
513
Please note, that ``std`` values are not the same as defaults set by
514
``--beparams``, but they are used for the capacity calculations.
515

    
516
- ``--specs-cpu-count`` limits the number of VCPUs that can be used by an
517
  instance.
518
- ``--specs-disk-count`` limits the number of disks
519
- ``--specs-disk-size`` limits the disk size for every disk used
520
- ``--specs-mem-size`` limits the amount of memory available
521
- ``--specs-nic-count`` sets limits on the number of NICs used
522

    
523
The ``--ipolicy-disk-templates`` and ``--ipolicy-spindle-ratio`` options
524
take a decimal number. The ``--ipolicy-disk-templates`` option takes a
525
comma-separated list of disk templates.
526

    
527
- ``--ipolicy-disk-templates`` limits the allowed disk templates
528
- ``--ipolicy-spindle-ratio`` limits the instances-spindles ratio
529
- ``--ipolicy-vcpu-ratio`` limits the vcpu-cpu ratio
530

    
531
For details about how to use ``--hypervisor-state`` and ``--disk-state``
532
have a look at **ganeti**\(7).
533

    
534
The ``--enabled-disk-templates`` option specifies a list of disk templates
535
that can be used by instances of the cluster. For the possible values in
536
this list, see **gnt-instance**\(8). Note that in contrast to the list of
537
disk templates in the ipolicy, this list is a hard restriction. It is not
538
possible to create instances with disk templates that are not enabled in
539
the cluster. It is also not possible to disable a disk template when there
540
are still instances using it.
541

    
542
MASTER-FAILOVER
543
~~~~~~~~~~~~~~~
544

    
545
**master-failover** [\--no-voting] [\--yes-do-it]
546

    
547
Failover the master role to the current node.
548

    
549
The ``--no-voting`` option skips the remote node agreement checks.
550
This is dangerous, but necessary in some cases (for example failing
551
over the master role in a 2 node cluster with the original master
552
down). If the original master then comes up, it won't be able to
553
start its master daemon because it won't have enough votes, but so
554
won't the new master, if the master daemon ever needs a restart.
555
You can pass ``--no-voting`` to **ganeti-masterd** on the new
556
master to solve this problem, and run **gnt-cluster redist-conf**
557
to make sure the cluster is consistent again.
558

    
559
The option ``--yes-do-it`` is used together with ``--no-voting``, for
560
skipping the interactive checks. This is even more dangerous, and should
561
only be used in conjunction with other means (e.g. a HA suite) to
562
confirm that the operation is indeed safe.
563

    
564
MASTER-PING
565
~~~~~~~~~~~
566

    
567
**master-ping**
568

    
569
Checks if the master daemon is alive.
570

    
571
If the master daemon is alive and can respond to a basic query (the
572
equivalent of **gnt-cluster info**), then the exit code of the
573
command will be 0. If the master daemon is not alive (either due to
574
a crash or because this is not the master node), the exit code will
575
be 1.
576

    
577
MODIFY
578
~~~~~~
579

    
580
| **modify** [\--submit]
581
| [\--vg-name *vg-name*]
582
| [\--no-lvm-storage]
583
| [\--enabled-hypervisors *hypervisors*]
584
| [{-H|\--hypervisor-parameters} *hypervisor*:*hv-param*=*value*[,*hv-param*=*value*...]]
585
| [{-B|\--backend-parameters} *be-param*=*value*[,*be-param*=*value*...]]
586
| [{-N|\--nic-parameters} *nic-param*=*value*[,*nic-param*=*value*...]]
587
| [{-D|\--disk-parameters} *disk-template*:*disk-param*=*value*[,*disk-param*=*value*...]]
588
| [\--uid-pool *user-id pool definition*]
589
| [\--add-uids *user-id pool definition*]
590
| [\--remove-uids *user-id pool definition*]
591
| [{-C|\--candidate-pool-size} *candidate\_pool\_size*]
592
| [\--maintain-node-health {yes \| no}]
593
| [\--prealloc-wipe-disks {yes \| no}]
594
| [{-I|\--default-iallocator} *default instance allocator*]
595
| [\--reserved-lvs=*NAMES*]
596
| [\--node-parameters *ndparams*]
597
| [\--master-netdev *interface-name*]
598
| [\--master-netmask *netmask*]
599
| [\--use-external-mip-script {yes \| no}]
600
| [\--hypervisor-state *hvstate*]
601
| [\--disk-state *diskstate*]
602
| [\--specs-cpu-count *spec-param*=*value* [,*spec-param*=*value*...]]
603
| [\--specs-disk-count *spec-param*=*value* [,*spec-param*=*value*...]]
604
| [\--specs-disk-size *spec-param*=*value* [,*spec-param*=*value*...]]
605
| [\--specs-mem-size *spec-param*=*value* [,*spec-param*=*value*...]]
606
| [\--specs-nic-count *spec-param*=*value* [,*spec-param*=*value*...]]
607
| [\--ipolicy-std-specs *spec*=*value* [,*spec*=*value*...]]
608
| [\--ipolicy-bounds-specs *bounds_ispecs*]
609
| [\--ipolicy-disk-templates *template* [,*template*...]]
610
| [\--ipolicy-spindle-ratio *ratio*]
611
| [\--ipolicy-vcpu-ratio *ratio*]
612
| [\--enabled-disk-templates *template* [,*template*...]]
613

    
614

    
615
Modify the options for the cluster.
616

    
617
The ``--vg-name``, ``--no-lvm-storage``, ``--enabled-hypervisors``,
618
``-H (--hypervisor-parameters)``, ``-B (--backend-parameters)``,
619
``-D (--disk-parameters)``, ``--nic-parameters``, ``-C
620
(--candidate-pool-size)``, ``--maintain-node-health``,
621
``--prealloc-wipe-disks``, ``--uid-pool``, ``--node-parameters``,
622
``--master-netdev``, ``--master-netmask``, ``--use-external-mip-script``,
623
and ``--enabled-disk-templates`` options are described in the **init**
624
command.
625

    
626
The ``--hypervisor-state`` and ``--disk-state`` options are described in
627
detail in **ganeti**\(7).
628

    
629
The ``--add-uids`` and ``--remove-uids`` options can be used to
630
modify the user-id pool by adding/removing a list of user-ids or
631
user-id ranges.
632

    
633
The option ``--reserved-lvs`` specifies a list (comma-separated) of
634
logical volume group names (regular expressions) that will be
635
ignored by the cluster verify operation. This is useful if the
636
volume group used for Ganeti is shared with the system for other
637
uses. Note that it's not recommended to create and mark as ignored
638
logical volume names which match Ganeti's own name format (starting
639
with UUID and then .diskN), as this option only skips the
640
verification, but not the actual use of the names given.
641

    
642
To remove all reserved logical volumes, pass in an empty argument
643
to the option, as in ``--reserved-lvs=`` or ``--reserved-lvs ''``.
644

    
645
The ``-I (--default-iallocator)`` is described in the **init**
646
command. To clear the default iallocator, just pass an empty string
647
('').
648

    
649
The ``--specs-...`` and ``--ipolicy-...`` options are described in the
650
**init** command.
651

    
652
See **ganeti**\(7) for a description of ``--submit`` and other common
653
options.
654

    
655
QUEUE
656
~~~~~
657

    
658
**queue** {drain | undrain | info}
659

    
660
Change job queue properties.
661

    
662
The ``drain`` option sets the drain flag on the job queue. No new
663
jobs will be accepted, but jobs already in the queue will be
664
processed.
665

    
666
The ``undrain`` will unset the drain flag on the job queue. New
667
jobs will be accepted.
668

    
669
The ``info`` option shows the properties of the job queue.
670

    
671
WATCHER
672
~~~~~~~
673

    
674
**watcher** {pause *duration* | continue | info}
675

    
676
Make the watcher pause or let it continue.
677

    
678
The ``pause`` option causes the watcher to pause for *duration*
679
seconds.
680

    
681
The ``continue`` option will let the watcher continue.
682

    
683
The ``info`` option shows whether the watcher is currently paused.
684

    
685
REDIST-CONF
686
~~~~~~~~~~~
687

    
688
**redist-conf** [\--submit]
689

    
690
This command forces a full push of configuration files from the
691
master node to the other nodes in the cluster. This is normally not
692
needed, but can be run if the **verify** complains about
693
configuration mismatches.
694

    
695
See **ganeti**\(7) for a description of ``--submit`` and other common
696
options.
697

    
698
RENAME
699
~~~~~~
700

    
701
**rename** [-f] {*name*}
702

    
703
Renames the cluster and in the process updates the master IP
704
address to the one the new name resolves to. At least one of either
705
the name or the IP address must be different, otherwise the
706
operation will be aborted.
707

    
708
Note that since this command can be dangerous (especially when run
709
over SSH), the command will require confirmation unless run with
710
the ``-f`` option.
711

    
712
RENEW-CRYPTO
713
~~~~~~~~~~~~
714

    
715
| **renew-crypto** [-f]
716
| [\--new-cluster-certificate] [\--new-confd-hmac-key]
717
| [\--new-rapi-certificate] [\--rapi-certificate *rapi-cert*]
718
| [\--new-spice-certificate | \--spice-certificate *spice-cert*
719
| \--spice-ca-certificate *spice-ca-cert*]
720
| [\--new-cluster-domain-secret] [\--cluster-domain-secret *filename*]
721

    
722
This command will stop all Ganeti daemons in the cluster and start
723
them again once the new certificates and keys are replicated. The
724
options ``--new-cluster-certificate`` and ``--new-confd-hmac-key``
725
can be used to regenerate the cluster-internal SSL certificate
726
respective the HMAC key used by **ganeti-confd**\(8).
727

    
728
To generate a new self-signed RAPI certificate (used by
729
**ganeti-rapi**\(8)) specify ``--new-rapi-certificate``. If you want to
730
use your own certificate, e.g. one signed by a certificate
731
authority (CA), pass its filename to ``--rapi-certificate``.
732

    
733
To generate a new self-signed SPICE certificate, used by SPICE
734
connections to the KVM hypervisor, specify the
735
``--new-spice-certificate`` option. If you want to provide a
736
certificate, pass its filename to ``--spice-certificate`` and pass the
737
signing CA certificate to ``--spice-ca-certificate``.
738

    
739
``--new-cluster-domain-secret`` generates a new, random cluster
740
domain secret. ``--cluster-domain-secret`` reads the secret from a
741
file. The cluster domain secret is used to sign information
742
exchanged between separate clusters via a third party.
743

    
744
REPAIR-DISK-SIZES
745
~~~~~~~~~~~~~~~~~
746

    
747
**repair-disk-sizes** [instance...]
748

    
749
This command checks that the recorded size of the given instance's
750
disks matches the actual size and updates any mismatches found.
751
This is needed if the Ganeti configuration is no longer consistent
752
with reality, as it will impact some disk operations. If no
753
arguments are given, all instances will be checked.
754

    
755
Note that only active disks can be checked by this command; in case
756
a disk cannot be activated it's advised to use
757
**gnt-instance activate-disks \--ignore-size ...** to force
758
activation without regard to the current size.
759

    
760
When the all disk sizes are consistent, the command will return no
761
output. Otherwise it will log details about the inconsistencies in
762
the configuration.
763

    
764
VERIFY
765
~~~~~~
766

    
767
| **verify** [\--no-nplus1-mem] [\--node-group *nodegroup*]
768
| [\--error-codes] [{-I|\--ignore-errors} *errorcode*]
769
| [{-I|\--ignore-errors} *errorcode*...]
770

    
771
Verify correctness of cluster configuration. This is safe with
772
respect to running instances, and incurs no downtime of the
773
instances.
774

    
775
If the ``--no-nplus1-mem`` option is given, Ganeti won't check
776
whether if it loses a node it can restart all the instances on
777
their secondaries (and report an error otherwise).
778

    
779
With ``--node-group``, restrict the verification to those nodes and
780
instances that live in the named group. This will not verify global
781
settings, but will allow to perform verification of a group while other
782
operations are ongoing in other groups.
783

    
784
The ``--error-codes`` option outputs each error in the following
785
parseable format: *ftype*:*ecode*:*edomain*:*name*:*msg*.
786
These fields have the following meaning:
787

    
788
ftype
789
    Failure type. Can be *WARNING* or *ERROR*.
790

    
791
ecode
792
    Error code of the failure. See below for a list of error codes.
793

    
794
edomain
795
    Can be *cluster*, *node* or *instance*.
796

    
797
name
798
    Contains the name of the item that is affected from the failure.
799

    
800
msg
801
    Contains a descriptive error message about the error
802

    
803
``gnt-cluster verify`` will have a non-zero exit code if at least one of
804
the failures that are found are of type *ERROR*.
805

    
806
The ``--ignore-errors`` option can be used to change this behaviour,
807
because it demotes the error represented by the error code received as a
808
parameter to a warning. The option must be repeated for each error that
809
should be ignored (e.g.: ``-I ENODEVERSION -I ENODEORPHANLV``). The
810
``--error-codes`` option can be used to determine the error code of a
811
given error.
812

    
813
List of error codes:
814

    
815
@CONSTANTS_ECODES@
816

    
817
VERIFY-DISKS
818
~~~~~~~~~~~~
819

    
820
**verify-disks**
821

    
822
The command checks which instances have degraded DRBD disks and
823
activates the disks of those instances.
824

    
825
This command is run from the **ganeti-watcher** tool, which also
826
has a different, complementary algorithm for doing this check.
827
Together, these two should ensure that DRBD disks are kept
828
consistent.
829

    
830
VERSION
831
~~~~~~~
832

    
833
**version**
834

    
835
Show the cluster version.
836

    
837
Tags
838
~~~~
839

    
840
ADD-TAGS
841
^^^^^^^^
842

    
843
**add-tags** [\--from *file*] {*tag*...}
844

    
845
Add tags to the cluster. If any of the tags contains invalid
846
characters, the entire operation will abort.
847

    
848
If the ``--from`` option is given, the list of tags will be
849
extended with the contents of that file (each line becomes a tag).
850
In this case, there is not need to pass tags on the command line
851
(if you do, both sources will be used). A file name of - will be
852
interpreted as stdin.
853

    
854
LIST-TAGS
855
^^^^^^^^^
856

    
857
**list-tags**
858

    
859
List the tags of the cluster.
860

    
861
REMOVE-TAGS
862
^^^^^^^^^^^
863

    
864
**remove-tags** [\--from *file*] {*tag*...}
865

    
866
Remove tags from the cluster. If any of the tags are not existing
867
on the cluster, the entire operation will abort.
868

    
869
If the ``--from`` option is given, the list of tags to be removed will
870
be extended with the contents of that file (each line becomes a tag).
871
In this case, there is not need to pass tags on the command line (if
872
you do, tags from both sources will be removed). A file name of - will
873
be interpreted as stdin.
874

    
875
SEARCH-TAGS
876
^^^^^^^^^^^
877

    
878
**search-tags** {*pattern*}
879

    
880
Searches the tags on all objects in the cluster (the cluster
881
itself, the nodes and the instances) for a given pattern. The
882
pattern is interpreted as a regular expression and a search will be
883
done on it (i.e. the given pattern is not anchored to the beggining
884
of the string; if you want that, prefix the pattern with ^).
885

    
886
If no tags are matching the pattern, the exit code of the command
887
will be one. If there is at least one match, the exit code will be
888
zero. Each match is listed on one line, the object and the tag
889
separated by a space. The cluster will be listed as /cluster, a
890
node will be listed as /nodes/*name*, and an instance as
891
/instances/*name*. Example:
892

    
893
::
894

    
895
    # gnt-cluster search-tags time
896
    /cluster ctime:2007-09-01
897
    /nodes/node1.example.com mtime:2007-10-04
898

    
899
.. vim: set textwidth=72 :
900
.. Local Variables:
901
.. mode: rst
902
.. fill-column: 72
903
.. End: