Statistics
| Branch: | Tag: | Revision:

root / man / gnt-cluster.sgml @ e43d4f9f

History | View | Annotate | Download (31.6 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>February 12, 2009</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.0</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
      </cmdsynopsis>
206

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

    
213
    <refsect2>
214
      <title>INIT</title>
215

    
216
      <cmdsynopsis>
217
        <command>init</command>
218
        <sbr>
219
        <arg>-s <replaceable>secondary_ip</replaceable></arg>
220
        <sbr>
221
        <arg>-g <replaceable>vg-name</replaceable></arg>
222
        <sbr>
223
        <arg>--master-netdev <replaceable>vg-name</replaceable></arg>
224
        <sbr>
225
        <arg>-m <replaceable>mac-prefix</replaceable></arg>
226
        <sbr>
227
        <arg>--no-lvm-storage</arg>
228
        <sbr>
229
        <arg>--no-etc-hosts</arg>
230
        <sbr>
231
        <arg>--no-ssh-init</arg>
232
        <sbr>
233
        <arg>--file-storage-dir <replaceable>dir</replaceable></arg>
234
        <sbr>
235
        <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg>
236
        <sbr>
237
        <arg>-t <replaceable>hypervisor name</replaceable></arg>
238
        <sbr>
239
        <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>
240
        <sbr>
241
        <arg>--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
242
        <sbr>
243
        <arg>--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg>
244
        <sbr>
245
        <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
246
        <sbr>
247
        <arg>--uid-pool <replaceable>user-id pool definition</replaceable></arg>
248
        <sbr>
249
        <arg choice="req"><replaceable>clustername</replaceable></arg>
250
      </cmdsynopsis>
251

    
252
      <para>
253
        This commands is only run once initially on the first node of
254
        the cluster. It will initialize the cluster configuration and
255
        setup ssh-keys and more.
256
      </para>
257

    
258
      <para>
259
        Note that the <replaceable>clustername</replaceable> is not
260
        any random name. It has to be resolvable to an IP address
261
        using DNS, and it is best if you give the fully-qualified
262
        domain name. This hostname must resolve to an IP address
263
        reserved exclusively for this purpose.
264
      </para>
265

    
266
      <para>
267
        The cluster can run in two modes: single-home or
268
        dual-homed. In the first case, all traffic (both public
269
        traffic, inter-node traffic and data replication traffic) goes
270
        over the same interface. In the dual-homed case, the data
271
        replication traffic goes over the second network. The
272
        <option>-s</option> option here marks the cluster as
273
        dual-homed and its parameter represents this node's address on
274
        the second network. If you initialise the cluster with
275
        <option>-s</option>, all nodes added must have a secondary IP
276
        as well.
277
      </para>
278

    
279
      <para>
280
        Note that for Ganeti it doesn't matter if the secondary
281
        network is actually a separate physical network, or is done
282
        using tunneling, etc. For performance reasons, it's
283
        recommended to use a separate network, of course.
284
      </para>
285

    
286
      <para>
287
        The <option>-g</option> option will let you specify a volume group
288
        different than 'xenvg' for ganeti to use when creating instance disks.
289
        This volume group must have the same name on all nodes. Once the
290
        cluster is initialized this can be altered by using the
291
        <command>modify</command> command. If you don't want to use lvm
292
        storage at all use the <option>--no-lvm-storage</option> option.
293
        Once the cluster is initialized you can change this setup with the
294
        <command>modify</command> command.
295
      </para>
296

    
297
      <para>
298
        The <option>--master-netdev</option> option is useful for specifying a
299
        different interface on which the master will activate its IP address.
300
        It's important that all nodes have this interface because you'll need
301
        it for a master failover.
302
      </para>
303

    
304
      <para>
305
        The <option>-m</option> option will let you specify a three byte prefix
306
        under which the virtual MAC addresses of your instances will be
307
        generated. The prefix must be specified in the format XX:XX:XX and the
308
        default is aa:00:00.
309
      </para>
310

    
311
      <para>
312
        The <option>--no-lvm-storage</option> option allows you to initialize
313
        the cluster without lvm support. This means that only instances using
314
        files as storage backend will be possible to create. Once the cluster
315
        is initialized you can change this setup with the
316
        <command>modify</command> command.
317
      </para>
318

    
319
      <para>
320
        The <option>--no-etc-hosts</option> option allows you to initialize the
321
        cluster without modifying the <filename>/etc/hosts</filename> file.
322
      </para>
323

    
324
      <para>
325
        The <option>--no-ssh-init</option> option allows you to initialize the
326
        cluster without creating or distributing SSH key pairs.
327
      </para>
328

    
329
      <para>
330
        The <option>--file-storage-dir</option> option allows you
331
        set the directory to use for storing the instance disk
332
        files when using file storage as backend for instance disks.
333
      </para>
334

    
335
      <para>
336
        The <option>--enabled-hypervisors</option> option allows you
337
        to set the list of hypervisors that will be enabled for
338
        this cluster. Instance hypervisors can only be chosen from
339
        the list of enabled hypervisors, and the first entry of this list
340
        will be used by default. Currently, the following hypervisors are
341
        available:
342
      </para>
343

    
344
      <para>
345
        <variablelist>
346
          <varlistentry>
347
            <term>xen-pvm</term>
348
            <listitem>
349
              <para>
350
                Xen PVM hypervisor
351
              </para>
352
            </listitem>
353
          </varlistentry>
354
          <varlistentry>
355
            <term>xen-hvm</term>
356
            <listitem>
357
              <para>
358
                Xen HVM hypervisor
359
              </para>
360
            </listitem>
361
          </varlistentry>
362
          <varlistentry>
363
            <term>kvm</term>
364
            <listitem>
365
              <para>
366
                Linux KVM hypervisor
367
              </para>
368
            </listitem>
369
          </varlistentry>
370
          <varlistentry>
371
            <term>chroot</term>
372
            <listitem>
373
              <para>
374
                a simple chroot manager that starts chroot based on a
375
                script at the root of the filesystem holding the
376
                chroot
377
          <varlistentry>
378
            <term>fake</term>
379
            <listitem>
380
              <para>
381
                fake hypervisor for development/testing
382
              </para>
383
            </listitem>
384
          </varlistentry>
385
        </variablelist>
386
      </para>
387

    
388
      <para>
389
        Either a single hypervisor name or a comma-separated list of
390
        hypervisor names can be specified. If this option is not
391
        specified, only the xen-pvm hypervisor is enabled by default.
392
      </para>
393

    
394
      <para>
395
        The <option>--hypervisor-parameters</option> option allows you
396
        to set default hypervisor specific parameters for the
397
        cluster. The format of this option is the name of the
398
        hypervisor, followed by a colon and a comma-separated list of
399
        key=value pairs. The keys available for each hypervisors are
400
        detailed in the <citerefentry>
401
        <refentrytitle>gnt-instance</refentrytitle>
402
        <manvolnum>8</manvolnum> </citerefentry> man page, in the
403
        <command>add</command> command plus the following parameters
404
        which are only configurable globally (at cluster level):
405

    
406
        <variablelist>
407
          <varlistentry>
408
            <term>migration_port</term>
409
            <listitem>
410
              <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
411

    
412
              <para>
413
                This options specifies the TCP port to use for
414
                live-migration. For Xen, the same port should be
415
                configured on all nodes in
416
                the <filename>/etc/xen/xend-config.sxp</filename>
417
                file, under the
418
                key <quote>xend-relocation-port</quote>.
419
              </para>
420
            </listitem>
421
          </varlistentry>
422
          <varlistentry>
423
            <term>migration_bandwidth</term>
424
            <listitem>
425
              <simpara>Valid for the KVM hypervisor.</simpara>
426

    
427
              <para>
428
                This option specifies the maximum bandwidth that KVM will
429
                use for instance live migrations. The value is in MiB/s.
430
              </para>
431

    
432
              <simpara>This option is only effective with kvm versions >= 78
433
              and qemu-kvm versions >= 0.10.0.
434
              </simpara>
435
            </listitem>
436
          </varlistentry>
437
        </variablelist>
438

    
439
      </para>
440

    
441
      <para>
442
        The <option>--backend-parameters</option> option allows you to set
443
        the default backend parameters for the cluster. The parameter
444
        format is a comma-separated list of key=value pairs with the
445
        following supported keys:
446
      </para>
447

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

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

    
511
      <para>
512
        The option <option>--maintain-node-health</option> allows to
513
        enable/disable automatic maintenance actions on
514
        nodes. Currently these include automatic shutdown of instances
515
        and deactivation of DRBD devices on offline nodes; in the
516
        future it might be extended to automatic removal of unknown
517
        LVM volumes, etc.
518
      </para>
519

    
520
      <para>
521
        The <option>--uid-pool</option> option initializes the user-id pool.
522
        The <replaceable>user-id pool definition</replaceable> can contain a
523
        list of user-ids and/or a list of user-id ranges. The parameter format
524
        is a comma-separated list of numeric user-ids or user-id ranges.
525
        The ranges are defined by a lower and higher boundary, separated
526
        by a dash. The boundaries are inclusive.
527
        If the <option>--uid-pool</option> option is not supplied, the
528
        user-id pool is initialized to an empty list. An empty list means that
529
        the user-id pool feature is disabled.
530
      </para>
531

    
532
    </refsect2>
533

    
534
    <refsect2>
535
      <title>LIST-TAGS</title>
536

    
537
      <cmdsynopsis>
538
        <command>list-tags</command>
539
      </cmdsynopsis>
540

    
541
      <para>List the tags of the cluster.</para>
542
    </refsect2>
543

    
544
    <refsect2>
545
      <title>MASTERFAILOVER</title>
546

    
547
      <cmdsynopsis>
548
        <command>masterfailover</command>
549
        <arg>--no-voting</arg>
550
      </cmdsynopsis>
551

    
552
      <para>
553
        Failover the master role to the current node.
554
      </para>
555

    
556
      <para>
557
        The <option>--no-voting</option> option skips the remote node agreement
558
        checks. This is dangerous, but necessary in some cases (for example
559
        failing over the master role in a 2 node cluster with the original master
560
        down). If the original master then comes up, it won't be able to start
561
        its master daemon because it won't have enough votes, but so won't the
562
        new master, if the master daemon ever needs a restart. You can pass
563
        --no-voting to ganeti-masterd on the new master to solve this problem,
564
        and gnt-cluster redist-conf to make sure the cluster is consistent again.
565
      </para>
566

    
567
    </refsect2>
568

    
569
    <refsect2>
570
      <title>MODIFY</title>
571

    
572
      <cmdsynopsis>
573
        <command>modify</command>
574
        <sbr>
575
        <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
576
        <sbr>
577
        <arg choice="opt">--no-lvm-storage</arg>
578
        <sbr>
579
        <arg choice="opt">--enabled-hypervisors
580
        <replaceable>hypervisors</replaceable></arg>
581
        <sbr>
582
        <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>
583
        <sbr>
584
        <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>
585
        <sbr>
586
        <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>
587
        <sbr>
588
        <arg choice="opt">--uid-pool <replaceable>user-id pool definition</replaceable></arg>
589
        <sbr>
590
        <arg choice="opt">--add-uids <replaceable>user-id pool definition</replaceable></arg>
591
        <sbr>
592
        <arg choice="opt">--remove-uids <replaceable>user-id pool definition</replaceable></arg>
593
        <sbr>
594
        <arg choice="opt">-C <replaceable>candidate_pool_size</replaceable></arg>
595
        <sbr>
596
        <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
597

    
598
      </cmdsynopsis>
599

    
600
        <para>
601
          Modify the options for the cluster.
602
        </para>
603

    
604
        <para>
605
          The <option>-g</option>, <option>--no-lvm-storarge</option>,
606
          <option>--enabled-hypervisors</option>,
607
          <option>--hypervisor-parameters</option>,
608
          <option>--backend-parameters</option>,
609
          <option>--nic-parameters</option>,
610
          <option>--maintain-node-health</option> and
611
          <option>--uid-pool</option> options are
612
          described in the <command>init</command> command.
613
        </para>
614

    
615
      <para>
616
        The <option>-C</option> option specifies the
617
        <varname>candidate_pool_size</varname> cluster parameter. This
618
        is the number of nodes that the master will try to keep as
619
        <literal>master_candidates</literal>. For more details about
620
        this role and other node roles, see the <citerefentry>
621
        <refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum>
622
        </citerefentry>. If you increase the size, the master will
623
        automatically promote as many nodes as required and possible
624
        to reach the intended number.
625
      </para>
626

    
627
      <para>
628
        The <option>--add-uids</option> and <option>--remove-uids</option>
629
        options can be used to modify the user-id pool by adding/removing
630
        a list of user-ids or user-id ranges.
631
    </refsect2>
632

    
633
    <refsect2>
634
      <title>QUEUE</title>
635

    
636
      <cmdsynopsis>
637
        <command>queue</command>
638
        <arg choice="opt">drain</arg>
639
        <arg choice="opt">undrain</arg>
640
        <arg choice="opt">info</arg>
641

    
642
      </cmdsynopsis>
643

    
644
      <para>
645
        Change job queue properties.
646
      </para>
647

    
648
      <para>
649
        The <option>drain</option> option sets the drain flag on the
650
        job queue. No new jobs will be accepted, but jobs already in
651
        the queue will be processed.
652
      </para>
653

    
654
      <para>
655
        The <option>undrain</option> will unset the drain flag on the
656
        job queue. New jobs will be accepted.
657
      </para>
658

    
659
      <para>
660
        The <option>info</option> option shows the properties of the
661
        job queue.
662
      </para>
663
    </refsect2>
664

    
665
    <refsect2>
666
      <title>WATCHER</title>
667

    
668
      <cmdsynopsis>
669
        <command>watcher</command>
670
        <group choice="req">
671
          <arg>pause <replaceable>duration</replaceable></arg>
672
          <arg>continue</arg>
673
          <arg>info</arg>
674
        </group>
675
      </cmdsynopsis>
676

    
677
      <para>
678
        Make the watcher pause or let it continue.
679
      </para>
680

    
681
      <para>
682
        The <option>pause</option> option causes the watcher to pause for
683
        <replaceable>duration</replaceable> seconds.
684
      </para>
685

    
686
      <para>
687
        The <option>continue</option> option will let the watcher continue.
688
      </para>
689

    
690
      <para>
691
        The <option>info</option> option shows whether the watcher is currently
692
        paused.
693
      </para>
694
    </refsect2>
695

    
696
    <refsect2>
697
      <title>redist-conf</title>
698
      <cmdsynopsis>
699
        <command>redist-conf</command>
700
          <arg>--submit</arg>
701
      </cmdsynopsis>
702

    
703
      <para>
704
        This command forces a full push of configuration files from
705
        the master node to the other nodes in the cluster. This is
706
        normally not needed, but can be run if the
707
        <command>verify</command> complains about configuration
708
        mismatches.
709
      </para>
710

    
711
      <para>
712
        The <option>--submit</option> option is used to send the job
713
        to the master daemon but not wait for its completion. The job
714
        ID will be shown so that it can be examined via
715
        <command>gnt-job info</command>.
716
      </para>
717

    
718
    </refsect2>
719
    <refsect2>
720
      <title>REMOVE-TAGS</title>
721

    
722
      <cmdsynopsis>
723
        <command>remove-tags</command>
724
        <arg choice="opt">--from <replaceable>file</replaceable></arg>
725
        <arg choice="req"
726
        rep="repeat"><replaceable>tag</replaceable></arg>
727
      </cmdsynopsis>
728

    
729
      <para>
730
        Remove tags from the cluster. If any of the tags are not
731
        existing on the cluster, the entire operation will abort.
732
      </para>
733

    
734
      <para>
735
        If the <option>--from</option> option is given, the list of
736
        tags will be extended with the contents of that file (each
737
        line becomes a tag). In this case, there is not need to pass
738
        tags on the command line (if you do, both sources will be
739
        used). A file name of - will be interpreted as stdin.
740
      </para>
741
    </refsect2>
742

    
743
    <refsect2>
744
      <title>RENAME</title>
745

    
746
      <cmdsynopsis>
747
        <command>rename</command>
748
        <arg>-f</arg>
749
        <arg choice="req"><replaceable>name</replaceable></arg>
750
      </cmdsynopsis>
751

    
752
      <para>
753
        Renames the cluster and in the process updates the master IP
754
        address to the one the new name resolves to. At least one of
755
        either the name or the IP address must be different, otherwise
756
        the operation will be aborted.
757
      </para>
758

    
759
      <para>
760
        Note that since this command can be dangerous (especially when
761
        run over SSH), the command will require confirmation unless
762
        run with the <option>-f</option> option.
763
      </para>
764
    </refsect2>
765

    
766
    <refsect2>
767
      <title>RENEW-CRYPTO</title>
768

    
769
      <cmdsynopsis>
770
        <command>renew-crypto</command>
771
        <arg>-f</arg>
772
        <sbr>
773
        <arg choice="opt">--new-cluster-certificate</arg>
774
        <arg choice="opt">--new-confd-hmac-key</arg>
775
        <sbr>
776
        <arg choice="opt">--new-rapi-certificate</arg>
777
        <arg choice="opt">--rapi-certificate <replaceable>rapi-cert</replaceable></arg>
778
      </cmdsynopsis>
779

    
780
      <para>
781
        This command will stop all
782
        Ganeti daemons in the cluster and start them again once the new
783
        certificates and keys are replicated. The options
784
        <option>--new-cluster-certificate</option> and
785
        <option>--new-confd-hmac-key</option> can be used to regenerate the
786
        cluster-internal SSL certificate respective the HMAC key used by
787
        <citerefentry>
788
        <refentrytitle>ganeti-confd</refentrytitle><manvolnum>8</manvolnum>
789
        </citerefentry>. To generate a new self-signed RAPI certificate (used
790
        by <citerefentry>
791
        <refentrytitle>ganeti-rapi</refentrytitle><manvolnum>8</manvolnum>
792
        </citerefentry>) specify <option>--new-rapi-certificate</option>. If
793
        you want to use your own certificate, e.g. one signed by a certificate
794
        authority (CA), pass its filename to
795
        <option>--rapi-certificate</option>.
796
      </para>
797
    </refsect2>
798

    
799
    <refsect2>
800
      <title>REPAIR-DISK-SIZES</title>
801

    
802
      <cmdsynopsis>
803
        <command>repair-disk-sizes</command>
804
        <arg rep="repeat">instance</arg>
805
      </cmdsynopsis>
806

    
807
      <para>
808
        This command checks that the recorded size of the given
809
        instance's disks matches the actual size and updates any
810
        mismatches found. This is needed if the Ganeti configuration
811
        is no longer consistent with reality, as it will impact some
812
        disk operations. If no arguments are given, all instances will
813
        be checked.
814
      </para>
815

    
816
      <para>
817
        Note that only active disks can be checked by this command; in
818
        case a disk cannot be activated it's advised to use
819
        <command>gnt-instance activate-disks --ignore-size ...</command> to
820
        force activation without regard to the
821
        current size.
822
      </para>
823

    
824
      <para>
825
        When the all disk sizes are consistent, the command will
826
        return no output. Otherwise it will log details about the
827
        inconsistencies in the configuration.
828
      </para>
829
    </refsect2>
830

    
831
    <refsect2>
832
      <title>SEARCH-TAGS</title>
833

    
834
      <cmdsynopsis>
835
        <command>search-tags</command>
836
        <arg choice="req"><replaceable>pattern</replaceable></arg>
837
      </cmdsynopsis>
838

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

    
848
      <para>
849
        If no tags are matching the pattern, the exit code of the
850
        command will be one. If there is at least one match, the exit
851
        code will be zero. Each match is listed on one line, the
852
        object and the tag separated by a space. The cluster will be
853
        listed as <filename>/cluster</filename>, a node will be listed
854
        as
855
        <filename>/nodes/<replaceable>name</replaceable></filename>,
856
        and an instance as
857
        <filename>/instances/<replaceable>name</replaceable></filename>.
858
        Example:
859
      </para>
860
<screen>
861
# gnt-cluster search-tags time
862
/cluster ctime:2007-09-01
863
/nodes/node1.example.com mtime:2007-10-04
864
</screen>
865
    </refsect2>
866

    
867
    <refsect2>
868
      <title>VERIFY</title>
869

    
870
      <cmdsynopsis>
871
        <command>verify</command>
872
        <arg choice="opt">--no-nplus1-mem</arg>
873
      </cmdsynopsis>
874

    
875
      <para>
876
        Verify correctness of cluster configuration. This is safe with
877
        respect to running instances, and incurs no downtime of the
878
        instances.
879
      </para>
880

    
881
      <para>
882
        If the <option>--no-nplus1-mem</option> option is given, ganeti won't
883
        check whether if it loses a node it can restart all the instances on
884
        their secondaries (and report an error otherwise).
885
      </para>
886
    </refsect2>
887

    
888
    <refsect2>
889
      <title>VERIFY-DISKS</title>
890

    
891
      <cmdsynopsis>
892
        <command>verify-disks</command>
893
      </cmdsynopsis>
894

    
895
      <para>
896
        The command checks which instances have degraded DRBD disks
897
        and activates the disks of those instances.
898
      </para>
899

    
900
      <para>
901
        This command is run from the <command>ganeti-watcher</command>
902
        tool, which also has a different, complementary algorithm for
903
        doing this check. Together, these two should ensure that DRBD
904
        disks are kept consistent.
905
      </para>
906
    </refsect2>
907

    
908
    <refsect2>
909
      <title>VERSION</title>
910

    
911
      <cmdsynopsis>
912
        <command>version</command>
913
      </cmdsynopsis>
914

    
915
      <para>
916
        Show the cluster version.
917
      </para>
918
    </refsect2>
919

    
920
  </refsect1>
921

    
922
  &footer;
923

    
924
</refentry>
925

    
926
<!-- Keep this comment at the end of the file
927
Local variables:
928
mode: sgml
929
sgml-omittag:t
930
sgml-shorttag:t
931
sgml-minimize-attributes:nil
932
sgml-always-quote-attributes:t
933
sgml-indent-step:2
934
sgml-indent-data:t
935
sgml-parent-document:nil
936
sgml-default-dtd-file:nil
937
sgml-exposed-tags:nil
938
sgml-local-catalogs:nil
939
sgml-local-ecat-files:nil
940
End:
941
-->