Statistics
| Branch: | Tag: | Revision:

root / man / gnt-cluster.rst @ d307d38c

History | View | Annotate | Download (32.1 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
| [\--ipolicy-spindle-ratio *ratio*]
188
| [\--ipolicy-vcpu-ratio *ratio*]
189
| [\--disk-state *diskstate*]
190
| [\--hypervisor-state *hvstate*]
191
| [\--enabled-disk-templates *template* [,*template*...]]
192
| {*clustername*}
193

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
275
xen-pvm
276
    Xen PVM hypervisor
277

    
278
xen-hvm
279
    Xen HVM hypervisor
280

    
281
kvm
282
    Linux KVM hypervisor
283

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

    
288
fake
289
    fake hypervisor for development/testing
290

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

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

    
303
migration\_port
304
    Valid for the Xen PVM and KVM hypervisors.
305

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

    
311
migration\_bandwidth
312
    Valid for the KVM hypervisor.
313

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

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

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

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

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

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

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

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

    
349

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

    
355
mode
356
    The default NIC mode, one of ``routed``, ``bridged`` or
357
    ``openvswitch``.
358

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

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

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

    
381
resync-rate
382
    Static re-synchronization rate. [KiB/s]
383

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

    
387
meta-stripes
388
    Number of stripes to use for meta LVs.
389

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

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

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

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

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

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

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

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

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

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

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

    
440
List of parameters available for the **plain** template:
441

    
442
stripes
443
    Number of stripes to use for new LVs.
444

    
445
List of parameters available for the **rbd** template:
446

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

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

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

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

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

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

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

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

    
502
The ``--ipolicy-disk-templates`` and ``--ipolicy-spindle-ratio`` options
503
take a decimal number. The ``--ipolicy-disk-templates`` option takes a
504
comma-separated list of disk templates.
505

    
506
- ``--specs-cpu-count`` limits the number of VCPUs that can be used by an
507
  instance.
508
- ``--specs-disk-count`` limits the number of disks
509
- ``--specs-disk-size`` limits the disk size for every disk used
510
- ``--specs-mem-size`` limits the amount of memory available
511
- ``--specs-nic-count`` sets limits on the number of NICs used
512
- ``--ipolicy-disk-templates`` limits the allowed disk templates
513
- ``--ipolicy-spindle-ratio`` limits the instances-spindles ratio
514
- ``--ipolicy-vcpu-ratio`` limits the vcpu-cpu ratio
515

    
516
For details about how to use ``--hypervisor-state`` and ``--disk-state``
517
have a look at **ganeti**\(7).
518

    
519
The ``--enabled-disk-templates`` option specifies a list of disk templates
520
that can be used by instances of the cluster. For the possible values in
521
this list, see **gnt-instance**\(8). Note that in contrast to the list of
522
disk templates in the ipolicy, this list is a hard restriction. It is not
523
possible to create instances with disk templates that are not enabled in
524
the cluster. It is also not possible to disable a disk template when there
525
are still instances using it.
526

    
527
MASTER-FAILOVER
528
~~~~~~~~~~~~~~~
529

    
530
**master-failover** [\--no-voting] [\--yes-do-it]
531

    
532
Failover the master role to the current node.
533

    
534
The ``--no-voting`` option skips the remote node agreement checks.
535
This is dangerous, but necessary in some cases (for example failing
536
over the master role in a 2 node cluster with the original master
537
down). If the original master then comes up, it won't be able to
538
start its master daemon because it won't have enough votes, but so
539
won't the new master, if the master daemon ever needs a restart.
540
You can pass ``--no-voting`` to **ganeti-masterd** on the new
541
master to solve this problem, and run **gnt-cluster redist-conf**
542
to make sure the cluster is consistent again.
543

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

    
549
MASTER-PING
550
~~~~~~~~~~~
551

    
552
**master-ping**
553

    
554
Checks if the master daemon is alive.
555

    
556
If the master daemon is alive and can respond to a basic query (the
557
equivalent of **gnt-cluster info**), then the exit code of the
558
command will be 0. If the master daemon is not alive (either due to
559
a crash or because this is not the master node), the exit code will
560
be 1.
561

    
562
MODIFY
563
~~~~~~
564

    
565
| **modify** [\--submit]
566
| [\--vg-name *vg-name*]
567
| [\--no-lvm-storage]
568
| [\--enabled-hypervisors *hypervisors*]
569
| [{-H|\--hypervisor-parameters} *hypervisor*:*hv-param*=*value*[,*hv-param*=*value*...]]
570
| [{-B|\--backend-parameters} *be-param*=*value*[,*be-param*=*value*...]]
571
| [{-N|\--nic-parameters} *nic-param*=*value*[,*nic-param*=*value*...]]
572
| [{-D|\--disk-parameters} *disk-template*:*disk-param*=*value*[,*disk-param*=*value*...]]
573
| [\--uid-pool *user-id pool definition*]
574
| [\--add-uids *user-id pool definition*]
575
| [\--remove-uids *user-id pool definition*]
576
| [{-C|\--candidate-pool-size} *candidate\_pool\_size*]
577
| [\--maintain-node-health {yes \| no}]
578
| [\--prealloc-wipe-disks {yes \| no}]
579
| [{-I|\--default-iallocator} *default instance allocator*]
580
| [\--reserved-lvs=*NAMES*]
581
| [\--node-parameters *ndparams*]
582
| [\--master-netdev *interface-name*]
583
| [\--master-netmask *netmask*]
584
| [\--use-external-mip-script {yes \| no}]
585
| [\--hypervisor-state *hvstate*]
586
| [\--disk-state *diskstate*]
587
| [\--specs-cpu-count *spec-param*=*value* [,*spec-param*=*value*...]]
588
| [\--specs-disk-count *spec-param*=*value* [,*spec-param*=*value*...]]
589
| [\--specs-disk-size *spec-param*=*value* [,*spec-param*=*value*...]]
590
| [\--specs-mem-size *spec-param*=*value* [,*spec-param*=*value*...]]
591
| [\--specs-nic-count *spec-param*=*value* [,*spec-param*=*value*...]]
592
| [\--ipolicy-disk-templates *template* [,*template*...]]
593
| [\--ipolicy-spindle-ratio *ratio*]
594
| [\--ipolicy-vcpu-ratio *ratio*]
595
| [\--enabled-disk-templates *template* [,*template*...]]
596

    
597

    
598
Modify the options for the cluster.
599

    
600
The ``--vg-name``, ``--no-lvm-storage``, ``--enabled-hypervisors``,
601
``-H (--hypervisor-parameters)``, ``-B (--backend-parameters)``,
602
``-D (--disk-parameters)``, ``--nic-parameters``, ``-C
603
(--candidate-pool-size)``, ``--maintain-node-health``,
604
``--prealloc-wipe-disks``, ``--uid-pool``, ``--node-parameters``,
605
``--master-netdev``, ``--master-netmask``, ``--use-external-mip-script``,
606
and ``--enabled-disk-templates`` options are described in the **init**
607
command.
608

    
609
The ``--hypervisor-state`` and ``--disk-state`` options are described in
610
detail in **ganeti**\(7).
611

    
612
The ``--add-uids`` and ``--remove-uids`` options can be used to
613
modify the user-id pool by adding/removing a list of user-ids or
614
user-id ranges.
615

    
616
The option ``--reserved-lvs`` specifies a list (comma-separated) of
617
logical volume group names (regular expressions) that will be
618
ignored by the cluster verify operation. This is useful if the
619
volume group used for Ganeti is shared with the system for other
620
uses. Note that it's not recommended to create and mark as ignored
621
logical volume names which match Ganeti's own name format (starting
622
with UUID and then .diskN), as this option only skips the
623
verification, but not the actual use of the names given.
624

    
625
To remove all reserved logical volumes, pass in an empty argument
626
to the option, as in ``--reserved-lvs=`` or ``--reserved-lvs ''``.
627

    
628
The ``-I (--default-iallocator)`` is described in the **init**
629
command. To clear the default iallocator, just pass an empty string
630
('').
631

    
632
The ``--specs-...`` and ``--ipolicy-...`` options are described in the
633
**init** command.
634

    
635
See **ganeti**\(7) for a description of ``--submit`` and other common
636
options.
637

    
638
QUEUE
639
~~~~~
640

    
641
**queue** {drain | undrain | info}
642

    
643
Change job queue properties.
644

    
645
The ``drain`` option sets the drain flag on the job queue. No new
646
jobs will be accepted, but jobs already in the queue will be
647
processed.
648

    
649
The ``undrain`` will unset the drain flag on the job queue. New
650
jobs will be accepted.
651

    
652
The ``info`` option shows the properties of the job queue.
653

    
654
WATCHER
655
~~~~~~~
656

    
657
**watcher** {pause *duration* | continue | info}
658

    
659
Make the watcher pause or let it continue.
660

    
661
The ``pause`` option causes the watcher to pause for *duration*
662
seconds.
663

    
664
The ``continue`` option will let the watcher continue.
665

    
666
The ``info`` option shows whether the watcher is currently paused.
667

    
668
REDIST-CONF
669
~~~~~~~~~~~
670

    
671
**redist-conf** [\--submit]
672

    
673
This command forces a full push of configuration files from the
674
master node to the other nodes in the cluster. This is normally not
675
needed, but can be run if the **verify** complains about
676
configuration mismatches.
677

    
678
See **ganeti**\(7) for a description of ``--submit`` and other common
679
options.
680

    
681
RENAME
682
~~~~~~
683

    
684
**rename** [-f] {*name*}
685

    
686
Renames the cluster and in the process updates the master IP
687
address to the one the new name resolves to. At least one of either
688
the name or the IP address must be different, otherwise the
689
operation will be aborted.
690

    
691
Note that since this command can be dangerous (especially when run
692
over SSH), the command will require confirmation unless run with
693
the ``-f`` option.
694

    
695
RENEW-CRYPTO
696
~~~~~~~~~~~~
697

    
698
| **renew-crypto** [-f]
699
| [\--new-cluster-certificate] [\--new-confd-hmac-key]
700
| [\--new-rapi-certificate] [\--rapi-certificate *rapi-cert*]
701
| [\--new-spice-certificate | \--spice-certificate *spice-cert*
702
| \--spice-ca-certificate *spice-ca-cert*]
703
| [\--new-cluster-domain-secret] [\--cluster-domain-secret *filename*]
704

    
705
This command will stop all Ganeti daemons in the cluster and start
706
them again once the new certificates and keys are replicated. The
707
options ``--new-cluster-certificate`` and ``--new-confd-hmac-key``
708
can be used to regenerate the cluster-internal SSL certificate
709
respective the HMAC key used by **ganeti-confd**\(8).
710

    
711
To generate a new self-signed RAPI certificate (used by
712
**ganeti-rapi**\(8)) specify ``--new-rapi-certificate``. If you want to
713
use your own certificate, e.g. one signed by a certificate
714
authority (CA), pass its filename to ``--rapi-certificate``.
715

    
716
To generate a new self-signed SPICE certificate, used by SPICE
717
connections to the KVM hypervisor, specify the
718
``--new-spice-certificate`` option. If you want to provide a
719
certificate, pass its filename to ``--spice-certificate`` and pass the
720
signing CA certificate to ``--spice-ca-certificate``.
721

    
722
``--new-cluster-domain-secret`` generates a new, random cluster
723
domain secret. ``--cluster-domain-secret`` reads the secret from a
724
file. The cluster domain secret is used to sign information
725
exchanged between separate clusters via a third party.
726

    
727
REPAIR-DISK-SIZES
728
~~~~~~~~~~~~~~~~~
729

    
730
**repair-disk-sizes** [instance...]
731

    
732
This command checks that the recorded size of the given instance's
733
disks matches the actual size and updates any mismatches found.
734
This is needed if the Ganeti configuration is no longer consistent
735
with reality, as it will impact some disk operations. If no
736
arguments are given, all instances will be checked.
737

    
738
Note that only active disks can be checked by this command; in case
739
a disk cannot be activated it's advised to use
740
**gnt-instance activate-disks \--ignore-size ...** to force
741
activation without regard to the current size.
742

    
743
When the all disk sizes are consistent, the command will return no
744
output. Otherwise it will log details about the inconsistencies in
745
the configuration.
746

    
747
VERIFY
748
~~~~~~
749

    
750
| **verify** [\--no-nplus1-mem] [\--node-group *nodegroup*]
751
| [\--error-codes] [{-I|\--ignore-errors} *errorcode*]
752
| [{-I|\--ignore-errors} *errorcode*...]
753

    
754
Verify correctness of cluster configuration. This is safe with
755
respect to running instances, and incurs no downtime of the
756
instances.
757

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

    
762
With ``--node-group``, restrict the verification to those nodes and
763
instances that live in the named group. This will not verify global
764
settings, but will allow to perform verification of a group while other
765
operations are ongoing in other groups.
766

    
767
The ``--error-codes`` option outputs each error in the following
768
parseable format: *ftype*:*ecode*:*edomain*:*name*:*msg*.
769
These fields have the following meaning:
770

    
771
ftype
772
    Failure type. Can be *WARNING* or *ERROR*.
773

    
774
ecode
775
    Error code of the failure. See below for a list of error codes.
776

    
777
edomain
778
    Can be *cluster*, *node* or *instance*.
779

    
780
name
781
    Contains the name of the item that is affected from the failure.
782

    
783
msg
784
    Contains a descriptive error message about the error
785

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

    
789
The ``--ignore-errors`` option can be used to change this behaviour,
790
because it demotes the error represented by the error code received as a
791
parameter to a warning. The option must be repeated for each error that
792
should be ignored (e.g.: ``-I ENODEVERSION -I ENODEORPHANLV``). The
793
``--error-codes`` option can be used to determine the error code of a
794
given error.
795

    
796
List of error codes:
797

    
798
@CONSTANTS_ECODES@
799

    
800
VERIFY-DISKS
801
~~~~~~~~~~~~
802

    
803
**verify-disks**
804

    
805
The command checks which instances have degraded DRBD disks and
806
activates the disks of those instances.
807

    
808
This command is run from the **ganeti-watcher** tool, which also
809
has a different, complementary algorithm for doing this check.
810
Together, these two should ensure that DRBD disks are kept
811
consistent.
812

    
813
VERSION
814
~~~~~~~
815

    
816
**version**
817

    
818
Show the cluster version.
819

    
820
Tags
821
~~~~
822

    
823
ADD-TAGS
824
^^^^^^^^
825

    
826
**add-tags** [\--from *file*] {*tag*...}
827

    
828
Add tags to the cluster. If any of the tags contains invalid
829
characters, the entire operation will abort.
830

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

    
837
LIST-TAGS
838
^^^^^^^^^
839

    
840
**list-tags**
841

    
842
List the tags of the cluster.
843

    
844
REMOVE-TAGS
845
^^^^^^^^^^^
846

    
847
**remove-tags** [\--from *file*] {*tag*...}
848

    
849
Remove tags from the cluster. If any of the tags are not existing
850
on the cluster, the entire operation will abort.
851

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

    
858
SEARCH-TAGS
859
^^^^^^^^^^^
860

    
861
**search-tags** {*pattern*}
862

    
863
Searches the tags on all objects in the cluster (the cluster
864
itself, the nodes and the instances) for a given pattern. The
865
pattern is interpreted as a regular expression and a search will be
866
done on it (i.e. the given pattern is not anchored to the beggining
867
of the string; if you want that, prefix the pattern with ^).
868

    
869
If no tags are matching the pattern, the exit code of the command
870
will be one. If there is at least one match, the exit code will be
871
zero. Each match is listed on one line, the object and the tag
872
separated by a space. The cluster will be listed as /cluster, a
873
node will be listed as /nodes/*name*, and an instance as
874
/instances/*name*. Example:
875

    
876
::
877

    
878
    # gnt-cluster search-tags time
879
    /cluster ctime:2007-09-01
880
    /nodes/node1.example.com mtime:2007-10-04
881

    
882
.. vim: set textwidth=72 :
883
.. Local Variables:
884
.. mode: rst
885
.. fill-column: 72
886
.. End: