Statistics
| Branch: | Tag: | Revision:

root / man / gnt-cluster.sgml @ e8a3bf18

History | View | Annotate | Download (27.5 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>-n <replaceable>node</replaceable></arg>
142
        <arg choice="req"><replaceable>file</replaceable></arg>
143
      </cmdsynopsis>
144

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

    
153
        Example:
154
        <screen>
155
          # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test
156
        </screen>
157

    
158
        This will copy the file <filename>/tmp/test</filename> from
159
        the current node to the two named nodes.
160
      </para>
161
    </refsect2>
162

    
163
    <refsect2>
164
      <title>DESTROY</title>
165

    
166
      <cmdsynopsis>
167
        <command>destroy</command>
168
        <arg choice="req">--yes-do-it</arg>
169
      </cmdsynopsis>
170

    
171
      <para>
172
        Remove all configuration files related to the cluster, so that
173
        a <command>gnt-cluster init</command> can be done again
174
        afterwards.
175
      </para>
176

    
177
      <para>
178
        Since this is a dangerous command, you are required to pass
179
        the argument <replaceable>--yes-do-it.</replaceable>
180
      </para>
181
    </refsect2>
182

    
183
    <refsect2>
184
      <title>GETMASTER</title>
185

    
186
      <cmdsynopsis>
187
        <command>getmaster</command>
188
      </cmdsynopsis>
189

    
190
      <para>
191
        Displays the current master node.
192
      </para>
193
    </refsect2>
194

    
195
    <refsect2>
196
      <title>INFO</title>
197

    
198
      <cmdsynopsis>
199
        <command>info</command>
200
      </cmdsynopsis>
201

    
202
      <para>
203
        Shows runtime cluster information: cluster name, architecture
204
        (32 or 64 bit), master node, node list and instance list.
205
      </para>
206
    </refsect2>
207

    
208
    <refsect2>
209
      <title>INIT</title>
210

    
211
      <cmdsynopsis>
212
        <command>init</command>
213
        <sbr>
214
        <arg>-s <replaceable>secondary_ip</replaceable></arg>
215
        <sbr>
216
        <arg>-g <replaceable>vg-name</replaceable></arg>
217
        <sbr>
218
        <arg>--master-netdev <replaceable>vg-name</replaceable></arg>
219
        <sbr>
220
        <arg>-m <replaceable>mac-prefix</replaceable></arg>
221
        <sbr>
222
        <arg>--no-lvm-storage</arg>
223
        <sbr>
224
        <arg>--no-etc-hosts</arg>
225
        <sbr>
226
        <arg>--no-ssh-init</arg>
227
        <sbr>
228
        <arg>--file-storage-dir <replaceable>dir</replaceable></arg>
229
        <sbr>
230
        <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg>
231
        <sbr>
232
        <arg>-t <replaceable>hypervisor name</replaceable></arg>
233
        <sbr>
234
        <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>
235
        <sbr>
236
        <arg>--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
237
        <sbr>
238
        <arg>--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg>
239
        <sbr>
240
        <arg choice="req"><replaceable>clustername</replaceable></arg>
241
      </cmdsynopsis>
242

    
243
      <para>
244
        This commands is only run once initially on the first node of
245
        the cluster. It will initialize the cluster configuration and
246
        setup ssh-keys and more.
247
      </para>
248

    
249
      <para>
250
        Note that the <replaceable>clustername</replaceable> is not
251
        any random name. It has to be resolvable to an IP address
252
        using DNS, and it is best if you give the fully-qualified
253
        domain name. This hostname must resolve to an IP address
254
        reserved exclusively for this purpose.
255
      </para>
256

    
257
      <para>
258
        The cluster can run in two modes: single-home or
259
        dual-homed. In the first case, all traffic (both public
260
        traffic, inter-node traffic and data replication traffic) goes
261
        over the same interface. In the dual-homed case, the data
262
        replication traffic goes over the second network. The
263
        <option>-s</option> option here marks the cluster as
264
        dual-homed and its parameter represents this node's address on
265
        the second network. If you initialise the cluster with
266
        <option>-s</option>, all nodes added must have a secondary IP
267
        as well.
268
      </para>
269

    
270
      <para>
271
        Note that for Ganeti it doesn't matter if the secondary
272
        network is actually a separate physical network, or is done
273
        using tunneling, etc. For performance reasons, it's
274
        recommended to use a separate network, of course.
275
      </para>
276

    
277
      <para>
278
        The <option>-g</option> option will let you specify a volume group
279
        different than 'xenvg' for ganeti to use when creating instance disks.
280
        This volume group must have the same name on all nodes. Once the
281
        cluster is initialized this can be altered by using the
282
        <command>modify</command> command. If you don't want to use lvm
283
        storage at all use the <option>--no-lvm-storage</option> option.
284
        Once the cluster is initialized you can change this setup with the
285
        <command>modify</command> command.
286
      </para>
287

    
288
      <para>
289
        The <option>--master-netdev</option> option is useful for specifying a
290
        different interface on which the master will activate its IP address.
291
        It's important that all nodes have this interface because you'll need
292
        it for a master failover.
293
      </para>
294

    
295
      <para>
296
        The <option>-m</option> option will let you specify a three byte prefix
297
        under which the virtual MAC addresses of your instances will be
298
        generated. The prefix must be specified in the format XX:XX:XX and the
299
        default is aa:00:00.
300
      </para>
301

    
302
      <para>
303
        The <option>--no-lvm-storage</option> option allows you to initialize
304
        the cluster without lvm support. This means that only instances using
305
        files as storage backend will be possible to create. Once the cluster
306
        is initialized you can change this setup with the
307
        <command>modify</command> command.
308
      </para>
309

    
310
      <para>
311
        The <option>--no-etc-hosts</option> option allows you to initialize the
312
        cluster without modifying the <filename>/etc/hosts</filename> file.
313
      </para>
314

    
315
      <para>
316
        The <option>--no-ssh-init</option> option allows you to initialize the
317
        cluster without creating or distributing SSH key pairs.
318
      </para>
319

    
320
      <para>
321
        The <option>--file-storage-dir</option> option allows you
322
        set the directory to use for storing the instance disk
323
        files when using file storage as backend for instance disks.
324
      </para>
325

    
326
      <para>
327
        The <option>--enabled-hypervisors</option> option allows you
328
        to set the list of hypervisors that will be enabled for
329
        this cluster. Instance hypervisors can only be choosen from
330
        the list of enabled hypervisors, and the first entry of this list
331
        will be used by default. Currently, the following hypervisors are
332
        available:
333
      </para>
334

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

    
379
      <para>
380
        Either a single hypervisor name or a comma-separated list of
381
        hypervisor names can be specified. If this option is not
382
        specified, only the xen-pvm hypervisor is enabled by default.
383
      </para>
384

    
385
      <para>
386
        The <option>--hypervisor-parameters</option> option allows you
387
        to set default hypervisor specific parameters for the
388
        cluster. The format of this option is the name of the
389
        hypervisor, followed by a colon and a comma-separated list of
390
        key=value pairs. The keys available for each hypervisors are
391
        detailed in the <citerefentry>
392
        <refentrytitle>gnt-instance</refentrytitle>
393
        <manvolnum>8</manvolnum> </citerefentry> man page, in the
394
        <command>add</command> command plus the following parameters
395
        which are only configurable globally (at cluster level):
396

    
397
        <variablelist>
398
          <varlistentry>
399
            <term>migration_port</term>
400
            <listitem>
401
              <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
402

    
403
              <para>
404
                This options specifies the TCP port to use for
405
                live-migration. For Xen, the same port should be
406
                configured on all nodes in
407
                the <filename>/etc/xen/xend-config.sxp</filename>
408
                file, under the
409
                key <quote>xend-relocation-port</quote>.
410
              </para>
411
            </listitem>
412
          </varlistentry>
413
        </variablelist>
414

    
415
      </para>
416

    
417
      <para>
418
        The <option>--backend-parameters</option> option allows you to set
419
        the default backend parameters for the cluster. The parameter
420
        format is a comma-separated list of key=value pairs with the
421
        following supported keys:
422
      </para>
423

    
424
      <para>
425
        <variablelist>
426
          <varlistentry>
427
            <term>vcpus</term>
428
            <listitem>
429
              <para>
430
                Number of VCPUs to set for an instance by default, must
431
                be an integer, will be set to 1 if no specified.
432
              </para>
433
            </listitem>
434
          </varlistentry>
435
          <varlistentry>
436
            <term>memory</term>
437
            <listitem>
438
              <para>
439
                Amount of memory to allocate for an instance by default,
440
                can be either an integer or an integer followed by a
441
                unit (M for mebibytes and G for gibibytes are
442
                supported), will be set to 128M if not specified.
443
              </para>
444
            </listitem>
445
          </varlistentry>
446
          <varlistentry>
447
            <term>auto_balance</term>
448
            <listitem>
449
              <para>
450
                Value of the auto_balance flag for instances to use by
451
                default, will be set to true if not specified.
452
              </para>
453
            </listitem>
454
          </varlistentry>
455
        </variablelist>
456
      </para>
457

    
458
      <para>
459
        The <option>--nic-parameters</option> option allows you to set
460
        the default nic parameters for the cluster. The parameter
461
        format is a comma-separated list of key=value pairs with the
462
        following supported keys:
463
        <variablelist>
464
          <varlistentry>
465
            <term>mode</term>
466
            <listitem>
467
              <para>
468
                The default nic mode, 'routed' or 'bridged'.
469
              </para>
470
            </listitem>
471
          </varlistentry>
472
          <varlistentry>
473
            <term>link</term>
474
            <listitem>
475
              <para>
476
                In bridged mode the default NIC bridge. In routed mode it
477
                represents an hypervisor-vif-script dependent value to allow
478
                different instance groups. For example under the KVM default
479
                network script it is interpreted as a routing table number or
480
                name.
481
              </para>
482
            </listitem>
483
          </varlistentry>
484
        </variablelist>
485
      </para>
486

    
487
    </refsect2>
488

    
489
    <refsect2>
490
      <title>LIST-TAGS</title>
491

    
492
      <cmdsynopsis>
493
        <command>list-tags</command>
494
      </cmdsynopsis>
495

    
496
      <para>List the tags of the cluster.</para>
497
    </refsect2>
498

    
499
    <refsect2>
500
      <title>MASTERFAILOVER</title>
501

    
502
      <cmdsynopsis>
503
        <command>masterfailover</command>
504
        <arg>--no-voting</arg>
505
      </cmdsynopsis>
506

    
507
      <para>
508
        Failover the master role to the current node.
509
      </para>
510

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

    
522
    </refsect2>
523

    
524
    <refsect2>
525
      <title>MODIFY</title>
526

    
527
      <cmdsynopsis>
528
        <command>modify</command>
529
        <sbr>
530
        <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
531
        <sbr>
532
        <arg choice="opt">--no-lvm-storage</arg>
533
        <sbr>
534
        <arg choice="opt">--enabled-hypervisors
535
        <replaceable>hypervisors</replaceable></arg>
536
        <sbr>
537
        <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>
538
        <sbr>
539
        <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>
540
        <sbr>
541
        <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>
542
        <sbr>
543
        <arg>-C <replaceable>candidate_pool_size</replaceable></arg>
544

    
545
      </cmdsynopsis>
546

    
547
        <para>
548
          Modify the options for the cluster.
549
        </para>
550

    
551
        <para>
552
          The <option>-g</option>, <option>--no-lvm-storarge</option>,
553
          <option>--enabled-hypervisors</option>,
554
          <option>--hypervisor-parameters</option>,
555
          <option>--backend-parameters</option> and
556
          <option>--nic-parameters</option> and options are
557
          described in the <command>init</command> command.
558
        </para>
559

    
560
      <para>
561
        The <option>-C</option> options specifies the
562
        <varname>candidate_pool_size</varname> cluster parameter. This
563
        is the number of nodes that the master will try to keep as
564
        <literal>master_candidates</literal>. For more details about
565
        this role and other node roles, see the <citerefentry>
566
        <refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum>
567
        </citerefentry>. If you increase the size, the master will
568
        automatically promote as many nodes as required and possible
569
        to reach the intended number.
570
      </para>
571
    </refsect2>
572

    
573
    <refsect2>
574
      <title>QUEUE</title>
575

    
576
      <cmdsynopsis>
577
        <command>queue</command>
578
        <arg choice="opt">drain</arg>
579
        <arg choice="opt">undrain</arg>
580
        <arg choice="opt">info</arg>
581

    
582
      </cmdsynopsis>
583

    
584
      <para>
585
        Change job queue properties.
586
      </para>
587

    
588
      <para>
589
        The <option>drain</option> option sets the drain flag on the
590
        job queue. No new jobs will be accepted, but jobs already in
591
        the queue will be processed.
592
      </para>
593

    
594
      <para>
595
        The <option>undrain</option> will unset the drain flag on the
596
        job queue. New jobs will be accepted.
597
      </para>
598

    
599
      <para>
600
        The <option>info</option> option shows the properties of the
601
        job queue.
602
      </para>
603
    </refsect2>
604

    
605
    <refsect2>
606
      <title>WATCHER</title>
607

    
608
      <cmdsynopsis>
609
        <command>watcher</command>
610
        <group choice="req">
611
          <arg>pause <replaceable>duration</replaceable></arg>
612
          <arg>continue</arg>
613
          <arg>info</arg>
614
        </group>
615
      </cmdsynopsis>
616

    
617
      <para>
618
        Make the watcher pause or let it continue.
619
      </para>
620

    
621
      <para>
622
        The <option>pause</option> option causes the watcher to pause for
623
        <replaceable>duration</replaceable> seconds.
624
      </para>
625

    
626
      <para>
627
        The <option>continue</option> option will let the watcher continue.
628
      </para>
629

    
630
      <para>
631
        The <option>info</option> option shows whether the watcher is currently
632
        paused.
633
      </para>
634
    </refsect2>
635

    
636
    <refsect2>
637
      <title>redist-conf</title>
638
      <cmdsynopsis>
639
        <command>redist-conf</command>
640
          <arg>--submit</arg>
641
      </cmdsynopsis>
642

    
643
      <para>
644
        This command forces a full push of configuration files from
645
        the master node to the other nodes in the cluster. This is
646
        normally not needed, but can be run if the
647
        <command>verify</command> complains about configuration
648
        mismatches.
649
      </para>
650

    
651
      <para>
652
        The <option>--submit</option> option is used to send the job
653
        to the master daemon but not wait for its completion. The job
654
        ID will be shown so that it can be examined via
655
        <command>gnt-job info</command>.
656
      </para>
657

    
658
    </refsect2>
659
    <refsect2>
660
      <title>REMOVE-TAGS</title>
661

    
662
      <cmdsynopsis>
663
        <command>remove-tags</command>
664
        <arg choice="opt">--from <replaceable>file</replaceable></arg>
665
        <arg choice="req"
666
        rep="repeat"><replaceable>tag</replaceable></arg>
667
      </cmdsynopsis>
668

    
669
      <para>
670
        Remove tags from the cluster. If any of the tags are not
671
        existing on the cluster, the entire operation will abort.
672
      </para>
673

    
674
      <para>
675
        If the <option>--from</option> option is given, the list of
676
        tags will be extended with the contents of that file (each
677
        line becomes a tag). In this case, there is not need to pass
678
        tags on the command line (if you do, both sources will be
679
        used). A file name of - will be interpreted as stdin.
680
      </para>
681
    </refsect2>
682

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

    
686
      <cmdsynopsis>
687
        <command>rename</command>
688
        <arg>-f</arg>
689
        <arg choice="req"><replaceable>name</replaceable></arg>
690
      </cmdsynopsis>
691

    
692
      <para>
693
        Renames the cluster and in the process updates the master IP
694
        address to the one the new name resolves to. At least one of
695
        either the name or the IP address must be different, otherwise
696
        the operation will be aborted.
697
      </para>
698

    
699
      <para>
700
        Note that since this command can be dangerous (especially when
701
        run over SSH), the command will require confirmation unless
702
        run with the <option>-f</option> option.
703
      </para>
704
    </refsect2>
705

    
706
    <refsect2>
707
      <title>REPAIR-DISK-SIZES</title>
708

    
709
      <cmdsynopsis>
710
        <command>repair-disk-sizes</command>
711
        <arg rep="repeat">instance</arg>
712
      </cmdsynopsis>
713

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

    
723
      <para>
724
        Note that only active disks can be checked by this command; in
725
        case a disk cannot be activated it's advised to use
726
        <command>gnt-instance activate-disks --ignore-size
727
        ...</command> to force activation without regard to the
728
        current size.
729
      </para>
730

    
731
      <para>
732
        When the all disk sizes are consistent, the command will
733
        return no output. Otherwise it will log details about the
734
        inconsistencies in the configuration.
735
      </para>
736
    </refsect2>
737

    
738
    <refsect2>
739
      <title>SEARCH-TAGS</title>
740

    
741
      <cmdsynopsis>
742
        <command>search-tags</command>
743
        <arg choice="req"><replaceable>pattern</replaceable></arg>
744
      </cmdsynopsis>
745

    
746
      <para>
747
        Searches the tags on all objects in the cluster (the cluster
748
        itself, the nodes and the instances) for a given pattern. The
749
        pattern is interpreted as a regular expression and a search
750
        will be done on it (i.e. the given pattern is not anchored to
751
        the beggining of the string; if you want that, prefix the
752
        pattern with <literal>^</literal>).
753
      </para>
754

    
755
      <para>
756
        If no tags are matching the pattern, the exit code of the
757
        command will be one. If there is at least one match, the exit
758
        code will be zero. Each match is listed on one line, the
759
        object and the tag separated by a space. The cluster will be
760
        listed as <filename>/cluster</filename>, a node will be listed
761
        as
762
        <filename>/nodes/<replaceable>name</replaceable></filename>,
763
        and an instance as
764
        <filename>/instances/<replaceable>name</replaceable></filename>.
765
        Example:
766
      </para>
767
<screen>
768
# gnt-cluster search-tags time
769
/cluster ctime:2007-09-01
770
/nodes/node1.example.com mtime:2007-10-04
771
</screen>
772
    </refsect2>
773

    
774
    <refsect2>
775
      <title>VERIFY</title>
776

    
777
      <cmdsynopsis>
778
        <command>verify</command>
779
        <arg choice="opt">--no-nplus1-mem</arg>
780
      </cmdsynopsis>
781

    
782
      <para>
783
        Verify correctness of cluster configuration. This is safe with
784
        respect to running instances, and incurs no downtime of the
785
        instances.
786
      </para>
787

    
788
      <para>
789
        If the <option>--no-nplus1-mem</option> option is given, ganeti won't
790
        check whether if it loses a node it can restart all the instances on
791
        their secondaries (and report an error otherwise).
792
      </para>
793
    </refsect2>
794

    
795
    <refsect2>
796
      <title>VERIFY-DISKS</title>
797

    
798
      <cmdsynopsis>
799
        <command>verify-disks</command>
800
      </cmdsynopsis>
801

    
802
      <para>
803
        The command checks which instances have degraded DRBD disks
804
        and activates the disks of those instances.
805
      </para>
806

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

    
815
    <refsect2>
816
      <title>VERSION</title>
817

    
818
      <cmdsynopsis>
819
        <command>version</command>
820
      </cmdsynopsis>
821

    
822
      <para>
823
        Show the cluster version.
824
      </para>
825
    </refsect2>
826

    
827
  </refsect1>
828

    
829
  &footer;
830

    
831
</refentry>
832

    
833
<!-- Keep this comment at the end of the file
834
Local variables:
835
mode: sgml
836
sgml-omittag:t
837
sgml-shorttag:t
838
sgml-minimize-attributes:nil
839
sgml-always-quote-attributes:t
840
sgml-indent-step:2
841
sgml-indent-data:t
842
sgml-parent-document:nil
843
sgml-default-dtd-file:nil
844
sgml-exposed-tags:nil
845
sgml-local-catalogs:nil
846
sgml-local-ecat-files:nil
847
End:
848
-->