Statistics
| Branch: | Tag: | Revision:

root / man / gnt-cluster.rst @ 354c4f62

History | View | Annotate | Download (31.2 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-disk-templates *template* [,*template*...]]
187
| [\--disk-state *diskstate*]
188
| [\--hypervisor-state *hvstate*]
189
| {*clustername*}
190

    
191
This commands is only run once initially on the first node of the
192
cluster. It will initialize the cluster configuration, setup the
193
ssh-keys, start the daemons on the master node, etc. in order to have
194
a working one-node cluster.
195

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

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

    
211
Note that for Ganeti it doesn't matter if the secondary network is
212
actually a separate physical network, or is done using tunneling,
213
etc. For performance reasons, it's recommended to use a separate
214
network, of course.
215

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

    
224
The ``--master-netdev`` option is useful for specifying a different
225
interface on which the master will activate its IP address. It's
226
important that all nodes have this interface because you'll need it
227
for a master failover.
228

    
229
The ``--master-netmask`` option allows to specify a netmask for the
230
master IP. The netmask must be specified as an integer, and will be
231
interpreted as a CIDR netmask. The default value is 32 for an IPv4
232
address and 128 for an IPv6 address.
233

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

    
240
The ``-m (--mac-prefix)`` option will let you specify a three byte
241
prefix under which the virtual MAC addresses of your instances will be
242
generated. The prefix must be specified in the format ``XX:XX:XX`` and
243
the default is ``aa:00:00``.
244

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

    
251
The ``--no-etc-hosts`` option allows you to initialize the cluster
252
without modifying the /etc/hosts file.
253

    
254
The ``--no-ssh-init`` option allows you to initialize the cluster
255
without creating or distributing SSH key pairs.
256

    
257
The ``--file-storage-dir`` option allows you set the directory to
258
use for storing the instance disk files when using file storage as
259
backend for instance disks.
260

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

    
266
The ``--enabled-hypervisors`` option allows you to set the list of
267
hypervisors that will be enabled for this cluster. Instance
268
hypervisors can only be chosen from the list of enabled
269
hypervisors, and the first entry of this list will be used by
270
default. Currently, the following hypervisors are available:
271

    
272
xen-pvm
273
    Xen PVM hypervisor
274

    
275
xen-hvm
276
    Xen HVM hypervisor
277

    
278
kvm
279
    Linux KVM hypervisor
280

    
281
chroot
282
    a simple chroot manager that starts chroot based on a script at the
283
    root of the filesystem holding the chroot
284

    
285
fake
286
    fake hypervisor for development/testing
287

    
288
Either a single hypervisor name or a comma-separated list of
289
hypervisor names can be specified. If this option is not specified,
290
only the xen-pvm hypervisor is enabled by default.
291

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

    
300
migration\_port
301
    Valid for the Xen PVM and KVM hypervisors.
302

    
303
    This options specifies the TCP port to use for live-migration. For
304
    Xen, the same port should be configured on all nodes in the
305
    ``/etc/xen/xend-config.sxp`` file, under the key
306
    "xend-relocation-port".
307

    
308
migration\_bandwidth
309
    Valid for the KVM hypervisor.
310

    
311
    This option specifies the maximum bandwidth that KVM will use for
312
    instance live migrations. The value is in MiB/s.
313

    
314
    This option is only effective with kvm versions >= 78 and qemu-kvm
315
    versions >= 0.10.0.
316

    
317
The ``-B (--backend-parameters)`` option allows you to set the default
318
backend parameters for the cluster. The parameter format is a
319
comma-separated list of key=value pairs with the following supported
320
keys:
321

    
322
vcpus
323
    Number of VCPUs to set for an instance by default, must be an
324
    integer, will be set to 1 if no specified.
325

    
326
maxmem
327
    Maximum amount of memory to allocate for an instance by default, can
328
    be either an integer or an integer followed by a unit (M for
329
    mebibytes and G for gibibytes are supported), will be set to 128M if
330
    not specified.
331

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

    
338
auto\_balance
339
    Value of the auto\_balance flag for instances to use by default,
340
    will be set to true if not specified.
341

    
342
always\_failover
343
    Default value for the ``always_failover`` flag for instances; if
344
    not set, ``False`` is used.
345

    
346

    
347
The ``-N (--nic-parameters)`` option allows you to set the default
348
network interface parameters for the cluster. The parameter format is a
349
comma-separated list of key=value pairs with the following supported
350
keys:
351

    
352
mode
353
    The default NIC mode, one of ``routed``, ``bridged`` or
354
    ``openvswitch``.
355

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

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

    
374
The following is the list of disk parameters available for the **drbd**
375
template, with measurement units specified in square brackets at the end
376
of the description (when applicable):
377

    
378
resync-rate
379
    Static re-synchronization rate. [KiB/s]
380

    
381
data-stripes
382
    Number of stripes to use for data LVs.
383

    
384
meta-stripes
385
    Number of stripes to use for meta LVs.
386

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

    
393
meta-barriers
394
    Boolean value indicating whether the meta barriers should be
395
    disabled (True) or not (False).
396

    
397
metavg
398
    String containing the name of the default LVM volume group for DRBD
399
    metadata. By default, it is set to ``xenvg``. It can be overridden
400
    during the instance creation process by using the ``metavg`` key of
401
    the ``--disk`` parameter.
402

    
403
disk-custom
404
    String containing additional parameters to be appended to the
405
    arguments list of ``drbdsetup disk``.
406

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

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

    
417
c-plan-ahead
418
    Agility factor of the dynamic resync speed controller. (the higher,
419
    the slower the algorithm will adapt the resync speed). A value of 0
420
    (that is the default) disables the controller. [ds]
421

    
422
c-fill-target
423
    Maximum amount of in-flight resync data for the dynamic resync speed
424
    controller. [sectors]
425

    
426
c-delay-target
427
    Maximum estimated peer response latency for the dynamic resync speed
428
    controller. [ds]
429

    
430
c-min-rate
431
    Minimum resync speed for the dynamic resync speed controller. [KiB/s]
432

    
433
c-max-rate
434
    Upper bound on resync speed for the dynamic resync speed controller.
435
    [KiB/s]
436

    
437
List of parameters available for the **plain** template:
438

    
439
stripes
440
    Number of stripes to use for new LVs.
441

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

    
444
pool
445
    The RADOS cluster pool, inside which all rbd volumes will reside.
446
    When a new RADOS cluster is deployed, the default pool to put rbd
447
    volumes (Images in RADOS terminology) is 'rbd'.
448

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

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

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

    
477
The ``--primary-ip-version`` option specifies the IP version used
478
for the primary address. Possible values are 4 and 6 for IPv4 and
479
IPv6, respectively. This option is used when resolving node names
480
and the cluster name.
481

    
482
The ``--node-parameters`` option allows you to set default node
483
parameters for the cluster. Please see **ganeti**\(7) for more
484
information about supported key=value pairs.
485

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

    
491
The ``--specs-...`` and ``--ipolicy-disk-templates`` options specify
492
instance policy on the cluster. For the ``--specs-...`` options, each
493
option can have three values: ``min``, ``max`` and ``std``, which can
494
also be modified on group level (except for ``std``, which is defined
495
once for the entire cluster). Please note, that ``std`` values are not
496
the same as defaults set by ``--beparams``, but they are used for the
497
capacity calculations. The ``--ipolicy-disk-templates`` option takes a
498
comma-separated list of disk templates.
499

    
500
- ``--specs-cpu-count`` limits the number of VCPUs that can be used by an
501
  instance.
502
- ``--specs-disk-count`` limits the number of disks
503
- ``--specs-disk-size`` limits the disk size for every disk used
504
- ``--specs-mem-size`` limits the amount of memory available
505
- ``--specs-nic-count`` sets limits on the number of NICs used
506
- ``--ipolicy-disk-templates`` limits the allowed disk templates
507

    
508
For details about how to use ``--hypervisor-state`` and ``--disk-state``
509
have a look at **ganeti**\(7).
510

    
511
MASTER-FAILOVER
512
~~~~~~~~~~~~~~~
513

    
514
**master-failover** [\--no-voting] [\--yes-do-it]
515

    
516
Failover the master role to the current node.
517

    
518
The ``--no-voting`` option skips the remote node agreement checks.
519
This is dangerous, but necessary in some cases (for example failing
520
over the master role in a 2 node cluster with the original master
521
down). If the original master then comes up, it won't be able to
522
start its master daemon because it won't have enough votes, but so
523
won't the new master, if the master daemon ever needs a restart.
524
You can pass ``--no-voting`` to **ganeti-masterd** on the new
525
master to solve this problem, and run **gnt-cluster redist-conf**
526
to make sure the cluster is consistent again.
527

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

    
533
MASTER-PING
534
~~~~~~~~~~~
535

    
536
**master-ping**
537

    
538
Checks if the master daemon is alive.
539

    
540
If the master daemon is alive and can respond to a basic query (the
541
equivalent of **gnt-cluster info**), then the exit code of the
542
command will be 0. If the master daemon is not alive (either due to
543
a crash or because this is not the master node), the exit code will
544
be 1.
545

    
546
MODIFY
547
~~~~~~
548

    
549
| **modify** [\--submit]
550
| [\--vg-name *vg-name*]
551
| [\--no-lvm-storage]
552
| [\--enabled-hypervisors *hypervisors*]
553
| [{-H|\--hypervisor-parameters} *hypervisor*:*hv-param*=*value*[,*hv-param*=*value*...]]
554
| [{-B|\--backend-parameters} *be-param*=*value*[,*be-param*=*value*...]]
555
| [{-N|\--nic-parameters} *nic-param*=*value*[,*nic-param*=*value*...]]
556
| [{-D|\--disk-parameters} *disk-template*:*disk-param*=*value*[,*disk-param*=*value*...]]
557
| [\--uid-pool *user-id pool definition*]
558
| [\--add-uids *user-id pool definition*]
559
| [\--remove-uids *user-id pool definition*]
560
| [{-C|\--candidate-pool-size} *candidate\_pool\_size*]
561
| [\--maintain-node-health {yes \| no}]
562
| [\--prealloc-wipe-disks {yes \| no}]
563
| [{-I|\--default-iallocator} *default instance allocator*]
564
| [\--reserved-lvs=*NAMES*]
565
| [\--node-parameters *ndparams*]
566
| [\--master-netdev *interface-name*]
567
| [\--master-netmask *netmask*]
568
| [\--use-external-mip-script {yes \| no}]
569
| [\--hypervisor-state *hvstate*]
570
| [\--disk-state *diskstate*]
571
| [\--specs-cpu-count *spec-param*=*value* [,*spec-param*=*value*...]]
572
| [\--specs-disk-count *spec-param*=*value* [,*spec-param*=*value*...]]
573
| [\--specs-disk-size *spec-param*=*value* [,*spec-param*=*value*...]]
574
| [\--specs-mem-size *spec-param*=*value* [,*spec-param*=*value*...]]
575
| [\--specs-nic-count *spec-param*=*value* [,*spec-param*=*value*...]]
576
| [\--ipolicy-disk-templates *template* [,*template*...]]
577

    
578

    
579
Modify the options for the cluster.
580

    
581
The ``--vg-name``, ``--no-lvm-storage``, ``--enabled-hypervisors``,
582
``-H (--hypervisor-parameters)``, ``-B (--backend-parameters)``,
583
``-D (--disk-parameters)``, ``--nic-parameters``, ``-C
584
(--candidate-pool-size)``, ``--maintain-node-health``,
585
``--prealloc-wipe-disks``, ``--uid-pool``, ``--node-parameters``,
586
``--master-netdev``, ``--master-netmask`` and
587
``--use-external-mip-script`` options are described in the **init**
588
command.
589

    
590
The ``--hypervisor-state`` and ``--disk-state`` options are described in
591
detail in **ganeti**\(7).
592

    
593
The ``--add-uids`` and ``--remove-uids`` options can be used to
594
modify the user-id pool by adding/removing a list of user-ids or
595
user-id ranges.
596

    
597
The option ``--reserved-lvs`` specifies a list (comma-separated) of
598
logical volume group names (regular expressions) that will be
599
ignored by the cluster verify operation. This is useful if the
600
volume group used for Ganeti is shared with the system for other
601
uses. Note that it's not recommended to create and mark as ignored
602
logical volume names which match Ganeti's own name format (starting
603
with UUID and then .diskN), as this option only skips the
604
verification, but not the actual use of the names given.
605

    
606
To remove all reserved logical volumes, pass in an empty argument
607
to the option, as in ``--reserved-lvs=`` or ``--reserved-lvs ''``.
608

    
609
The ``-I (--default-iallocator)`` is described in the **init**
610
command. To clear the default iallocator, just pass an empty string
611
('').
612

    
613
The ``--specs-...`` and ``--ipolicy-disk-templates`` options are
614
described in the **init** command.
615

    
616
See **ganeti**\(7) for a description of ``--submit`` and other common
617
options.
618

    
619
QUEUE
620
~~~~~
621

    
622
**queue** {drain | undrain | info}
623

    
624
Change job queue properties.
625

    
626
The ``drain`` option sets the drain flag on the job queue. No new
627
jobs will be accepted, but jobs already in the queue will be
628
processed.
629

    
630
The ``undrain`` will unset the drain flag on the job queue. New
631
jobs will be accepted.
632

    
633
The ``info`` option shows the properties of the job queue.
634

    
635
WATCHER
636
~~~~~~~
637

    
638
**watcher** {pause *duration* | continue | info}
639

    
640
Make the watcher pause or let it continue.
641

    
642
The ``pause`` option causes the watcher to pause for *duration*
643
seconds.
644

    
645
The ``continue`` option will let the watcher continue.
646

    
647
The ``info`` option shows whether the watcher is currently paused.
648

    
649
REDIST-CONF
650
~~~~~~~~~~~
651

    
652
**redist-conf** [\--submit]
653

    
654
This command forces a full push of configuration files from the
655
master node to the other nodes in the cluster. This is normally not
656
needed, but can be run if the **verify** complains about
657
configuration mismatches.
658

    
659
See **ganeti**\(7) for a description of ``--submit`` and other common
660
options.
661

    
662
RENAME
663
~~~~~~
664

    
665
**rename** [-f] {*name*}
666

    
667
Renames the cluster and in the process updates the master IP
668
address to the one the new name resolves to. At least one of either
669
the name or the IP address must be different, otherwise the
670
operation will be aborted.
671

    
672
Note that since this command can be dangerous (especially when run
673
over SSH), the command will require confirmation unless run with
674
the ``-f`` option.
675

    
676
RENEW-CRYPTO
677
~~~~~~~~~~~~
678

    
679
| **renew-crypto** [-f]
680
| [\--new-cluster-certificate] [\--new-confd-hmac-key]
681
| [\--new-rapi-certificate] [\--rapi-certificate *rapi-cert*]
682
| [\--new-spice-certificate | \--spice-certificate *spice-cert*
683
| \--spice-ca-certificate *spice-ca-cert*]
684
| [\--new-cluster-domain-secret] [\--cluster-domain-secret *filename*]
685

    
686
This command will stop all Ganeti daemons in the cluster and start
687
them again once the new certificates and keys are replicated. The
688
options ``--new-cluster-certificate`` and ``--new-confd-hmac-key``
689
can be used to regenerate the cluster-internal SSL certificate
690
respective the HMAC key used by **ganeti-confd**\(8).
691

    
692
To generate a new self-signed RAPI certificate (used by
693
**ganeti-rapi**\(8)) specify ``--new-rapi-certificate``. If you want to
694
use your own certificate, e.g. one signed by a certificate
695
authority (CA), pass its filename to ``--rapi-certificate``.
696

    
697
To generate a new self-signed SPICE certificate, used by SPICE
698
connections to the KVM hypervisor, specify the
699
``--new-spice-certificate`` option. If you want to provide a
700
certificate, pass its filename to ``--spice-certificate`` and pass the
701
signing CA certificate to ``--spice-ca-certificate``.
702

    
703
``--new-cluster-domain-secret`` generates a new, random cluster
704
domain secret. ``--cluster-domain-secret`` reads the secret from a
705
file. The cluster domain secret is used to sign information
706
exchanged between separate clusters via a third party.
707

    
708
REPAIR-DISK-SIZES
709
~~~~~~~~~~~~~~~~~
710

    
711
**repair-disk-sizes** [instance...]
712

    
713
This command checks that the recorded size of the given instance's
714
disks matches the actual size and updates any mismatches found.
715
This is needed if the Ganeti configuration is no longer consistent
716
with reality, as it will impact some disk operations. If no
717
arguments are given, all instances will be checked.
718

    
719
Note that only active disks can be checked by this command; in case
720
a disk cannot be activated it's advised to use
721
**gnt-instance activate-disks \--ignore-size ...** to force
722
activation without regard to the current size.
723

    
724
When the all disk sizes are consistent, the command will return no
725
output. Otherwise it will log details about the inconsistencies in
726
the configuration.
727

    
728
VERIFY
729
~~~~~~
730

    
731
| **verify** [\--no-nplus1-mem] [\--node-group *nodegroup*]
732
| [\--error-codes] [{-I|\--ignore-errors} *errorcode*]
733
| [{-I|\--ignore-errors} *errorcode*...]
734

    
735
Verify correctness of cluster configuration. This is safe with
736
respect to running instances, and incurs no downtime of the
737
instances.
738

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

    
743
With ``--node-group``, restrict the verification to those nodes and
744
instances that live in the named group. This will not verify global
745
settings, but will allow to perform verification of a group while other
746
operations are ongoing in other groups.
747

    
748
The ``--error-codes`` option outputs each error in the following
749
parseable format: *ftype*:*ecode*:*edomain*:*name*:*msg*.
750
These fields have the following meaning:
751

    
752
ftype
753
    Failure type. Can be *WARNING* or *ERROR*.
754

    
755
ecode
756
    Error code of the failure. See below for a list of error codes.
757

    
758
edomain
759
    Can be *cluster*, *node* or *instance*.
760

    
761
name
762
    Contains the name of the item that is affected from the failure.
763

    
764
msg
765
    Contains a descriptive error message about the error
766

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

    
770
The ``--ignore-errors`` option can be used to change this behaviour,
771
because it demotes the error represented by the error code received as a
772
parameter to a warning. The option must be repeated for each error that
773
should be ignored (e.g.: ``-I ENODEVERSION -I ENODEORPHANLV``). The
774
``--error-codes`` option can be used to determine the error code of a
775
given error.
776

    
777
List of error codes:
778

    
779
@CONSTANTS_ECODES@
780

    
781
VERIFY-DISKS
782
~~~~~~~~~~~~
783

    
784
**verify-disks**
785

    
786
The command checks which instances have degraded DRBD disks and
787
activates the disks of those instances.
788

    
789
This command is run from the **ganeti-watcher** tool, which also
790
has a different, complementary algorithm for doing this check.
791
Together, these two should ensure that DRBD disks are kept
792
consistent.
793

    
794
VERSION
795
~~~~~~~
796

    
797
**version**
798

    
799
Show the cluster version.
800

    
801
Tags
802
~~~~
803

    
804
ADD-TAGS
805
^^^^^^^^
806

    
807
**add-tags** [\--from *file*] {*tag*...}
808

    
809
Add tags to the cluster. If any of the tags contains invalid
810
characters, the entire operation will abort.
811

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

    
818
LIST-TAGS
819
^^^^^^^^^
820

    
821
**list-tags**
822

    
823
List the tags of the cluster.
824

    
825
REMOVE-TAGS
826
^^^^^^^^^^^
827

    
828
**remove-tags** [\--from *file*] {*tag*...}
829

    
830
Remove tags from the cluster. If any of the tags are not existing
831
on the cluster, the entire operation will abort.
832

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

    
839
SEARCH-TAGS
840
^^^^^^^^^^^
841

    
842
**search-tags** {*pattern*}
843

    
844
Searches the tags on all objects in the cluster (the cluster
845
itself, the nodes and the instances) for a given pattern. The
846
pattern is interpreted as a regular expression and a search will be
847
done on it (i.e. the given pattern is not anchored to the beggining
848
of the string; if you want that, prefix the pattern with ^).
849

    
850
If no tags are matching the pattern, the exit code of the command
851
will be one. If there is at least one match, the exit code will be
852
zero. Each match is listed on one line, the object and the tag
853
separated by a space. The cluster will be listed as /cluster, a
854
node will be listed as /nodes/*name*, and an instance as
855
/instances/*name*. Example:
856

    
857
::
858

    
859
    # gnt-cluster search-tags time
860
    /cluster ctime:2007-09-01
861
    /nodes/node1.example.com mtime:2007-10-04
862

    
863
.. vim: set textwidth=72 :
864
.. Local Variables:
865
.. mode: rst
866
.. fill-column: 72
867
.. End: