Statistics
| Branch: | Tag: | Revision:

root / man / gnt-instance.sgml @ c6520286

History | View | Annotate | Download (44.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>May 29, 2008</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-instance</refentrytitle>">
10
  <!ENTITY dhpackage   "gnt-instance">
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
      <holder>Google Inc.</holder>
25
    </copyright>
26
    &dhdate;
27
  </refentryinfo>
28
  <refmeta>
29
    &dhucpackage;
30

    
31
    &dhsection;
32
    <refmiscinfo>ganeti 1.2</refmiscinfo>
33
  </refmeta>
34
  <refnamediv>
35
    <refname>&dhpackage;</refname>
36

    
37
    <refpurpose>ganeti instance administration</refpurpose>
38
  </refnamediv>
39
  <refsynopsisdiv>
40
    <cmdsynopsis>
41
      <command>&dhpackage; </command>
42

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

    
50
    <para>
51
      The <command>&dhpackage;</command> is used for instance
52
      administration in the ganeti system.
53
    </para>
54

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

    
59
    <refsect2>
60
      <title>Creation/removal/querying</title>
61

    
62
      <refsect3>
63
        <title>ADD</title>
64
        <cmdsynopsis>
65
          <command>add</command>
66
          <arg>-s <replaceable>disksize</replaceable></arg>
67
          <arg>--swap-size <replaceable>disksize</replaceable></arg>
68
          <arg>-m <replaceable>memsize</replaceable></arg>
69
          <sbr>
70

    
71
          <arg>-b <replaceable>bridge</replaceable></arg>
72
          <arg>--mac <replaceable>MAC-address</replaceable></arg>
73
          <sbr>
74

    
75
          <arg>--hvm-boot-order <replaceable>boot-order</replaceable></arg>
76
          <arg>--hvm-acpi <replaceable>ACPI-support</replaceable></arg>
77
          <sbr>
78

    
79
          <arg>--hvm-pae <replaceable>PAE-support</replaceable></arg>
80
          <sbr>
81

    
82
          <arg>--hvm-cdrom-image-path
83
            <replaceable>cdrom-image-path</replaceable></arg>
84
          <sbr>
85

    
86
          <arg>--vnc-bind-address
87
            <replaceable>vnc-bind-address</replaceable></arg>
88
          <sbr>
89

    
90
          <arg>--kernel<group choice="req">
91
              <arg>default</arg>
92
              <arg><replaceable>kernel_path</replaceable></arg>
93
            </group></arg>
94
          <sbr>
95

    
96
          <arg>--initrd<group choice="req">
97
              <arg>default</arg>
98
              <arg>none</arg>
99
              <arg><replaceable>initrd_path</replaceable></arg>
100
            </group></arg>
101
          <sbr>
102

    
103
          <arg>--file-storage-dir <replaceable>dir_path</replaceable></arg>
104
          <arg>--file-driver<group choice="req">
105
              <arg>loop</arg>
106
              <arg>blktap</arg>
107
            </group></arg>
108
          <sbr>
109

    
110
          <arg choice="req">-t<group choice="req">
111
              <arg>diskless</arg>
112
              <arg>file</arg>
113
              <arg>plain</arg>
114
              <arg>drbd</arg>
115
            </group></arg>
116
          <sbr>
117

    
118
          <group choice="req">
119
            <arg>-n <replaceable>node<optional>:secondary-node</optional></replaceable></arg>
120
            <arg>--iallocator <replaceable>name</replaceable></arg>
121
          </group>
122
          <sbr>
123

    
124
          <arg choice="req">-o <replaceable>os-type</replaceable></arg>
125
          <sbr>
126

    
127
          <arg choice="req"><replaceable>instance</replaceable></arg>
128
        </cmdsynopsis>
129

    
130
        <para>
131
          Creates a new instance on the specified
132
          host. <replaceable>instance</replaceable> must be in DNS and
133
          resolve to a IP in the same network as the nodes in the
134
          cluster.
135
        </para>
136

    
137
        <para>
138
          The <option>-s</option> option specifies the disk size for
139
          the instance, in mebibytes (defaults to
140
          <constant>20480MiB</constant> =
141
          <constant>20GiB</constant>). You can also use one of the
142
          suffixes <literal>m</literal>, <literal>g</literal> or
143
          <literal>t</literal> to specificy the exact the units used;
144
          these suffixes map to mebibytes, gibibytes and tebibytes.
145
        </para>
146

    
147
        <para>
148
          The <option>--swap-size</option> option specifies the swap
149
          disk size (in mebibytes) for the instance (the one presented
150
          as <filename class="devicefile">/dev/sdb</filename>). The
151
          default is <constant>4096MiB</constant>. As for the disk
152
          size, you can specify other suffixes.
153
        </para>
154

    
155
        <para>
156
          The <option>-m</option> option specifies the memory size for
157
          the instance, in mebibytes (defaults to 128 MiB). Again, you
158
          can use other suffixes (e.g. <userinput>2g</userinput>).
159
        </para>
160

    
161
        <para>
162
          The <option>-o</option> options specifies the operating
163
          system to be installed. The available operating systems can
164
          be listed with <command>gnt-os list</command>.
165
        </para>
166

    
167
        <para>
168
          The <option>-b</option> option specifies the bridge to which the
169
          instance will be connected. (defaults to the cluster-wide default
170
          bridge specified at cluster initialization time).
171
        </para>
172

    
173
        <para>
174
          The <option>--mac</option> option specifies the MAC address
175
          of the ethernet interface for the instance. If this option
176
          is not specified, a new MAC address is generated randomly with
177
          the configured MAC prefix. The randomly generated MAC
178
          address is guaranteed to be unique among the instances of
179
          this cluster.
180
        </para>
181

    
182
        <para>
183
          The <option>--hvm-boot-order</option> option specifies the
184
          boot device order for Xen HVM instances. The boot order is a
185
          string of letters listing the boot devices, with valid
186
          device letters being:
187
        </para>
188

    
189
        <para>
190
          <variablelist>
191
            <varlistentry>
192
              <term>a</term>
193
              <listitem>
194
                <para>
195
                  floppy drive
196
                </para>
197
              </listitem>
198
            </varlistentry>
199
            <varlistentry>
200
              <term>c</term>
201
              <listitem>
202
                <para>
203
                  hard disk
204
                </para>
205
              </listitem>
206
            </varlistentry>
207
            <varlistentry>
208
              <term>d</term>
209
              <listitem>
210
                <para>
211
                  CDROM drive
212
                </para>
213
              </listitem>
214
            </varlistentry>
215
            <varlistentry>
216
              <term>n</term>
217
              <listitem>
218
                <para>
219
                  network boot (PXE)
220
                </para>
221
              </listitem>
222
            </varlistentry>
223
          </variablelist>
224
        </para>
225

    
226
        <para>
227
          The default is not to set an HVM boot order which is
228
          interpreted as 'dc'. This option, like all options starting
229
          with 'hvm', is only relevant for Xen HVM instances and
230
          ignored by all other instance types.
231
        </para>
232

    
233
        <para>
234
          The <option>--hvm-acpi</option> option specifies if Xen
235
          should enable ACPI support for this HVM instance. Valid
236
          values are true or false. The default value is false,
237
          disabling ACPI support for this instance.
238
        </para>
239

    
240
        <para>
241
          The <option>--hvm-pae</option> option specifies if Xen
242
          should enabled PAE support for this HVM instance. Valid
243
          values are true or false. The default is false, disabling
244
          PAE support for this instance.
245
        </para>
246

    
247
        <para>
248
          The <option>--hvm-cdrom-image-path</option> option specifies the
249
          path to the file Xen uses to emulate a virtual CDROM drive
250
          for this HVM instance. Valid values are either an
251
          absolute path to an existing file or None, which disables
252
          virtual CDROM support for this instance. The default is
253
          None, disabling virtual CDROM support.
254
        </para>
255

    
256
        <para>
257
          The <option>--vnc-bind-address</option> option specifies the
258
          address that the VNC listener for this instance should bind
259
          to. Valid values are IPv4 addresses. Use the address 0.0.0.0
260
          to bind to all available interfaces (this is the default)
261
          or specify the address of one of the interfaces on the node
262
          to restrict listening to that interface.
263
        </para>
264

    
265
        <para>
266
          The <option>--iallocator</option> option specifies the instance
267
          allocator plugin to use. If you pass in this option the allocator
268
          will select nodes for this instance automatically, so you don't need
269
          to pass them with the <option>-n</option> option. For more
270
          information please refer to the instance allocator documentation.
271
        </para>
272

    
273
        <para>
274
          The <option>--kernel</option> option allows the instance to
275
          use a custom kernel (if a filename is passed) or to use the
276
          default kernel (<filename>@CUSTOM_XEN_KERNEL@</filename>), if the
277
          string <constant>default</constant> is passed.
278
        </para>
279

    
280
        <para>
281
          The <option>--initrd</option> option is similar: it allows
282
          the instance to use a custom initrd (if a filename is
283
          passed) or to use the default initrd
284
          (<filename>@CUSTOM_XEN_INITRD@</filename>), if the string
285
          <constant>default</constant> is passed, or to disable the
286
          use of an initrd, if the string <constant>none</constant> is
287
          passed. Note that in the case the instance is set to use the
288
          default initrd and it doesn't exist, it will be silently
289
          ignored; if the instance is set to use a custom initrd and
290
          it doesn't exist, this will be treated as an error and will
291
          prevent the startup of the instance.
292
        </para>
293

    
294
        <para>
295
          The <option>-t</option> options specifies the disk layout type for
296
          the instance. The available choices are:
297
          <variablelist>
298
            <varlistentry>
299
              <term>diskless</term>
300
              <listitem>
301
                <para>
302
                  This creates an instance with no disks. Its useful for
303
                  testing only (or other special cases).
304
                </para>
305
              </listitem>
306
            </varlistentry>
307
            <varlistentry>
308
              <term>file</term>
309
              <listitem>
310
                <para>Disk devices will be regular files.</para>
311
              </listitem>
312
            </varlistentry>
313
            <varlistentry>
314
              <term>plain</term>
315
              <listitem>
316
                <para>Disk devices will be logical volumes.</para>
317
              </listitem>
318
            </varlistentry>
319
            <varlistentry>
320
              <term>drbd</term>
321
              <listitem>
322
                <para>
323
                  Disk devices will be drbd (version 8.x) on top of
324
                  lvm volumes.
325
                </para>
326
              </listitem>
327
            </varlistentry>
328
          </variablelist>
329
        </para>
330

    
331
        <para>
332
          The optional second value of the <option>--node</option> is used for
333
          the drbd template type and specifies the remote node.
334
        </para>
335

    
336
        <para>
337
          If you do not want gnt-instance to wait for the disk mirror
338
          to be synced, use the <option>--no-wait-for-sync</option>
339
          option.
340
        </para>
341

    
342
        <para>
343
          The <option>--file-storage-dir</option> specifies the relative path
344
          under the cluster-wide file storage directory to store file-based
345
          disks. It is useful for having different subdirectories for
346
          different instances. The full path of the directory where the disk
347
          files are stored will consist of cluster-wide file storage directory
348
          + optional subdirectory + instance name. Example:
349
          /srv/ganeti/file-storage/mysubdir/instance1.example.com. This option
350
          is only relevant for instances using the file storage backend.
351
        </para>
352

    
353
        <para>
354
          The <option>--file-driver</option> specifies the driver to use for
355
          file-based disks. Note that currently these drivers work with the
356
          xen hypervisor only. This option is only relevant for instances using
357
          the file storage backend. The available choices are:
358
          <variablelist>
359
            <varlistentry>
360
              <term>loop</term>
361
              <listitem>
362
                <para>Kernel loopback driver.</para>
363
              </listitem>
364
            </varlistentry>
365
            <varlistentry>
366
              <term>blktap</term>
367
              <listitem>
368
                <para>blktap driver.</para>
369
              </listitem>
370
            </varlistentry>
371
          </variablelist>
372
        </para>
373

    
374
        <para>
375
          The loop driver uses loopback devices to access the filesystem
376
          within the file. However, running I/O intensive applications
377
          in your instance using the loop driver might result in slowdowns.
378
          Furthermore, if you use the loopback driver consider increasing
379
          the maximum amount of loopback devices (on most systems it's 8)
380
          using the max_loop param.
381
        </para>
382

    
383
        <para>
384
          In order to be able to use the blktap driver you should check
385
          if the 'blktapctrl' user space disk agent is running (usually
386
          automatically started via xend). This user-level disk I/O
387
          interface has the advantage of better performance. Especially
388
          if you use a network file system (e.g. NFS) to store your instances
389
          this is the recommended choice.
390
        </para>
391

    
392
        <para>
393
          Example:
394
          <screen>
395
# gnt-instance add -t file -s 30g -m 512 -o debian-etch \
396
  -n node1.example.com --file-storage-dir=mysubdir instance1.example.com
397
# gnt-instance add -t plain -s 30g -m 512 -o debian-etch \
398
  -n node1.example.com instance1.example.com
399
# gnt-instance add -t drbd -s 30g -m 512 -o debian-etch \
400
  -n node1.example.com:node2.example.com instance2.example.com
401
          </screen>
402
        </para>
403
      </refsect3>
404

    
405
      <refsect3>
406
        <title>REMOVE</title>
407

    
408
        <cmdsynopsis>
409
          <command>remove</command>
410
          <arg>--ignore-failures</arg>
411
          <arg choice="req"><replaceable>instance</replaceable></arg>
412
        </cmdsynopsis>
413

    
414
        <para>
415
          Remove an instance. This will remove all data from the
416
          instance and there is <emphasis>no way back</emphasis>. If
417
          you are not sure if you use an instance again, use
418
          <command>shutdown</command> first and leave it in the
419
          shutdown state for a while.
420

    
421
        </para>
422

    
423
        <para>
424
          The <option>--ignore-failures</option> option will cause the
425
          removal to proceed even in the presence of errors during the
426
          removal of the instance (e.g. during the shutdown or the
427
          disk removal). If this option is not given, the command will
428
          stop at the first error.
429
        </para>
430

    
431
        <para>
432
          Example:
433
          <screen>
434
# gnt-instance remove instance1.example.com
435
          </screen>
436
        </para>
437
      </refsect3>
438

    
439
      <refsect3>
440
        <title>LIST</title>
441

    
442
        <cmdsynopsis>
443
          <command>list</command>
444
          <arg>--no-headers</arg>
445
          <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
446
          <arg>-o <replaceable>[+]FIELD,...</replaceable></arg>
447
        </cmdsynopsis>
448

    
449
        <para>
450
          Shows the currently configured instances with memory usage,
451
          disk usage, the node they are running on, and the CPU time,
452
          counted in seconds, used by each instance since its latest
453
          restart.
454
        </para>
455

    
456
        <para>
457
          The <option>--no-headers</option> option will skip the
458
          initial header line. The <option>--separator</option> option
459
          takes an argument which denotes what will be used between
460
          the output fields. Both these options are to help scripting.
461
        </para>
462

    
463
        <para>
464
          The <option>-o</option> option takes a comma-separated list
465
          of output fields. The available fields and their meaning
466
          are:
467
          <variablelist>
468
            <varlistentry>
469
              <term>name</term>
470
              <listitem>
471
                <simpara>the instance name</simpara>
472
              </listitem>
473
            </varlistentry>
474
            <varlistentry>
475
              <term>os</term>
476
              <listitem>
477
                <simpara>the OS of the instance</simpara>
478
              </listitem>
479
            </varlistentry>
480
            <varlistentry>
481
              <term>pnode</term>
482
              <listitem>
483
                <simpara>the primary node of the instance</simpara>
484
              </listitem>
485
            </varlistentry>
486
            <varlistentry>
487
              <term>snodes</term>
488
              <listitem>
489
                <simpara>comma-separated list of secondary nodes for the
490
                  instance; usually this will be just one node</simpara>
491
              </listitem>
492
            </varlistentry>
493
            <varlistentry>
494
              <term>admin_state</term>
495
              <listitem>
496
                <simpara>the desired state of the instance (either "yes"
497
                  or "no" denoting the instance should run or
498
                  not)</simpara>
499
              </listitem>
500
            </varlistentry>
501
            <varlistentry>
502
              <term>admin_ram</term>
503
              <listitem>
504
                <simpara>the desired memory for the instance</simpara>
505
              </listitem>
506
            </varlistentry>
507
            <varlistentry>
508
              <term>disk_template</term>
509
              <listitem>
510
                <simpara>the disk template of the instance</simpara>
511
              </listitem>
512
            </varlistentry>
513
            <varlistentry>
514
              <term>oper_state</term>
515
              <listitem>
516
                <simpara>the actual state of the instance; can be
517
                one of the values "running", "stopped", "(node
518
                down)"</simpara>
519
              </listitem>
520
            </varlistentry>
521
            <varlistentry>
522
              <term>status</term>
523
              <listitem>
524
                <simpara>combined form of admin_state and oper_stat;
525
                this can be one of:
526
                <computeroutput>ERROR_nodedown</computeroutput> if the
527
                node of the instance is down,
528
                <computeroutput>ERROR_down</computeroutput> if the
529
                instance should run but is down,
530
                <computeroutput>ERROR_up</computeroutput> if the
531
                instance should be stopped but is actually running,
532
                <computeroutput>ADMIN_down</computeroutput> if the
533
                instance has been stopped (and is stopped) and
534
                <computeroutput>running</computeroutput> if the
535
                instance is set to be running (and is
536
                running)</simpara>
537
              </listitem>
538
            </varlistentry>
539
            <varlistentry>
540
              <term>oper_ram</term>
541
              <listitem>
542
                <simpara>the actual memory usage of the instance as seen
543
                  by the hypervisor</simpara>
544
              </listitem>
545
            </varlistentry>
546
            <varlistentry>
547
              <term>ip</term>
548
              <listitem>
549
                <simpara>the ip address ganeti recognizes as associated with
550
                the instance interface</simpara>
551
              </listitem>
552
            </varlistentry>
553
            <varlistentry>
554
              <term>mac</term>
555
              <listitem>
556
                <simpara>the instance interface MAC address</simpara>
557
              </listitem>
558
            </varlistentry>
559
            <varlistentry>
560
              <term>bridge</term>
561
              <listitem>
562
                <simpara>bridge the instance is connected to
563
                </simpara>
564
              </listitem>
565
            </varlistentry>
566
            <varlistentry>
567
              <term>sda_size</term>
568
              <listitem>
569
                <simpara>the size of the instance's first disk</simpara>
570
              </listitem>
571
            </varlistentry>
572
            <varlistentry>
573
              <term>sdb_size</term>
574
              <listitem>
575
                <simpara>the size of the instance's second disk</simpara>
576
              </listitem>
577
            </varlistentry>
578
            <varlistentry>
579
              <term>vcpus</term>
580
              <listitem>
581
                <simpara>the number of VCPUs allocated to the
582
                instance</simpara>
583
              </listitem>
584
            </varlistentry>
585
            <varlistentry>
586
              <term>tags</term>
587
              <listitem>
588
                <simpara>comma-separated list of the instances's
589
                tags</simpara>
590
              </listitem>
591
            </varlistentry>
592
          </variablelist>
593
        </para>
594

    
595
        <para>
596
          If the value of the option starts with the character
597
          <constant>+</constant>, the new fields will be added to the
598
          default list. This allows to quickly see the default list
599
          plus a few other fields, instead of retyping the entire list
600
          of fields.
601
        </para>
602

    
603
        <para>
604
          There is a subtle grouping about the available output
605
          fields: all fields except for <option>oper_state</option>,
606
          <option>oper_ram</option> and <option>status</option> are
607
          configuration value and not run-time values. So if you don't
608
          select any of the these fields, the query will be satisfied
609
          instantly from the cluster configuration, without having to
610
          ask the remote nodes for the data. This can be helpful for
611
          big clusters when you only want some data and it makes sense
612
          to specify a reduced set of output fields.
613
        </para>
614

    
615
        <para>The default output field list is:
616
          <simplelist type="inline">
617
            <member>name</member>
618
            <member>os</member>
619
            <member>pnode</member>
620
            <member>admin_state</member>
621
            <member>oper_state</member>
622
            <member>oper_ram</member>
623
          </simplelist>.
624
        </para>
625
      </refsect3>
626

    
627
      <refsect3>
628
        <title>INFO</title>
629

    
630
        <cmdsynopsis>
631
          <command>info</command>
632
          <arg rep="repeat"><replaceable>instance</replaceable></arg>
633
        </cmdsynopsis>
634

    
635
        <para>
636
          Show detailed information about the (given) instances. This
637
          is different from <command>list</command> as it shows
638
          detailed data about the instance's disks (especially useful
639
          for drbd disk template).
640
        </para>
641
      </refsect3>
642

    
643
      <refsect3>
644
        <title>MODIFY</title>
645

    
646
        <cmdsynopsis>
647
          <command>modify</command>
648
          <arg choice="opt">-m <replaceable>memsize</replaceable></arg>
649
          <arg choice="opt">-p <replaceable>vcpus</replaceable></arg>
650
          <arg choice="opt">-i <replaceable>ip</replaceable></arg>
651
          <arg choice="opt">-b <replaceable>bridge</replaceable></arg>
652
          <arg choice="opt">--mac <replaceable>MAC-address</replaceable></arg>
653
          <arg>--hvm-boot-order <replaceable>boot-order</replaceable></arg>
654
          <arg>--hvm-acpi <replaceable>ACPI-support</replaceable></arg>
655
          <arg>--hvm-pae <replaceable>PAE-support</replaceable></arg>
656
          <arg>--hvm-cdrom-image-path
657
            <replaceable>cdrom-image-path</replaceable></arg>
658
          <arg>--vnc-bind-address
659
            <replaceable>vnc-bind-address</replaceable></arg>
660

    
661
          <sbr>
662
          <arg>--kernel <group choice="req">
663
              <arg>default</arg>
664
              <arg><replaceable>kernel_path</replaceable></arg>
665
            </group></arg>
666
          <sbr>
667
          <arg>--initrd <group choice="req">
668
              <arg>default</arg>
669
              <arg>none</arg>
670
              <arg><replaceable>initrd_path</replaceable></arg>
671
            </group> </arg>
672
          <sbr>
673
          <arg choice="req"><replaceable>instance</replaceable></arg>
674
        </cmdsynopsis>
675

    
676
        <para>
677
          Modify the memory size, number of vcpus, ip address, MAC
678
          address and/or bridge for an instance.
679
        </para>
680

    
681
        <para>
682
          The memory size is given in MiB. Note that you need to give
683
          at least one of the arguments, otherwise the command
684
          complains.
685
        </para>
686

    
687
        <para>
688
          The <option>--kernel</option>, <option>--initrd</option>
689
          and <option>--hvm-boot-order</option>
690
          options are described in the <command>add</command> command.
691
        </para>
692

    
693
        <para>
694
          Additionally, the HVM boot order can be reset to the default
695
          values by using <option>--hvm-boot-order=default</option>.
696
        </para>
697

    
698
        <para>
699
          The <option>--hvm-acpi</option> option specifies if Xen
700
          should enable ACPI support for this HVM instance. Valid
701
          values are true or false.
702
        </para>
703

    
704
        <para>
705
          The <option>--hvm-pae</option> option specifies if Xen
706
          should enabled PAE support for this HVM instance. Valid
707
          values are true or false.
708
        </para>
709

    
710
        <para>
711
          The <option>--hvm-cdrom-image-path</option> specifies the
712
          path to the file xen uses to emulate a virtual CDROM drive
713
          for this HVM instance. Valid values are either an
714
          absolute path to an existing file or None, which disables
715
          virtual CDROM support for this instance.
716
        </para>
717

    
718
        <para>
719
          The <option>--vnc-bind-address</option> specifies the
720
          address that the VNC listener for this instance should bind
721
          to. Valid values are IPv4 addresses. Use the address 0.0.0.0
722
          to bind to all available interfaces.
723
        </para>
724

    
725
        <para>
726
          All the changes take effect at the next restart. If the
727
          instance is running, there is no effect on the instance.
728
        </para>
729
      </refsect3>
730

    
731
      <refsect3>
732
        <title>REINSTALL</title>
733

    
734
        <cmdsynopsis>
735
          <command>reinstall</command>
736
          <arg choice="opt">-o <replaceable>os-type</replaceable></arg>
737
          <arg choice="opt">-f <replaceable>force</replaceable></arg>
738
          <arg choice="req"><replaceable>instance</replaceable></arg>
739
        </cmdsynopsis>
740

    
741
        <para>
742
          Reinstalls the operating system on the given instance. The instance
743
          must be stopped when running this command. If the
744
          <option>--os-type</option> is specified, the operating system is
745
          changed.
746
        </para>
747
      </refsect3>
748

    
749
      <refsect3>
750
        <title>RENAME</title>
751

    
752
        <cmdsynopsis>
753
          <command>rename</command>
754
          <arg>--no-ip-check</arg>
755
          <arg choice="req"><replaceable>instance</replaceable></arg>
756
          <arg choice="req"><replaceable>new_name</replaceable></arg>
757
        </cmdsynopsis>
758

    
759
        <para>
760
          Renames the given instance. The instance must be stopped
761
          when running this command. The requirements for the new name
762
          are the same as for adding an instance: the new name must be
763
          resolvable and the IP it resolves to must not be reachable
764
          (in order to prevent duplicate IPs the next time the
765
          instance is started). The IP test can be skipped if the
766
          <option>--no-ip-check</option> option is passed.
767
        </para>
768
      </refsect3>
769

    
770
    </refsect2>
771

    
772
    <refsect2>
773
      <title>Starting/stopping/connecting to console</title>
774

    
775
      <refsect3>
776
        <title>STARTUP</title>
777

    
778
        <cmdsynopsis>
779
          <command>startup</command>
780
          <arg>--extra=<replaceable>PARAMS</replaceable></arg>
781
          <arg>--force</arg>
782
          <sbr>
783
          <group choice="opt">
784
            <arg>--instance</arg>
785
            <arg>--node</arg>
786
            <arg>--primary</arg>
787
            <arg>--secondary</arg>
788
            <arg>--all</arg>
789
          </group>
790
          <sbr>
791
          <arg choice="opt"
792
          rep="repeat"><replaceable>name</replaceable></arg>
793
        </cmdsynopsis>
794

    
795
        <para>
796
          Starts one or more instances, depending on the following
797
          options. The four available modes are:
798
          <variablelist>
799
            <varlistentry>
800
              <term><option>--instance</option></term>
801
              <listitem>
802
                <simpara>will start the instances given as arguments
803
                (at least one argument required); this is the default
804
                selection</simpara>
805
              </listitem>
806
            </varlistentry>
807
            <varlistentry>
808
              <term>--node</term>
809
              <listitem>
810
                <simpara>will start the instances who have the given
811
                node as either primary or secondary</simpara>
812
              </listitem>
813
            </varlistentry>
814
            <varlistentry>
815
              <term><option>--primary</option></term>
816
              <listitem>
817
                <simpara>will start all instances whose primary node
818
                is in the list of nodes passed as arguments (at least
819
                one node required)</simpara>
820
              </listitem>
821
            </varlistentry>
822
            <varlistentry>
823
              <term><option>--secondary</option></term>
824
              <listitem>
825
                <simpara>will start all instances whose secondary node
826
                is in the list of nodes passed as arguments (at least
827
                one node required)</simpara>
828
              </listitem>
829
            </varlistentry>
830
            <varlistentry>
831
              <term>--all</term>
832
              <listitem>
833
                <simpara>will start all instances in the cluster (no
834
                arguments accepted)</simpara>
835
              </listitem>
836
            </varlistentry>
837
          </variablelist>
838
        </para>
839

    
840
        <para>
841
          Note that although you can pass more than one selection
842
          option, the last one wins, so in order to guarantee the
843
          desired result, don't pass more than one such option.
844
        </para>
845

    
846
        <para>
847
          The <option>--extra</option> option is used to pass
848
          additional argument to the instance's kernel for this start
849
          only. Currently there is no way to specify a persistent set
850
          of arguments (beside the one hardcoded). Note that this may
851
          not apply to all virtualization types.
852
        </para>
853

    
854
        <para>
855
          Use <option>--force</option> to start even if secondary disks are
856
          failing.
857
        </para>
858

    
859
        <para>
860
          Example:
861
          <screen>
862
# gnt-instance start instance1.example.com
863
# gnt-instance start --extra single test1.example.com
864
# gnt-instance start --node node1.example.com node2.example.com
865
# gnt-instance start --all
866
          </screen>
867
        </para>
868
      </refsect3>
869

    
870
      <refsect3>
871
        <title>SHUTDOWN</title>
872

    
873
        <cmdsynopsis>
874
          <command>shutdown</command>
875
          <sbr>
876
          <group choice="opt">
877
            <arg>--instance</arg>
878
            <arg>--node</arg>
879
            <arg>--primary</arg>
880
            <arg>--secondary</arg>
881
            <arg>--all</arg>
882
          </group>
883
          <sbr>
884

    
885
          <arg choice="opt"
886
          rep="repeat"><replaceable>name</replaceable></arg>
887
        </cmdsynopsis>
888

    
889
        <para>
890
          Stops one or more instances. If the instance cannot be
891
          cleanly stopped during a hardcoded interval (currently 2
892
          minutes), it will forcibly stop the instance (equivalent to
893
          switching off the power on a physical machine).
894
        </para>
895

    
896
        <para>
897
          The <option>--instance</option>, <option>--node</option>,
898
          <option>--primary</option>, <option>--secondary</option> and
899
          <option>--all</option> options are similar as for the
900
          <command>startup</command> command and they influence the
901
          actual instances being shutdown.
902
        </para>
903

    
904
        <para>
905
          Example:
906
          <screen>
907
# gnt-instance shutdown instance1.example.com
908
# gnt-instance shutdown --all
909
          </screen>
910
        </para>
911
      </refsect3>
912

    
913
      <refsect3>
914
        <title>REBOOT</title>
915

    
916
        <cmdsynopsis>
917
          <command>reboot</command>
918
          <sbr>
919
          <arg>--extra=<replaceable>PARAMS</replaceable></arg>
920
          <sbr>
921
          <arg>--type=<replaceable>REBOOT-TYPE</replaceable></arg>
922
          <sbr>
923
          <arg>--ignore-secondaries</arg>
924
          <sbr>
925
          <arg>--force-multiple</arg>
926
          <sbr>
927
          <group choice="opt">
928
            <arg>--instance</arg>
929
            <arg>--node</arg>
930
            <arg>--primary</arg>
931
            <arg>--secondary</arg>
932
            <arg>--all</arg>
933
          </group>
934
          <sbr>
935

    
936
          <arg choice="opt"
937
          rep="repeat"><replaceable>name</replaceable></arg>
938
        </cmdsynopsis>
939

    
940
        <para>
941
          Reboots one or more instances. The type of reboot depends on
942
          the value of <option>--type</option>. A soft reboot does a
943
          hypervisor reboot, a hard reboot does a instance stop,
944
          recreates the hypervisor config for the instance and
945
          starts the instance. A full reboot does the equivalent
946
          of <command>gnt-instance shutdown &amp;&amp; gnt-instance
947
          startup</command>. The default is soft reboot.
948
        </para>
949

    
950
        <para>
951
          For the hard reboot the option
952
          <option>--ignore-secondaries</option> ignores errors for the
953
          secondary node while re-assembling the instance disks.
954
        </para>
955

    
956
        <para>
957
          The <option>--instance</option>, <option>--node</option>,
958
          <option>--primary</option>, <option>--secondary</option> and
959
          <option>--all</option> options are similar as for the
960
          <command>startup</command> command and they influence the
961
          actual instances being rebooted.
962
        </para>
963

    
964
        <para>
965
          Use the <option>--force-multiple</option> option to keep
966
          gnt-instance from asking for confirmation when more than one
967
          instance is affected.
968
        </para>
969

    
970
        <para>
971
          Example:
972
          <screen>
973
# gnt-instance reboot instance1.example.com
974
# gnt-instance reboot --type=full instance1.example.com
975
          </screen>
976
        </para>
977
      </refsect3>
978

    
979
      <refsect3>
980
        <title>CONSOLE</title>
981
        <cmdsynopsis>
982
          <command>console</command>
983
          <arg choice="opt">--show-cmd</arg>
984
          <arg choice="req"><replaceable>instance</replaceable></arg>
985
        </cmdsynopsis>
986

    
987
        <para>
988
          Connects to the console of the given instance. If the instance
989
          is not up, an error is returned. Use the <option>--show-cmd</option>
990
          option to display the command instead of executing it.
991
        </para>
992

    
993
        <para>
994
          Example:
995
          <screen>
996
# gnt-instance console instance1.example.com
997
          </screen>
998
        </para>
999
      </refsect3>
1000

    
1001
    </refsect2>
1002

    
1003
    <refsect2>
1004
      <title>Disk management</title>
1005

    
1006
      <refsect3>
1007
        <title>REPLACE-DISKS</title>
1008

    
1009
        <cmdsynopsis>
1010
          <command>replace-disks</command>
1011

    
1012
          <group choice="req">
1013
            <arg>--iallocator <replaceable>name</replaceable></arg>
1014
            <arg>--new-secondary <replaceable>NODE</replaceable></arg>
1015
          </group>
1016
          <sbr>
1017

    
1018
          <arg choice="opt">-s</arg>
1019
          <arg choice="req"><replaceable>instance</replaceable></arg>
1020
        </cmdsynopsis>
1021

    
1022
        <cmdsynopsis>
1023
          <command>replace-disks</command>
1024

    
1025
          <group>
1026
          <arg choice="req">-s</arg>
1027
          <arg choice="req">-p</arg>
1028
          </group>
1029
          <arg choice="req"><replaceable>instance</replaceable></arg>
1030
        </cmdsynopsis>
1031

    
1032
        <para>
1033
          This command is a generalized form for adding and replacing
1034
          disks. It is currently only valid for the mirrored (DRBD)
1035
          disk template.
1036
        </para>
1037

    
1038
        <para>
1039
          The first form will do a secondary node change, while the
1040
          second form will replace the disks on either the primary
1041
          (<option>-p</option>) or the secondary (<option>-s</option>)
1042
          node of the instance only, without changing the node.
1043
        </para>
1044

    
1045
        <para>
1046
          Specifying <option>--iallocator</option> enables secondary node
1047
          replacement and and makes the new secondary be selected automatically
1048
          by the specified allocator plugin.
1049
        </para>
1050
      </refsect3>
1051

    
1052
      <refsect3>
1053
        <title>ACTIVATE-DISKS</title>
1054

    
1055
        <cmdsynopsis>
1056
          <command>activate-disks</command>
1057
          <arg choice="req"><replaceable>instance</replaceable></arg>
1058
        </cmdsynopsis>
1059
        <para>
1060
          Activates the block devices of the given instance. If
1061
          successful, the command will show the location and name of
1062
          the block devices:
1063
          <screen>
1064
node1.example.com:sda:/dev/drbd0
1065
node1.example.com:sdb:/dev/drbd1
1066
          </screen>
1067

    
1068
          In this example, <emphasis>node1.example.com</emphasis> is
1069
          the name of the node on which the devices have been
1070
          activated. The <emphasis>sda</emphasis> and
1071
          <emphasis>sdb</emphasis> are the names of the block devices
1072
          inside the instance. <emphasis>/dev/drbd0</emphasis> and
1073
          <emphasis>/dev/drbd1</emphasis> are the names of the block
1074
          devices as visible on the node.
1075
        </para>
1076

    
1077
        <para>
1078
          Note that it is safe to run this command while the instance
1079
          is already running.
1080
        </para>
1081
      </refsect3>
1082

    
1083
      <refsect3>
1084
        <title>DEACTIVATE-DISKS</title>
1085

    
1086
        <cmdsynopsis>
1087
          <command>deactivate-disks</command>
1088
          <arg choice="req"><replaceable>instance</replaceable></arg>
1089
        </cmdsynopsis>
1090
        <para>
1091
          De-activates the block devices of the given instance. Note
1092
          that if you run this command for an instance with a drbd
1093
          disk template, while it is running, it will not be able to
1094
          shutdown the block devices on the primary node, but it will
1095
          shutdown the block devices on the secondary nodes, thus
1096
          breaking the replication.
1097
        </para>
1098

    
1099
      </refsect3>
1100

    
1101
      <refsect3>
1102
        <title>GROW-DISK</title>
1103
        <cmdsynopsis>
1104
          <command>grow-disk</command>
1105
          <arg choice="req"><replaceable>instance</replaceable></arg>
1106
          <arg choice="req"><replaceable>disk</replaceable></arg>
1107
          <arg choice="req"><replaceable>amount</replaceable></arg>
1108
        </cmdsynopsis>
1109

    
1110
        <para>
1111
          Grows an instance's disk. This is only possible for
1112
          instances having a <literal>plain</literal> or
1113
          <literal>drbd</literal> disk template.
1114
        </para>
1115

    
1116
        <para>
1117
          Note that this command only change the block device size; it
1118
          will not grow the actual filesystems, partitions, etc. that
1119
          live on that disk. Usually, you will need to:
1120
          <orderedlist>
1121
            <listitem>
1122
              <simpara>use <command>gnt-instance grow-disk</command></simpara>
1123
            </listitem>
1124
            <listitem>
1125
              <simpara>reboot the instance (later, at a convenient
1126
              time)</simpara>
1127
            </listitem>
1128
            <listitem>
1129
              <simpara>use a filesystem resizer, such as
1130
              <citerefentry> <refentrytitle>ext2online</refentrytitle>
1131
              <manvolnum>8</manvolnum> </citerefentry> or
1132
              <citerefentry> <refentrytitle>xfs_growfs</refentrytitle>
1133
              <manvolnum>8</manvolnum> </citerefentry> to resize the
1134
              filesystem, or use <citerefentry>
1135
              <refentrytitle>fdisk</refentrytitle>
1136
              <manvolnum>8</manvolnum> </citerefentry> to change the
1137
              partition table on the disk
1138
              </simpara>
1139
            </listitem>
1140
          </orderedlist>
1141
        </para>
1142

    
1143

    
1144
        <para>
1145
          The <replaceable>disk</replaceable> argument is either
1146
          <literal>sda</literal> or <literal>sdb</literal>. The
1147
          <replaceable>amount</replaceable> argument is given either
1148
          as a number (and it represents the amount to increase the
1149
          disk with in mebibytes) or can be given similar to the
1150
          arguments in the create instance operation, with a suffix
1151
          denoting the unit.
1152
        </para>
1153

    
1154
        <para>
1155
          Note that the disk grow operation might complete on one node
1156
          but fail on the other; this will leave the instance with
1157
          different-sized LVs on the two nodes, but this will not
1158
          create problems (except for unused space).
1159
        </para>
1160

    
1161
        <para>Example (increasing sda for instance1 with 16GiB):
1162
          <screen>
1163
# gnt-instance grow-disk instance1.example.com sda 16g
1164
          </screen>
1165
        </para>
1166

    
1167
        <para>
1168
          Also note that disk shrinking will not be supported; use
1169
          <command>gnt-backup export</command> and then
1170
          <command>gnt-backup import</command> to reduce the disk size
1171
          of an instance.
1172
        </para>
1173
      </refsect3>
1174

    
1175
    </refsect2>
1176

    
1177
    <refsect2>
1178
      <title>Recovery</title>
1179

    
1180
      <refsect3>
1181
        <title>FAILOVER</title>
1182

    
1183
        <cmdsynopsis>
1184
          <command>failover</command>
1185
          <arg>-f</arg>
1186
          <arg>--ignore-consistency</arg>
1187
          <arg choice="req"><replaceable>instance</replaceable></arg>
1188
        </cmdsynopsis>
1189

    
1190
        <para>
1191
          Failover will fail the instance over its secondary
1192
          node. This works only for instances having a drbd disk
1193
          template.
1194
        </para>
1195

    
1196
        <para>
1197
          Normally the failover will check the consistency of the
1198
          disks before failing over the instance. If you are trying to
1199
          migrate instances off a dead node, this will fail. Use the
1200
          <option>--ignore-consistency</option> option for this
1201
          purpose. Note that this option can be dangerous as errors in
1202
          shutting down the instance will be ignored, resulting in
1203
          possibly having the instance running on two machines in
1204
          parallel (on disconnected DRBD drives).
1205
        </para>
1206

    
1207
        <para>
1208
          Example:
1209
          <screen>
1210
# gnt-instance failover instance1.example.com
1211
          </screen>
1212
        </para>
1213
      </refsect3>
1214

    
1215
    </refsect2>
1216

    
1217
    <refsect2>
1218
      <title>TAGS</title>
1219

    
1220
    <refsect3>
1221
        <title>ADD-TAGS</title>
1222

    
1223
        <cmdsynopsis>
1224
          <command>add-tags</command>
1225
          <arg choice="opt">--from <replaceable>file</replaceable></arg>
1226
          <arg choice="req"><replaceable>instancename</replaceable></arg>
1227
          <arg choice="req"
1228
            rep="repeat"><replaceable>tag</replaceable></arg>
1229
        </cmdsynopsis>
1230

    
1231
        <para>
1232
          Add tags to the given instance. If any of the tags contains
1233
          invalid characters, the entire operation will abort.
1234
        </para>
1235
        <para>
1236
          If the <option>--from</option> option is given, the list of
1237
          tags will be extended with the contents of that file (each
1238
          line becomes a tag). In this case, there is not need to pass
1239
          tags on the command line (if you do, both sources will be
1240
          used). A file name of - will be interpreted as stdin.
1241
        </para>
1242
      </refsect3>
1243

    
1244
      <refsect3>
1245
        <title>LIST-TAGS</title>
1246

    
1247
        <cmdsynopsis>
1248
          <command>list-tags</command>
1249
          <arg choice="req"><replaceable>instancename</replaceable></arg>
1250
        </cmdsynopsis>
1251

    
1252
        <para>List the tags of the given instance.</para>
1253
      </refsect3>
1254

    
1255
      <refsect3>
1256
        <title>REMOVE-TAGS</title>
1257
        <cmdsynopsis>
1258
          <command>remove-tags</command>
1259
          <arg choice="opt">--from <replaceable>file</replaceable></arg>
1260
          <arg choice="req"><replaceable>instancename</replaceable></arg>
1261
          <arg choice="req"
1262
            rep="repeat"><replaceable>tag</replaceable></arg>
1263
        </cmdsynopsis>
1264

    
1265
        <para>
1266
          Remove tags from the given instance. If any of the tags are
1267
          not existing on the node, the entire operation will abort.
1268
        </para>
1269

    
1270
        <para>
1271
          If the <option>--from</option> option is given, the list of
1272
          tags will be extended with the contents of that file (each
1273
          line becomes a tag). In this case, there is not need to pass
1274
          tags on the command line (if you do, both sources will be
1275
          used). A file name of - will be interpreted as stdin.
1276
        </para>
1277
      </refsect3>
1278

    
1279
    </refsect2>
1280

    
1281
  </refsect1>
1282

    
1283
  &footer;
1284

    
1285
</refentry>
1286

    
1287
<!-- Keep this comment at the end of the file
1288
Local variables:
1289
mode: sgml
1290
sgml-omittag:t
1291
sgml-shorttag:t
1292
sgml-minimize-attributes:nil
1293
sgml-always-quote-attributes:t
1294
sgml-indent-step:2
1295
sgml-indent-data:t
1296
sgml-parent-document:nil
1297
sgml-default-dtd-file:nil
1298
sgml-exposed-tags:nil
1299
sgml-local-catalogs:nil
1300
sgml-local-ecat-files:nil
1301
End:
1302
-->