Statistics
| Branch: | Tag: | Revision:

root / man / gnt-cluster.sgml @ e0897adf

History | View | Annotate | Download (32.4 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 choice="req"><replaceable>clustername</replaceable></arg>
258
      </cmdsynopsis>
259

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
447
      </para>
448

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

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

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

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

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

    
540
    </refsect2>
541

    
542
    <refsect2>
543
      <title>LIST-TAGS</title>
544

    
545
      <cmdsynopsis>
546
        <command>list-tags</command>
547
      </cmdsynopsis>
548

    
549
      <para>List the tags of the cluster.</para>
550
    </refsect2>
551

    
552
    <refsect2>
553
      <title>MASTERFAILOVER</title>
554

    
555
      <cmdsynopsis>
556
        <command>masterfailover</command>
557
        <arg>--no-voting</arg>
558
      </cmdsynopsis>
559

    
560
      <para>
561
        Failover the master role to the current node.
562
      </para>
563

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

    
577
    </refsect2>
578

    
579
    <refsect2>
580
      <title>MODIFY</title>
581

    
582
      <cmdsynopsis>
583
        <command>modify</command>
584
        <sbr>
585
        <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
586
        <sbr>
587
        <arg choice="opt">--no-lvm-storage</arg>
588
        <sbr>
589
        <arg choice="opt">--enabled-hypervisors
590
        <replaceable>hypervisors</replaceable></arg>
591
        <sbr>
592
        <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>
593
        <sbr>
594
        <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>
595
        <sbr>
596
        <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>
597
        <sbr>
598
        <arg choice="opt">--uid-pool <replaceable>user-id pool definition</replaceable></arg>
599
        <sbr>
600
        <arg choice="opt">--add-uids <replaceable>user-id pool definition</replaceable></arg>
601
        <sbr>
602
        <arg choice="opt">--remove-uids <replaceable>user-id pool definition</replaceable></arg>
603
        <sbr>
604
        <arg choice="opt">-C <replaceable>candidate_pool_size</replaceable></arg>
605
        <sbr>
606
        <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
607

    
608
      </cmdsynopsis>
609

    
610
        <para>
611
          Modify the options for the cluster.
612
        </para>
613

    
614
        <para>
615
          The <option>-g</option>, <option>--no-lvm-storarge</option>,
616
          <option>--enabled-hypervisors</option>,
617
          <option>--hypervisor-parameters</option>,
618
          <option>--backend-parameters</option>,
619
          <option>--nic-parameters</option>,
620
          <option>--maintain-node-health</option> and
621
          <option>--uid-pool</option> options are
622
          described in the <command>init</command> command.
623
        </para>
624

    
625
      <para>
626
        The <option>-C</option> option specifies the
627
        <varname>candidate_pool_size</varname> cluster parameter. This
628
        is the number of nodes that the master will try to keep as
629
        <literal>master_candidates</literal>. For more details about
630
        this role and other node roles, see the <citerefentry>
631
        <refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum>
632
        </citerefentry>. If you increase the size, the master will
633
        automatically promote as many nodes as required and possible
634
        to reach the intended number.
635
      </para>
636

    
637
      <para>
638
        The <option>--add-uids</option> and <option>--remove-uids</option>
639
        options can be used to modify the user-id pool by adding/removing
640
        a list of user-ids or user-id ranges.
641
    </refsect2>
642

    
643
    <refsect2>
644
      <title>QUEUE</title>
645

    
646
      <cmdsynopsis>
647
        <command>queue</command>
648
        <arg choice="opt">drain</arg>
649
        <arg choice="opt">undrain</arg>
650
        <arg choice="opt">info</arg>
651

    
652
      </cmdsynopsis>
653

    
654
      <para>
655
        Change job queue properties.
656
      </para>
657

    
658
      <para>
659
        The <option>drain</option> option sets the drain flag on the
660
        job queue. No new jobs will be accepted, but jobs already in
661
        the queue will be processed.
662
      </para>
663

    
664
      <para>
665
        The <option>undrain</option> will unset the drain flag on the
666
        job queue. New jobs will be accepted.
667
      </para>
668

    
669
      <para>
670
        The <option>info</option> option shows the properties of the
671
        job queue.
672
      </para>
673
    </refsect2>
674

    
675
    <refsect2>
676
      <title>WATCHER</title>
677

    
678
      <cmdsynopsis>
679
        <command>watcher</command>
680
        <group choice="req">
681
          <arg>pause <replaceable>duration</replaceable></arg>
682
          <arg>continue</arg>
683
          <arg>info</arg>
684
        </group>
685
      </cmdsynopsis>
686

    
687
      <para>
688
        Make the watcher pause or let it continue.
689
      </para>
690

    
691
      <para>
692
        The <option>pause</option> option causes the watcher to pause for
693
        <replaceable>duration</replaceable> seconds.
694
      </para>
695

    
696
      <para>
697
        The <option>continue</option> option will let the watcher continue.
698
      </para>
699

    
700
      <para>
701
        The <option>info</option> option shows whether the watcher is currently
702
        paused.
703
      </para>
704
    </refsect2>
705

    
706
    <refsect2>
707
      <title>redist-conf</title>
708
      <cmdsynopsis>
709
        <command>redist-conf</command>
710
          <arg>--submit</arg>
711
      </cmdsynopsis>
712

    
713
      <para>
714
        This command forces a full push of configuration files from
715
        the master node to the other nodes in the cluster. This is
716
        normally not needed, but can be run if the
717
        <command>verify</command> complains about configuration
718
        mismatches.
719
      </para>
720

    
721
      <para>
722
        The <option>--submit</option> option is used to send the job
723
        to the master daemon but not wait for its completion. The job
724
        ID will be shown so that it can be examined via
725
        <command>gnt-job info</command>.
726
      </para>
727

    
728
    </refsect2>
729
    <refsect2>
730
      <title>REMOVE-TAGS</title>
731

    
732
      <cmdsynopsis>
733
        <command>remove-tags</command>
734
        <arg choice="opt">--from <replaceable>file</replaceable></arg>
735
        <arg choice="req"
736
        rep="repeat"><replaceable>tag</replaceable></arg>
737
      </cmdsynopsis>
738

    
739
      <para>
740
        Remove tags from the cluster. If any of the tags are not
741
        existing on the cluster, the entire operation will abort.
742
      </para>
743

    
744
      <para>
745
        If the <option>--from</option> option is given, the list of
746
        tags will be extended with the contents of that file (each
747
        line becomes a tag). In this case, there is not need to pass
748
        tags on the command line (if you do, both sources will be
749
        used). A file name of - will be interpreted as stdin.
750
      </para>
751
    </refsect2>
752

    
753
    <refsect2>
754
      <title>RENAME</title>
755

    
756
      <cmdsynopsis>
757
        <command>rename</command>
758
        <arg>-f</arg>
759
        <arg choice="req"><replaceable>name</replaceable></arg>
760
      </cmdsynopsis>
761

    
762
      <para>
763
        Renames the cluster and in the process updates the master IP
764
        address to the one the new name resolves to. At least one of
765
        either the name or the IP address must be different, otherwise
766
        the operation will be aborted.
767
      </para>
768

    
769
      <para>
770
        Note that since this command can be dangerous (especially when
771
        run over SSH), the command will require confirmation unless
772
        run with the <option>-f</option> option.
773
      </para>
774
    </refsect2>
775

    
776
    <refsect2>
777
      <title>RENEW-CRYPTO</title>
778

    
779
      <cmdsynopsis>
780
        <command>renew-crypto</command>
781
        <arg>-f</arg>
782
        <sbr>
783
        <arg choice="opt">--new-cluster-certificate</arg>
784
        <arg choice="opt">--new-confd-hmac-key</arg>
785
        <sbr>
786
        <arg choice="opt">--new-rapi-certificate</arg>
787
        <arg choice="opt">--rapi-certificate <replaceable>rapi-cert</replaceable></arg>
788
        <sbr>
789
        <arg choice="opt">--new-cluster-domain-secret</arg>
790
        <arg choice="opt">--cluster-domain-secret <replaceable>filename</replaceable></arg>
791
      </cmdsynopsis>
792

    
793
      <para>
794
        This command will stop all
795
        Ganeti daemons in the cluster and start them again once the new
796
        certificates and keys are replicated. The options
797
        <option>--new-cluster-certificate</option> and
798
        <option>--new-confd-hmac-key</option> can be used to regenerate the
799
        cluster-internal SSL certificate respective the HMAC key used by
800
        <citerefentry>
801
        <refentrytitle>ganeti-confd</refentrytitle><manvolnum>8</manvolnum>
802
        </citerefentry>.
803
      </para>
804

    
805
      <para>
806
        To generate a new self-signed RAPI certificate (used by <citerefentry>
807
        <refentrytitle>ganeti-rapi</refentrytitle><manvolnum>8</manvolnum>
808
        </citerefentry>) specify <option>--new-rapi-certificate</option>. If
809
        you want to use your own certificate, e.g. one signed by a certificate
810
        authority (CA), pass its filename to
811
        <option>--rapi-certificate</option>.
812
      </para>
813

    
814
      <para>
815
        <option>--new-cluster-domain-secret</option> generates a new, random
816
        cluster domain secret. <option>--cluster-domain-secret</option> reads
817
        the secret from a file. The cluster domain secret is used to sign
818
        information exchanged between separate clusters via a third party.
819
      </para>
820
    </refsect2>
821

    
822
    <refsect2>
823
      <title>REPAIR-DISK-SIZES</title>
824

    
825
      <cmdsynopsis>
826
        <command>repair-disk-sizes</command>
827
        <arg rep="repeat">instance</arg>
828
      </cmdsynopsis>
829

    
830
      <para>
831
        This command checks that the recorded size of the given
832
        instance's disks matches the actual size and updates any
833
        mismatches found. This is needed if the Ganeti configuration
834
        is no longer consistent with reality, as it will impact some
835
        disk operations. If no arguments are given, all instances will
836
        be checked.
837
      </para>
838

    
839
      <para>
840
        Note that only active disks can be checked by this command; in
841
        case a disk cannot be activated it's advised to use
842
        <command>gnt-instance activate-disks --ignore-size ...</command> to
843
        force activation without regard to the
844
        current size.
845
      </para>
846

    
847
      <para>
848
        When the all disk sizes are consistent, the command will
849
        return no output. Otherwise it will log details about the
850
        inconsistencies in the configuration.
851
      </para>
852
    </refsect2>
853

    
854
    <refsect2>
855
      <title>SEARCH-TAGS</title>
856

    
857
      <cmdsynopsis>
858
        <command>search-tags</command>
859
        <arg choice="req"><replaceable>pattern</replaceable></arg>
860
      </cmdsynopsis>
861

    
862
      <para>
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
866
        will be done on it (i.e. the given pattern is not anchored to
867
        the beggining of the string; if you want that, prefix the
868
        pattern with <literal>^</literal>).
869
      </para>
870

    
871
      <para>
872
        If no tags are matching the pattern, the exit code of the
873
        command will be one. If there is at least one match, the exit
874
        code will be zero. Each match is listed on one line, the
875
        object and the tag separated by a space. The cluster will be
876
        listed as <filename>/cluster</filename>, a node will be listed
877
        as
878
        <filename>/nodes/<replaceable>name</replaceable></filename>,
879
        and an instance as
880
        <filename>/instances/<replaceable>name</replaceable></filename>.
881
        Example:
882
      </para>
883
<screen>
884
# gnt-cluster search-tags time
885
/cluster ctime:2007-09-01
886
/nodes/node1.example.com mtime:2007-10-04
887
</screen>
888
    </refsect2>
889

    
890
    <refsect2>
891
      <title>VERIFY</title>
892

    
893
      <cmdsynopsis>
894
        <command>verify</command>
895
        <arg choice="opt">--no-nplus1-mem</arg>
896
      </cmdsynopsis>
897

    
898
      <para>
899
        Verify correctness of cluster configuration. This is safe with
900
        respect to running instances, and incurs no downtime of the
901
        instances.
902
      </para>
903

    
904
      <para>
905
        If the <option>--no-nplus1-mem</option> option is given, Ganeti won't
906
        check whether if it loses a node it can restart all the instances on
907
        their secondaries (and report an error otherwise).
908
      </para>
909
    </refsect2>
910

    
911
    <refsect2>
912
      <title>VERIFY-DISKS</title>
913

    
914
      <cmdsynopsis>
915
        <command>verify-disks</command>
916
      </cmdsynopsis>
917

    
918
      <para>
919
        The command checks which instances have degraded DRBD disks
920
        and activates the disks of those instances.
921
      </para>
922

    
923
      <para>
924
        This command is run from the <command>ganeti-watcher</command>
925
        tool, which also has a different, complementary algorithm for
926
        doing this check. Together, these two should ensure that DRBD
927
        disks are kept consistent.
928
      </para>
929
    </refsect2>
930

    
931
    <refsect2>
932
      <title>VERSION</title>
933

    
934
      <cmdsynopsis>
935
        <command>version</command>
936
      </cmdsynopsis>
937

    
938
      <para>
939
        Show the cluster version.
940
      </para>
941
    </refsect2>
942

    
943
  </refsect1>
944

    
945
  &footer;
946

    
947
</refentry>
948

    
949
<!-- Keep this comment at the end of the file
950
Local variables:
951
mode: sgml
952
sgml-omittag:t
953
sgml-shorttag:t
954
sgml-minimize-attributes:nil
955
sgml-always-quote-attributes:t
956
sgml-indent-step:2
957
sgml-indent-data:t
958
sgml-parent-document:nil
959
sgml-default-dtd-file:nil
960
sgml-exposed-tags:nil
961
sgml-local-catalogs:nil
962
sgml-local-ecat-files:nil
963
End:
964
-->