Statistics
| Branch: | Tag: | Revision:

root / man / gnt-cluster.sgml @ f38ea602

History | View | Annotate | Download (34.2 kB)

1
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2

    
3
  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4
  <!-- Please adjust the date whenever revising the manpage. -->
5
  <!ENTITY dhdate      "<date>June 08, 2010</date>">
6
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
7
       allowed: see man(7), man(1). -->
8
  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
9
  <!ENTITY dhucpackage "<refentrytitle>gnt-cluster</refentrytitle>">
10
  <!ENTITY dhpackage   "gnt-cluster">
11

    
12
  <!ENTITY debian      "<productname>Debian</productname>">
13
  <!ENTITY gnu         "<acronym>GNU</acronym>">
14
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
15
  <!ENTITY footer SYSTEM "footer.sgml">
16
]>
17

    
18
<refentry>
19
  <refentryinfo>
20
    <copyright>
21
      <year>2006</year>
22
      <year>2007</year>
23
      <year>2008</year>
24
      <year>2009</year>
25
      <holder>Google Inc.</holder>
26
    </copyright>
27
    &dhdate;
28
  </refentryinfo>
29
  <refmeta>
30
    &dhucpackage;
31

    
32
    &dhsection;
33
    <refmiscinfo>Ganeti 2.2</refmiscinfo>
34
  </refmeta>
35
  <refnamediv>
36
    <refname>&dhpackage;</refname>
37

    
38
    <refpurpose>Ganeti administration, cluster-wide</refpurpose>
39
  </refnamediv>
40
  <refsynopsisdiv>
41
    <cmdsynopsis>
42
      <command>&dhpackage; </command>
43

    
44
      <arg choice="req">command</arg>
45
      <arg>arguments...</arg>
46
    </cmdsynopsis>
47
  </refsynopsisdiv>
48
  <refsect1>
49
    <title>DESCRIPTION</title>
50

    
51
    <para>
52
      The <command>&dhpackage;</command> is used for cluster-wide
53
      administration in the Ganeti system.
54
    </para>
55

    
56
  </refsect1>
57
  <refsect1>
58
    <title>COMMANDS</title>
59

    
60
    <refsect2>
61
      <title>ADD-TAGS</title>
62

    
63
      <cmdsynopsis>
64
        <command>add-tags</command>
65
        <arg choice="opt">--from <replaceable>file</replaceable></arg>
66
        <arg choice="req"
67
        rep="repeat"><replaceable>tag</replaceable></arg>
68
      </cmdsynopsis>
69

    
70
      <para>
71
        Add tags to the cluster. If any of the tags contains invalid
72
        characters, the entire operation will abort.
73
      </para>
74

    
75
      <para>
76
        If the <option>--from</option> option is given, the list of
77
        tags will be extended with the contents of that file (each
78
        line becomes a tag). In this case, there is not need to pass
79
        tags on the command line (if you do, both sources will be
80
        used). A file name of - will be interpreted as stdin.
81
      </para>
82
    </refsect2>
83

    
84
    <refsect2>
85
      <title>COMMAND</title>
86

    
87
      <cmdsynopsis>
88
        <command>command</command>
89
        <arg>-n <replaceable>node</replaceable></arg>
90
        <arg choice="req"><replaceable>command</replaceable></arg>
91
      </cmdsynopsis>
92

    
93
      <para>
94
        Executes a command on all nodes. If the option
95
        <option>-n</option> is not given, the command will be executed
96
        on all nodes, otherwise it will be executed only on the
97
        node(s) specified. Use the option multiple times for running
98
        it on multiple nodes, like:
99

    
100
        <screen>
101
          # gnt-cluster command -n node1.example.com -n node2.example.com date
102
        </screen>
103

    
104
      </para>
105

    
106
      <para>
107
        The command is executed serially on the selected nodes. If the
108
        master node is present in the list, the command will be
109
        executed last on the master. Regarding the other nodes, the
110
        execution order is somewhat alphabetic, so that
111
        node2.example.com will be earlier than node10.example.com but
112
        after node1.example.com.
113
      </para>
114

    
115
      <para>
116
        So given the node names node1, node2, node3, node10, node11,
117
        with node3 being the master, the order will be: node1, node2,
118
        node10, node11, node3.
119
      </para>
120

    
121
      <para>
122
        The command is constructed by concatenating all other command
123
        line arguments. For example, to list the contents of the
124
        <filename class="directory">/etc</filename> directory on all
125
        nodes, run:
126

    
127
        <screen>
128
          # gnt-cluster command ls -l /etc
129
        </screen>
130

    
131
        and the command which will be executed will be
132
        <computeroutput>"ls -l /etc"</computeroutput>
133
      </para>
134
    </refsect2>
135

    
136
    <refsect2>
137
      <title>COPYFILE</title>
138

    
139
      <cmdsynopsis>
140
        <command>copyfile</command>
141
        <arg>--use-replication-network</arg>
142
        <arg>-n <replaceable>node</replaceable></arg>
143
        <arg choice="req"><replaceable>file</replaceable></arg>
144
      </cmdsynopsis>
145

    
146
      <para>
147
        Copies a file to all or to some nodes. The argument specifies
148
        the source file (on the current system), the
149
        <option>-n</option> argument specifies the target node, or
150
        nodes if the option is given multiple times. If
151
        <option>-n</option> is not given at all, the file will be
152
        copied to all nodes.
153

    
154
        Passing the <option>--use-replication-network</option> option
155
        will cause the copy to be done over the replication network
156
        (only matters if the primary/secondary IPs are different).
157

    
158
        Example:
159
        <screen>
160
          # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test
161
        </screen>
162

    
163
        This will copy the file <filename>/tmp/test</filename> from
164
        the current node to the two named nodes.
165
      </para>
166
    </refsect2>
167

    
168
    <refsect2>
169
      <title>DESTROY</title>
170

    
171
      <cmdsynopsis>
172
        <command>destroy</command>
173
        <arg choice="req">--yes-do-it</arg>
174
      </cmdsynopsis>
175

    
176
      <para>
177
        Remove all configuration files related to the cluster, so that
178
        a <command>gnt-cluster init</command> can be done again
179
        afterwards.
180
      </para>
181

    
182
      <para>
183
        Since this is a dangerous command, you are required to pass
184
        the argument <replaceable>--yes-do-it.</replaceable>
185
      </para>
186
    </refsect2>
187

    
188
    <refsect2>
189
      <title>GETMASTER</title>
190

    
191
      <cmdsynopsis>
192
        <command>getmaster</command>
193
      </cmdsynopsis>
194

    
195
      <para>
196
        Displays the current master node.
197
      </para>
198
    </refsect2>
199

    
200
    <refsect2>
201
      <title>INFO</title>
202

    
203
      <cmdsynopsis>
204
        <command>info</command>
205
        <arg>--roman</arg>
206
      </cmdsynopsis>
207

    
208
      <para>
209
        Shows runtime cluster information: cluster name, architecture
210
        (32 or 64 bit), master node, node list and instance list.
211
      </para>
212

    
213
      <para>
214
        Passing the <option>--roman</option> option gnt-cluster info will try
215
        to print its integer fields in a latin friendly way. This allows
216
        further diffusion of Ganeti among ancient cultures.
217
      </para>
218

    
219
    </refsect2>
220

    
221
    <refsect2>
222
      <title>INIT</title>
223

    
224
      <cmdsynopsis>
225
        <command>init</command>
226
        <sbr>
227
        <arg>-s <replaceable>secondary_ip</replaceable></arg>
228
        <sbr>
229
        <arg>-g <replaceable>vg-name</replaceable></arg>
230
        <sbr>
231
        <arg>--master-netdev <replaceable>vg-name</replaceable></arg>
232
        <sbr>
233
        <arg>-m <replaceable>mac-prefix</replaceable></arg>
234
        <sbr>
235
        <arg>--no-lvm-storage</arg>
236
        <sbr>
237
        <arg>--no-etc-hosts</arg>
238
        <sbr>
239
        <arg>--no-ssh-init</arg>
240
        <sbr>
241
        <arg>--file-storage-dir <replaceable>dir</replaceable></arg>
242
        <sbr>
243
        <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg>
244
        <sbr>
245
        <arg>-t <replaceable>hypervisor name</replaceable></arg>
246
        <sbr>
247
        <arg>--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg>
248
        <sbr>
249
        <arg>--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
250
        <sbr>
251
        <arg>--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg>
252
        <sbr>
253
        <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
254
        <sbr>
255
        <arg>--uid-pool <replaceable>user-id pool definition</replaceable></arg>
256
        <sbr>
257
        <arg>-I <replaceable>default instance allocator</replaceable></arg>
258
        <sbr>
259
        <arg choice="req"><replaceable>clustername</replaceable></arg>
260
      </cmdsynopsis>
261

    
262
      <para>
263
        This commands is only run once initially on the first node of
264
        the cluster. It will initialize the cluster configuration and
265
        setup ssh-keys and more.
266
      </para>
267

    
268
      <para>
269
        Note that the <replaceable>clustername</replaceable> is not
270
        any random name. It has to be resolvable to an IP address
271
        using DNS, and it is best if you give the fully-qualified
272
        domain name. This hostname must resolve to an IP address
273
        reserved exclusively for this purpose.
274
      </para>
275

    
276
      <para>
277
        The cluster can run in two modes: single-home or
278
        dual-homed. In the first case, all traffic (both public
279
        traffic, inter-node traffic and data replication traffic) goes
280
        over the same interface. In the dual-homed case, the data
281
        replication traffic goes over the second network. The
282
        <option>-s</option> option here marks the cluster as
283
        dual-homed and its parameter represents this node's address on
284
        the second network. If you initialise the cluster with
285
        <option>-s</option>, all nodes added must have a secondary IP
286
        as well.
287
      </para>
288

    
289
      <para>
290
        Note that for Ganeti it doesn't matter if the secondary
291
        network is actually a separate physical network, or is done
292
        using tunneling, etc. For performance reasons, it's
293
        recommended to use a separate network, of course.
294
      </para>
295

    
296
      <para>
297
        The <option>-g</option> option will let you specify a volume group
298
        different than "xenvg" for Ganeti to use when creating instance disks.
299
        This volume group must have the same name on all nodes. Once the
300
        cluster is initialized this can be altered by using the
301
        <command>modify</command> command. If you don't want to use lvm
302
        storage at all use the <option>--no-lvm-storage</option> option.
303
        Once the cluster is initialized you can change this setup with the
304
        <command>modify</command> command.
305
      </para>
306

    
307
      <para>
308
        The <option>--master-netdev</option> option is useful for specifying a
309
        different interface on which the master will activate its IP address.
310
        It's important that all nodes have this interface because you'll need
311
        it for a master failover.
312
      </para>
313

    
314
      <para>
315
        The <option>-m</option> option will let you specify a three byte prefix
316
        under which the virtual MAC addresses of your instances will be
317
        generated. The prefix must be specified in the format XX:XX:XX and the
318
        default is aa:00:00.
319
      </para>
320

    
321
      <para>
322
        The <option>--no-lvm-storage</option> option allows you to initialize
323
        the cluster without lvm support. This means that only instances using
324
        files as storage backend will be possible to create. Once the cluster
325
        is initialized you can change this setup with the
326
        <command>modify</command> command.
327
      </para>
328

    
329
      <para>
330
        The <option>--no-etc-hosts</option> option allows you to initialize the
331
        cluster without modifying the <filename>/etc/hosts</filename> file.
332
      </para>
333

    
334
      <para>
335
        The <option>--no-ssh-init</option> option allows you to initialize the
336
        cluster without creating or distributing SSH key pairs.
337
      </para>
338

    
339
      <para>
340
        The <option>--file-storage-dir</option> option allows you
341
        set the directory to use for storing the instance disk
342
        files when using file storage as backend for instance disks.
343
      </para>
344

    
345
      <para>
346
        The <option>--enabled-hypervisors</option> option allows you
347
        to set the list of hypervisors that will be enabled for
348
        this cluster. Instance hypervisors can only be chosen from
349
        the list of enabled hypervisors, and the first entry of this list
350
        will be used by default. Currently, the following hypervisors are
351
        available:
352
      </para>
353

    
354
      <para>
355
        <variablelist>
356
          <varlistentry>
357
            <term>xen-pvm</term>
358
            <listitem>
359
              <para>
360
                Xen PVM hypervisor
361
              </para>
362
            </listitem>
363
          </varlistentry>
364
          <varlistentry>
365
            <term>xen-hvm</term>
366
            <listitem>
367
              <para>
368
                Xen HVM hypervisor
369
              </para>
370
            </listitem>
371
          </varlistentry>
372
          <varlistentry>
373
            <term>kvm</term>
374
            <listitem>
375
              <para>
376
                Linux KVM hypervisor
377
              </para>
378
            </listitem>
379
          </varlistentry>
380
          <varlistentry>
381
            <term>chroot</term>
382
            <listitem>
383
              <para>
384
                a simple chroot manager that starts chroot based on a
385
                script at the root of the filesystem holding the
386
                chroot
387
          <varlistentry>
388
            <term>fake</term>
389
            <listitem>
390
              <para>
391
                fake hypervisor for development/testing
392
              </para>
393
            </listitem>
394
          </varlistentry>
395
        </variablelist>
396
      </para>
397

    
398
      <para>
399
        Either a single hypervisor name or a comma-separated list of
400
        hypervisor names can be specified. If this option is not
401
        specified, only the xen-pvm hypervisor is enabled by default.
402
      </para>
403

    
404
      <para>
405
        The <option>--hypervisor-parameters</option> option allows you
406
        to set default hypervisor specific parameters for the
407
        cluster. The format of this option is the name of the
408
        hypervisor, followed by a colon and a comma-separated list of
409
        key=value pairs. The keys available for each hypervisors are
410
        detailed in the <citerefentry>
411
        <refentrytitle>gnt-instance</refentrytitle>
412
        <manvolnum>8</manvolnum> </citerefentry> man page, in the
413
        <command>add</command> command plus the following parameters
414
        which are only configurable globally (at cluster level):
415

    
416
        <variablelist>
417
          <varlistentry>
418
            <term>migration_port</term>
419
            <listitem>
420
              <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
421

    
422
              <para>
423
                This options specifies the TCP port to use for
424
                live-migration. For Xen, the same port should be
425
                configured on all nodes in
426
                the <filename>/etc/xen/xend-config.sxp</filename>
427
                file, under the
428
                key <quote>xend-relocation-port</quote>.
429
              </para>
430
            </listitem>
431
          </varlistentry>
432
          <varlistentry>
433
            <term>migration_bandwidth</term>
434
            <listitem>
435
              <simpara>Valid for the KVM hypervisor.</simpara>
436

    
437
              <para>
438
                This option specifies the maximum bandwidth that KVM will
439
                use for instance live migrations. The value is in MiB/s.
440
              </para>
441

    
442
              <simpara>This option is only effective with kvm versions >= 78
443
              and qemu-kvm versions >= 0.10.0.
444
              </simpara>
445
            </listitem>
446
          </varlistentry>
447
        </variablelist>
448

    
449
      </para>
450

    
451
      <para>
452
        The <option>--backend-parameters</option> option allows you to set
453
        the default backend parameters for the cluster. The parameter
454
        format is a comma-separated list of key=value pairs with the
455
        following supported keys:
456
      </para>
457

    
458
      <para>
459
        <variablelist>
460
          <varlistentry>
461
            <term>vcpus</term>
462
            <listitem>
463
              <para>
464
                Number of VCPUs to set for an instance by default, must
465
                be an integer, will be set to 1 if no specified.
466
              </para>
467
            </listitem>
468
          </varlistentry>
469
          <varlistentry>
470
            <term>memory</term>
471
            <listitem>
472
              <para>
473
                Amount of memory to allocate for an instance by default,
474
                can be either an integer or an integer followed by a
475
                unit (M for mebibytes and G for gibibytes are
476
                supported), will be set to 128M if not specified.
477
              </para>
478
            </listitem>
479
          </varlistentry>
480
          <varlistentry>
481
            <term>auto_balance</term>
482
            <listitem>
483
              <para>
484
                Value of the auto_balance flag for instances to use by
485
                default, will be set to true if not specified.
486
              </para>
487
            </listitem>
488
          </varlistentry>
489
        </variablelist>
490
      </para>
491

    
492
      <para>
493
        The <option>--nic-parameters</option> option allows you to set
494
        the default nic parameters for the cluster. The parameter
495
        format is a comma-separated list of key=value pairs with the
496
        following supported keys:
497
        <variablelist>
498
          <varlistentry>
499
            <term>mode</term>
500
            <listitem>
501
              <para>
502
                The default nic mode, 'routed' or 'bridged'.
503
              </para>
504
            </listitem>
505
          </varlistentry>
506
          <varlistentry>
507
            <term>link</term>
508
            <listitem>
509
              <para>
510
                In bridged mode the default NIC bridge. In routed mode it
511
                represents an hypervisor-vif-script dependent value to allow
512
                different instance groups. For example under the KVM default
513
                network script it is interpreted as a routing table number or
514
                name.
515
              </para>
516
            </listitem>
517
          </varlistentry>
518
        </variablelist>
519
      </para>
520

    
521
      <para>
522
        The option <option>--maintain-node-health</option> allows to
523
        enable/disable automatic maintenance actions on
524
        nodes. Currently these include automatic shutdown of instances
525
        and deactivation of DRBD devices on offline nodes; in the
526
        future it might be extended to automatic removal of unknown
527
        LVM volumes, etc.
528
      </para>
529

    
530
      <para>
531
        The <option>--uid-pool</option> option initializes the user-id pool.
532
        The <replaceable>user-id pool definition</replaceable> can contain a
533
        list of user-ids and/or a list of user-id ranges. The parameter format
534
        is a comma-separated list of numeric user-ids or user-id ranges.
535
        The ranges are defined by a lower and higher boundary, separated
536
        by a dash. The boundaries are inclusive.
537
        If the <option>--uid-pool</option> option is not supplied, the
538
        user-id pool is initialized to an empty list. An empty list means that
539
        the user-id pool feature is disabled.
540
      </para>
541

    
542
      <para>
543
        The <option>-I (--default-iallocator)</option> option specifies the
544
        default instance allocator. The instance allocator will be used for
545
        operations like instance creation, instance and node migration, etc.
546
        when no manual override is specified. If this option is not specified,
547
        the default instance allocator will be blank, which means that relevant
548
        operations will require the administrator to manually specify either an
549
        instance allocator, or a set of nodes.
550
        The default iallocator can be changed later using the
551
        <command>modify</command> command.
552
      </para>
553

    
554
    </refsect2>
555

    
556
    <refsect2>
557
      <title>LIST-TAGS</title>
558

    
559
      <cmdsynopsis>
560
        <command>list-tags</command>
561
      </cmdsynopsis>
562

    
563
      <para>List the tags of the cluster.</para>
564
    </refsect2>
565

    
566
    <refsect2>
567
      <title>MASTERFAILOVER</title>
568

    
569
      <cmdsynopsis>
570
        <command>masterfailover</command>
571
        <arg>--no-voting</arg>
572
      </cmdsynopsis>
573

    
574
      <para>
575
        Failover the master role to the current node.
576
      </para>
577

    
578
      <para>
579
        The <option>--no-voting</option> option skips the remote node agreement
580
        checks. This is dangerous, but necessary in some cases (for example
581
        failing over the master role in a 2 node cluster with the original
582
        master down). If the original master then comes up, it won't be able to
583
        start its master daemon because it won't have enough votes, but so
584
        won't the new master, if the master daemon ever needs a restart. You
585
        can pass <option>--no-voting</option> to
586
        <command>ganeti-masterd</command> on the new master to solve this
587
        problem, and run <command>gnt-cluster redist-conf</command> to make
588
        sure the cluster is consistent again.
589
      </para>
590

    
591
    </refsect2>
592

    
593
    <refsect2>
594
      <title>MODIFY</title>
595

    
596
      <cmdsynopsis>
597
        <command>modify</command>
598
        <sbr>
599
        <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
600
        <sbr>
601
        <arg choice="opt">--no-lvm-storage</arg>
602
        <sbr>
603
        <arg choice="opt">--enabled-hypervisors
604
        <replaceable>hypervisors</replaceable></arg>
605
        <sbr>
606
        <arg choice="opt">--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg>
607
        <sbr>
608
        <arg choice="opt">--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
609
        <sbr>
610
        <arg choice="opt">--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg>
611
        <sbr>
612
        <arg choice="opt">--uid-pool <replaceable>user-id pool definition</replaceable></arg>
613
        <sbr>
614
        <arg choice="opt">--add-uids <replaceable>user-id pool definition</replaceable></arg>
615
        <sbr>
616
        <arg choice="opt">--remove-uids <replaceable>user-id pool definition</replaceable></arg>
617
        <sbr>
618
        <arg choice="opt">-C <replaceable>candidate_pool_size</replaceable></arg>
619
        <sbr>
620
        <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
621
        <sbr>
622
        <arg choice="opt">-I <replaceable>default instance allocator</replaceable></arg>
623

    
624
        <sbr>
625
        <arg>--reserved-lvs=<replaceable>NAMES</replaceable></arg>
626

    
627
      </cmdsynopsis>
628

    
629
        <para>
630
          Modify the options for the cluster.
631
        </para>
632

    
633
        <para>
634
          The <option>-g</option>, <option>--no-lvm-storarge</option>,
635
          <option>--enabled-hypervisors</option>,
636
          <option>--hypervisor-parameters</option>,
637
          <option>--backend-parameters</option>,
638
          <option>--nic-parameters</option>,
639
          <option>--maintain-node-health</option>,
640
          <option>--uid-pool</option> and
641
          <option>-I</option> options are
642
          described in the <command>init</command> command.
643
        </para>
644

    
645
      <para>
646
        The <option>-C</option> option specifies the
647
        <varname>candidate_pool_size</varname> cluster parameter. This
648
        is the number of nodes that the master will try to keep as
649
        <literal>master_candidates</literal>. For more details about
650
        this role and other node roles, see the <citerefentry>
651
        <refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum>
652
        </citerefentry>. If you increase the size, the master will
653
        automatically promote as many nodes as required and possible
654
        to reach the intended number.
655
      </para>
656

    
657
      <para>
658
        The <option>--add-uids</option> and <option>--remove-uids</option>
659
        options can be used to modify the user-id pool by adding/removing
660
        a list of user-ids or user-id ranges.
661
      </para>
662

    
663
      <para>
664
        The option <option>--reserved-lvs</option> specifies a list
665
        (comma-separated) of logical volume group names (regular
666
        expressions) that will be ignored by the cluster verify
667
        operation. This is useful if the volume group used for Ganeti
668
        is shared with the system for other uses. Note that it's not
669
        recommended to create and mark as ignored logical volume names
670
        which match Ganeti's own name format (starting with UUID and
671
        then <literal>.diskN</literal>), as this option only skips the
672
        verification, but not the actual use of the names given.
673
      </para>
674

    
675
      <para>
676
        To remove all reserved logical volumes, pass in an empty
677
        argument to the option, as in <option>--reserved-lvs=</option>
678
        or <option>--reserved-lvs ''</option>.
679
      </para>
680

    
681
    </refsect2>
682

    
683
    <refsect2>
684
      <title>QUEUE</title>
685

    
686
      <cmdsynopsis>
687
        <command>queue</command>
688
        <arg choice="opt">drain</arg>
689
        <arg choice="opt">undrain</arg>
690
        <arg choice="opt">info</arg>
691

    
692
      </cmdsynopsis>
693

    
694
      <para>
695
        Change job queue properties.
696
      </para>
697

    
698
      <para>
699
        The <option>drain</option> option sets the drain flag on the
700
        job queue. No new jobs will be accepted, but jobs already in
701
        the queue will be processed.
702
      </para>
703

    
704
      <para>
705
        The <option>undrain</option> will unset the drain flag on the
706
        job queue. New jobs will be accepted.
707
      </para>
708

    
709
      <para>
710
        The <option>info</option> option shows the properties of the
711
        job queue.
712
      </para>
713
    </refsect2>
714

    
715
    <refsect2>
716
      <title>WATCHER</title>
717

    
718
      <cmdsynopsis>
719
        <command>watcher</command>
720
        <group choice="req">
721
          <arg>pause <replaceable>duration</replaceable></arg>
722
          <arg>continue</arg>
723
          <arg>info</arg>
724
        </group>
725
      </cmdsynopsis>
726

    
727
      <para>
728
        Make the watcher pause or let it continue.
729
      </para>
730

    
731
      <para>
732
        The <option>pause</option> option causes the watcher to pause for
733
        <replaceable>duration</replaceable> seconds.
734
      </para>
735

    
736
      <para>
737
        The <option>continue</option> option will let the watcher continue.
738
      </para>
739

    
740
      <para>
741
        The <option>info</option> option shows whether the watcher is currently
742
        paused.
743
      </para>
744
    </refsect2>
745

    
746
    <refsect2>
747
      <title>redist-conf</title>
748
      <cmdsynopsis>
749
        <command>redist-conf</command>
750
          <arg>--submit</arg>
751
      </cmdsynopsis>
752

    
753
      <para>
754
        This command forces a full push of configuration files from
755
        the master node to the other nodes in the cluster. This is
756
        normally not needed, but can be run if the
757
        <command>verify</command> complains about configuration
758
        mismatches.
759
      </para>
760

    
761
      <para>
762
        The <option>--submit</option> option is used to send the job
763
        to the master daemon but not wait for its completion. The job
764
        ID will be shown so that it can be examined via
765
        <command>gnt-job info</command>.
766
      </para>
767

    
768
    </refsect2>
769
    <refsect2>
770
      <title>REMOVE-TAGS</title>
771

    
772
      <cmdsynopsis>
773
        <command>remove-tags</command>
774
        <arg choice="opt">--from <replaceable>file</replaceable></arg>
775
        <arg choice="req"
776
        rep="repeat"><replaceable>tag</replaceable></arg>
777
      </cmdsynopsis>
778

    
779
      <para>
780
        Remove tags from the cluster. If any of the tags are not
781
        existing on the cluster, the entire operation will abort.
782
      </para>
783

    
784
      <para>
785
        If the <option>--from</option> option is given, the list of
786
        tags will be extended with the contents of that file (each
787
        line becomes a tag). In this case, there is not need to pass
788
        tags on the command line (if you do, both sources will be
789
        used). A file name of - will be interpreted as stdin.
790
      </para>
791
    </refsect2>
792

    
793
    <refsect2>
794
      <title>RENAME</title>
795

    
796
      <cmdsynopsis>
797
        <command>rename</command>
798
        <arg>-f</arg>
799
        <arg choice="req"><replaceable>name</replaceable></arg>
800
      </cmdsynopsis>
801

    
802
      <para>
803
        Renames the cluster and in the process updates the master IP
804
        address to the one the new name resolves to. At least one of
805
        either the name or the IP address must be different, otherwise
806
        the operation will be aborted.
807
      </para>
808

    
809
      <para>
810
        Note that since this command can be dangerous (especially when
811
        run over SSH), the command will require confirmation unless
812
        run with the <option>-f</option> option.
813
      </para>
814
    </refsect2>
815

    
816
    <refsect2>
817
      <title>RENEW-CRYPTO</title>
818

    
819
      <cmdsynopsis>
820
        <command>renew-crypto</command>
821
        <arg>-f</arg>
822
        <sbr>
823
        <arg choice="opt">--new-cluster-certificate</arg>
824
        <arg choice="opt">--new-confd-hmac-key</arg>
825
        <sbr>
826
        <arg choice="opt">--new-rapi-certificate</arg>
827
        <arg choice="opt">--rapi-certificate <replaceable>rapi-cert</replaceable></arg>
828
        <sbr>
829
        <arg choice="opt">--new-cluster-domain-secret</arg>
830
        <arg choice="opt">--cluster-domain-secret <replaceable>filename</replaceable></arg>
831
      </cmdsynopsis>
832

    
833
      <para>
834
        This command will stop all
835
        Ganeti daemons in the cluster and start them again once the new
836
        certificates and keys are replicated. The options
837
        <option>--new-cluster-certificate</option> and
838
        <option>--new-confd-hmac-key</option> can be used to regenerate the
839
        cluster-internal SSL certificate respective the HMAC key used by
840
        <citerefentry>
841
        <refentrytitle>ganeti-confd</refentrytitle><manvolnum>8</manvolnum>
842
        </citerefentry>.
843
      </para>
844

    
845
      <para>
846
        To generate a new self-signed RAPI certificate (used by <citerefentry>
847
        <refentrytitle>ganeti-rapi</refentrytitle><manvolnum>8</manvolnum>
848
        </citerefentry>) specify <option>--new-rapi-certificate</option>. If
849
        you want to use your own certificate, e.g. one signed by a certificate
850
        authority (CA), pass its filename to
851
        <option>--rapi-certificate</option>.
852
      </para>
853

    
854
      <para>
855
        <option>--new-cluster-domain-secret</option> generates a new, random
856
        cluster domain secret. <option>--cluster-domain-secret</option> reads
857
        the secret from a file. The cluster domain secret is used to sign
858
        information exchanged between separate clusters via a third party.
859
      </para>
860
    </refsect2>
861

    
862
    <refsect2>
863
      <title>REPAIR-DISK-SIZES</title>
864

    
865
      <cmdsynopsis>
866
        <command>repair-disk-sizes</command>
867
        <arg rep="repeat">instance</arg>
868
      </cmdsynopsis>
869

    
870
      <para>
871
        This command checks that the recorded size of the given
872
        instance's disks matches the actual size and updates any
873
        mismatches found. This is needed if the Ganeti configuration
874
        is no longer consistent with reality, as it will impact some
875
        disk operations. If no arguments are given, all instances will
876
        be checked.
877
      </para>
878

    
879
      <para>
880
        Note that only active disks can be checked by this command; in
881
        case a disk cannot be activated it's advised to use
882
        <command>gnt-instance activate-disks --ignore-size ...</command> to
883
        force activation without regard to the
884
        current size.
885
      </para>
886

    
887
      <para>
888
        When the all disk sizes are consistent, the command will
889
        return no output. Otherwise it will log details about the
890
        inconsistencies in the configuration.
891
      </para>
892
    </refsect2>
893

    
894
    <refsect2>
895
      <title>SEARCH-TAGS</title>
896

    
897
      <cmdsynopsis>
898
        <command>search-tags</command>
899
        <arg choice="req"><replaceable>pattern</replaceable></arg>
900
      </cmdsynopsis>
901

    
902
      <para>
903
        Searches the tags on all objects in the cluster (the cluster
904
        itself, the nodes and the instances) for a given pattern. The
905
        pattern is interpreted as a regular expression and a search
906
        will be done on it (i.e. the given pattern is not anchored to
907
        the beggining of the string; if you want that, prefix the
908
        pattern with <literal>^</literal>).
909
      </para>
910

    
911
      <para>
912
        If no tags are matching the pattern, the exit code of the
913
        command will be one. If there is at least one match, the exit
914
        code will be zero. Each match is listed on one line, the
915
        object and the tag separated by a space. The cluster will be
916
        listed as <filename>/cluster</filename>, a node will be listed
917
        as
918
        <filename>/nodes/<replaceable>name</replaceable></filename>,
919
        and an instance as
920
        <filename>/instances/<replaceable>name</replaceable></filename>.
921
        Example:
922
      </para>
923
<screen>
924
# gnt-cluster search-tags time
925
/cluster ctime:2007-09-01
926
/nodes/node1.example.com mtime:2007-10-04
927
</screen>
928
    </refsect2>
929

    
930
    <refsect2>
931
      <title>VERIFY</title>
932

    
933
      <cmdsynopsis>
934
        <command>verify</command>
935
        <arg choice="opt">--no-nplus1-mem</arg>
936
      </cmdsynopsis>
937

    
938
      <para>
939
        Verify correctness of cluster configuration. This is safe with
940
        respect to running instances, and incurs no downtime of the
941
        instances.
942
      </para>
943

    
944
      <para>
945
        If the <option>--no-nplus1-mem</option> option is given, Ganeti won't
946
        check whether if it loses a node it can restart all the instances on
947
        their secondaries (and report an error otherwise).
948
      </para>
949
    </refsect2>
950

    
951
    <refsect2>
952
      <title>VERIFY-DISKS</title>
953

    
954
      <cmdsynopsis>
955
        <command>verify-disks</command>
956
      </cmdsynopsis>
957

    
958
      <para>
959
        The command checks which instances have degraded DRBD disks
960
        and activates the disks of those instances.
961
      </para>
962

    
963
      <para>
964
        This command is run from the <command>ganeti-watcher</command>
965
        tool, which also has a different, complementary algorithm for
966
        doing this check. Together, these two should ensure that DRBD
967
        disks are kept consistent.
968
      </para>
969
    </refsect2>
970

    
971
    <refsect2>
972
      <title>VERSION</title>
973

    
974
      <cmdsynopsis>
975
        <command>version</command>
976
      </cmdsynopsis>
977

    
978
      <para>
979
        Show the cluster version.
980
      </para>
981
    </refsect2>
982

    
983
  </refsect1>
984

    
985
  &footer;
986

    
987
</refentry>
988

    
989
<!-- Keep this comment at the end of the file
990
Local variables:
991
mode: sgml
992
sgml-omittag:t
993
sgml-shorttag:t
994
sgml-minimize-attributes:nil
995
sgml-always-quote-attributes:t
996
sgml-indent-step:2
997
sgml-indent-data:t
998
sgml-parent-document:nil
999
sgml-default-dtd-file:nil
1000
sgml-exposed-tags:nil
1001
sgml-local-catalogs:nil
1002
sgml-local-ecat-files:nil
1003
End:
1004
-->