Statistics
| Branch: | Tag: | Revision:

root / man / gnt-instance.sgml @ 7e84d392

History | View | Annotate | Download (20 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 16, 2007</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
      <holder>Google Inc.</holder>
24
    </copyright>
25
    &dhdate;
26
  </refentryinfo>
27
  <refmeta>
28
    &dhucpackage;
29

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

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

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

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

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

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

    
61
      <refsect3>
62
        <title>ADD</title>
63
        <cmdsynopsis>
64
          <command>add</command>
65
          <arg choice="req">-n <replaceable>node</replaceable></arg>
66
          <arg>-s <replaceable>disksize</replaceable></arg>
67
          <arg>-o <replaceable>os-type</replaceable></arg>
68
          <arg>-m <replaceable>memsize</replaceable></arg>
69
          <arg>-b <replaceable>bridge</replaceable></arg>
70
          <sbr>
71
          <arg choice="req">-t<group>
72
              <arg>diskless</arg>
73
              <arg>plain</arg>
74
              <arg>local_raid1</arg>
75
              <arg>remote_raid1</arg>
76
            </group>
77
          </arg>
78
          <arg choice="req"><replaceable>instance</replaceable></arg>
79
        </cmdsynopsis>
80
        <para>
81
          Creates a new instance on the specified
82
          host. <replaceable>instance</replaceable> must be in DNS and
83
          resolve to a IP in the same network as the nodes in the
84
          cluster.
85
        </para>
86

    
87
        <para>
88
          The <option>-s</option> option specifies the disk size for
89
          the instance, in gigibytes (defaults to 20 GiB).
90
        </para>
91

    
92
        <para>
93
          The <option>-o</option> options specifies the operating
94
          system to be installed. The available operating systems can
95
          be listed with <command>gnt-os list</command>.
96
        </para>
97

    
98
        <para>
99
          The <option>-m</option> option specifies the memory size for
100
          the instance, in megibytes (defaults to 128 MiB).
101
        </para>
102

    
103
        <para>
104
          The <option>-b</option> option specifies the bridge to which the
105
          instance will be connected. (defaults to the cluster-wide default
106
          bridge specified at cluster initialization time).
107
        </para>
108

    
109
        <para>
110
          The <option>-t</option> options specifies the disk layout type for
111
          the instance. The available choices are:
112
          <variablelist>
113
            <varlistentry>
114
              <term>diskless</term>
115
              <listitem>
116
                <para>
117
                  This creates an instance with no disks. Its useful for
118
                  testing only (or other special cases).
119
                </para>
120
              </listitem>
121
            </varlistentry>
122
            <varlistentry>
123
              <term>plain</term>
124
              <listitem>
125
                <para>Disk devices will be logical volumes.</para>
126
              </listitem>
127
            </varlistentry>
128
            <varlistentry>
129
              <term>local_raid1</term>
130
              <listitem>
131
                <para>
132
                  Disk devices will be md raid1 arrays over two local
133
                  logical volumes.
134
                </para>
135
              </listitem>
136
            </varlistentry>
137
            <varlistentry>
138
              <term>remote_raid1</term>
139
              <listitem>
140
                <para>
141
                  Disk devices will be md raid1 arrays with one
142
                  component (so it's not actually raid1): a drbd device
143
                  between the instance's primary node and the node given
144
                  by the option <option>--secondary-node</option>.
145
                </para>
146
              </listitem>
147
            </varlistentry>
148
          </variablelist>
149
        </para>
150

    
151
        <para>
152
          The <option>--secondary-node</option> option is used with
153
          the remote raid disk template type and specifies the remote
154
          node.
155
        </para>
156

    
157
        <para>
158
          If you do not want gnt-instance to wait for the disk mirror
159
          to be synced, use the <option>--no-wait-for-sync</option>
160
          option.
161
        </para>
162

    
163

    
164
        <para>
165
          Example:
166
          <screen>
167
# gnt-instance add -t plain -s 30 -m 512 -n node1.example.com \
168
> instance1.example.com
169
# gnt-instance add -t remote_raid1 --secondary-node node3.example.com \
170
> -s 30 -m 512 -n node1.example.com instance2.example.com
171
          </screen>
172
        </para>
173

    
174
      </refsect3>
175

    
176
      <refsect3>
177
        <title>REMOVE</title>
178

    
179
        <cmdsynopsis>
180
          <command>remove</command>
181
          <arg choice="req"><replaceable>instance</replaceable></arg>
182
        </cmdsynopsis>
183

    
184
        <para>
185
          Remove an instance. This will remove all data from the
186
          instance and there is <emphasis>no way back</emphasis>. If
187
          you are not sure if you use an instance again, use
188
          <command>shutdown</command> first and leave it in the
189
          shutdown state for a while.
190
        </para>
191

    
192
        <para>
193
          Example:
194
          <screen>
195
# gnt-instance remove instance1.example.com
196
          </screen>
197
        </para>
198
      </refsect3>
199

    
200
      <refsect3>
201
        <title>LIST</title>
202

    
203
        <cmdsynopsis>
204
          <command>list</command>
205
          <arg>--no-headers</arg>
206
          <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
207
          <arg>-o <replaceable>FIELD,...</replaceable></arg>
208
        </cmdsynopsis>
209

    
210
        <para>
211
          Shows the currently configured instances with memory usage,
212
          disk usage, the node they are running on, and the CPU time,
213
          counted in seconds, used by each instance since its latest
214
          restart.
215
        </para>
216

    
217
        <para>
218
          The <option>--no-headers</option> option will skip the
219
          initial header line. The <option>--separator</option> option
220
          takes an argument which denotes what will be used between
221
          the output fields. Both these options are to help scripting.
222
        </para>
223

    
224
        <para>
225
          The <option>-o</option> option takes a comma-separated list
226
          of output fields. The available fields and their meaning
227
          are:
228
          <variablelist>
229
            <varlistentry>
230
              <term>name</term>
231
              <listitem>
232
                <simpara>the instance name</simpara>
233
              </listitem>
234
            </varlistentry>
235
            <varlistentry>
236
              <term>os</term>
237
              <listitem>
238
                <simpara>the OS of the instance</simpara>
239
              </listitem>
240
            </varlistentry>
241
            <varlistentry>
242
              <term>pnode</term>
243
              <listitem>
244
                <simpara>the primary node of the instance</simpara>
245
              </listitem>
246
            </varlistentry>
247
            <varlistentry>
248
              <term>snodes</term>
249
              <listitem>
250
                <simpara>comma-separated list of secondary-nodes for the
251
                  instance; usually this will be just one node</simpara>
252
              </listitem>
253
            </varlistentry>
254
            <varlistentry>
255
              <term>admin_state</term>
256
              <listitem>
257
                <simpara>the desired state of the instance (either "yes"
258
                  or "no" denoting the instance should run or
259
                  not)</simpara>
260
              </listitem>
261
            </varlistentry>
262
            <varlistentry>
263
              <term>admin_ram</term>
264
              <listitem>
265
                <simpara>the desired memory for the instance</simpara>
266
              </listitem>
267
            </varlistentry>
268
            <varlistentry>
269
              <term>disk_template</term>
270
              <listitem>
271
                <simpara>the disk template of the instance</simpara>
272
              </listitem>
273
            </varlistentry>
274
            <varlistentry>
275
              <term>oper_state</term>
276
              <listitem>
277
                <simpara>the actual state of the instance; can take of
278
                  the values "running", "stopped", "(node down)"</simpara>
279
              </listitem>
280
            </varlistentry>
281
            <varlistentry>
282
              <term>oper_ram</term>
283
              <listitem>
284
                <simpara>the actual memory usage of the instance as seen
285
                  by the hypervisor</simpara>
286
              </listitem>
287
            </varlistentry>
288
            <varlistentry>
289
              <term>ip</term>
290
              <listitem>
291
                <simpara>the ip address ganeti recognizes as associated with
292
                the instance interface</simpara>
293
              </listitem>
294
            </varlistentry>
295
            <varlistentry>
296
              <term>mac</term>
297
              <listitem>
298
                <simpara>the instance interface MAC address</simpara>
299
              </listitem>
300
            </varlistentry>
301
            <varlistentry>
302
              <term>bridge</term>
303
              <listitem>
304
                <simpara>bridge the instance is connected to
305
                </simpara>
306
              </listitem>
307
            </varlistentry>
308
          </variablelist>
309
        </para>
310

    
311
        <para>
312
          There is a subtle grouping about the available output
313
          fields: all fields except for <option>oper_state</option>
314
          and <option>oper_ram</option> are configuration value and
315
          not run-time values. So if you don't select any of the
316
          <option>oper_*</option> fields, the query will be satisfied
317
          instantly from the cluster configuration, without having to
318
          ask the remote nodes for the data. This can be helpful for
319
          big clusters when you only want some data and it makes sense
320
          to specify a reduced set of output fields.
321
        </para>
322

    
323
        <para>The default output field list is:
324
          <simplelist type="inline">
325
            <member>name</member>
326
            <member>os</member>
327
            <member>pnode</member>
328
            <member>admin_state</member>
329
            <member>oper_state</member>
330
            <member>oper_ram</member>
331
          </simplelist>.
332
        </para>
333
      </refsect3>
334

    
335
      <refsect3>
336
        <title>INFO</title>
337

    
338
        <cmdsynopsis>
339
          <command>info</command>
340
          <arg rep="repeat"><replaceable>instance</replaceable></arg>
341
        </cmdsynopsis>
342

    
343
        <para>
344
          Show detailed information about the (given) instances. This
345
          is different from <command>list</command> as it shows
346
          detailed data about the instance's disks (especially useful
347
          for remote raid templates).
348
        </para>
349
      </refsect3>
350

    
351
      <refsect3>
352
        <title>MODIFY</title>
353

    
354
        <cmdsynopsis>
355
          <command>modify</command>
356
          <arg choice="opt">-m <replaceable>memsize</replaceable></arg>
357
          <arg choice="opt">-p <replaceable>vcpus</replaceable></arg>
358
          <arg choice="opt">-i <replaceable>ip</replaceable></arg>
359
          <arg choice="opt">-b <replaceable>bridge</replaceable></arg>
360
          <arg choice="req"><replaceable>instance</replaceable></arg>
361
        </cmdsynopsis>
362

    
363
        <para>
364
          Modify the memory size, number of vcpus, ip address and/or bridge
365
          for an instance.
366
        </para>
367

    
368
        <para>
369
          The memory size is given in MiB. Note that you need to give
370
          at least one of the arguments, otherwise the command
371
          complains.
372
        </para>
373

    
374
        <para>
375
          All the changes take effect at the next restart. If the
376
          instance is running, there is no effect on the instance.
377
        </para>
378
      </refsect3>
379

    
380
    </refsect2>
381

    
382
    <refsect2>
383
      <title>Starting/stopping/connecting to console</title>
384

    
385
      <refsect3>
386
        <title>STARTUP</title>
387

    
388
        <cmdsynopsis>
389
          <command>startup</command>
390
          <arg>--extra=<replaceable>PARAMS</replaceable></arg>
391
          <arg choice="req"><replaceable>instance</replaceable></arg>
392
        </cmdsynopsis>
393

    
394
        <para>
395
          Starts an instance. The node where to start the instance is
396
          taken from the configuration.
397
        </para>
398

    
399
        <para>
400
          The <option>--extra</option> option is used to pass
401
          additional argument to the instance's kernel for this start
402
          only. Currently there is no way to specify a persistent set
403
          of arguments (beside the one hardcoded). Note that this may
404
          not apply to all virtualization types.
405
        </para>
406

    
407

    
408
        <para>
409
          Example:
410
          <screen>
411
# gnt-instance start instance1.example.com
412
# gnt-instance start --extra single test1.example.com
413
          </screen>
414
        </para>
415
      </refsect3>
416

    
417
      <refsect3>
418
        <title>SHUTDOWN</title>
419

    
420
        <cmdsynopsis>
421
          <command>shutdown</command>
422
          <arg choice="req"><replaceable>instance</replaceable></arg>
423
        </cmdsynopsis>
424

    
425
        <para>
426
          Stops the instance. If the instance cannot be cleanly
427
          stopped during a hardcoded interval (currently 2 minutes),
428
          it will forcibly stop the instance (equivalent to switching
429
          off the power on a physical machine).
430
        </para>
431

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

    
440
      <refsect3>
441
        <title>CONSOLE</title>
442
        <cmdsynopsis>
443
          <command>console</command>
444
          <arg choice="req"><replaceable>instance</replaceable></arg>
445
        </cmdsynopsis>
446

    
447
        <para>
448
          Connects to the console of the given instance. If the instance
449
          is not up, an error is returned.
450
        </para>
451

    
452
        <para>
453
          Example:
454
          <screen>
455
# gnt-instance console instance1.example.com
456
          </screen>
457
        </para>
458
      </refsect3>
459

    
460
    </refsect2>
461

    
462
    <refsect2>
463
      <title>Disk management</title>
464

    
465
      <refsect3>
466
        <title>REPLACE-DISKS</title>
467

    
468
        <cmdsynopsis>
469
          <command>replace-disks</command>
470
          <arg choice="req">--new-secondary <replaceable>NODE</replaceable></arg>
471
          <arg choice="req"><replaceable>instance</replaceable></arg>
472
        </cmdsynopsis>
473

    
474
        <para>
475
          This command does a full add and replace for both disks of
476
          an instance.  It basically does an
477
          <command>addmirror</command> and
478
          <command>removemirror</command> for both disks of the
479
          instance.
480
        </para>
481

    
482
        <para>
483
          If you also want to replace the secondary node during this
484
          process (for example to fix a broken secondary node), you
485
          can do so using the <option>--new-secondary</option> option.
486
        </para>
487
      </refsect3>
488

    
489
      <refsect3>
490
        <title>ADD-MIRROR</title>
491
        <cmdsynopsis>
492
          <command>add-mirror</command>
493
          <arg choice="req">-b <replaceable>sdX</replaceable></arg>
494
          <arg choice="req">-n <replaceable>node</replaceable></arg>
495
          <arg choice="req"><replaceable>instance</replaceable></arg>
496
        </cmdsynopsis>
497
        <para>
498
          Adds a new mirror to the disk layout of the instance, if the
499
          instance has a remote raid disk layout.
500

    
501
          The new mirror member will be between the instance's primary
502
          node and the node given with the <option>-n</option> option.
503
        </para>
504
      </refsect3>
505

    
506
      <refsect3>
507
        <title>REMOVE-MIRROR</title>
508

    
509
        <cmdsynopsis>
510
          <command>removemirror</command>
511
          <arg choice="req">-b <replaceable>sdX</replaceable></arg>
512
          <arg choice="req">-p <replaceable>id</replaceable></arg>
513
          <arg choice="req"><replaceable>instance</replaceable></arg>
514
        </cmdsynopsis>
515
        <para>
516
          Removes a mirror componenent from the disk layout of the
517
          instance, if the instance has a remote raid disk layout.
518
        </para>
519

    
520
        <para>
521
          You need to specifiy on which disk to act on using the
522
          <option>-b</option> option (either <filename>sda</filename>
523
          or <filename>sdb</filename>) and the mirror component, which
524
          is identified by the <option>-p</option> option. You can
525
          find the list of valid identifiers with the
526
          <command>info</command> command.
527
        </para>
528

    
529
      <refsect3>
530
        <title>ACTIVATE-DISKS</title>
531

    
532
        <cmdsynopsis>
533
          <command>activate-disks</command>
534
          <arg choice="req"><replaceable>instance</replaceable></arg>
535
        </cmdsynopsis>
536
        <para>
537
          Activates the block devices of the given instance. If
538
          successful, the command will show the location and name of
539
          the block devices:
540
          <screen>
541
node1.example.com:sda:/dev/md0
542
node1.example.com:sdb:/dev/md1
543
          </screen>
544

    
545
          In this example, <emphasis>node1.example.com</emphasis> is
546
          the name of the node on which the devices have been
547
          activated. The <emphasis>sda</emphasis> and
548
          <emphasis>sdb</emphasis> are the names of the block devices
549
          inside the instance. <emphasis>/dev/md0</emphasis> and
550
          <emphasis>/dev/md1</emphasis> are the names of the block
551
          devices as visible on the node.
552
        </para>
553

    
554
        <para>
555
          Note that it is safe to run this command while the instance
556
          is already running.
557
        </para>
558
      </refsect3>
559

    
560
      <refsect3>
561
        <title>DEACTIVATE-DISKS</title>
562

    
563
        <cmdsynopsis>
564
          <command>deactivate-disks</command>
565
          <arg choice="req"><replaceable>instance</replaceable></arg>
566
        </cmdsynopsis>
567
        <para>
568
          De-activates the block devices of the given instance. Note
569
          that if you run this command for a remote raid instance
570
          type, while it is running, it will not be able to shutdown
571
          the block devices on the primary node, but it will shutdown
572
          the block devices on the secondary nodes, thus breaking the
573
          replication.
574
        </para>
575

    
576
      </refsect3>
577

    
578
    </refsect2>
579

    
580
    <refsect2>
581
      <title>Recovery</title>
582

    
583
      <refsect3>
584
        <title>FAILOVER</title>
585

    
586
        <cmdsynopsis>
587
          <command>failover</command>
588
          <arg>-f</arg>
589
          <arg>--ignore-consistency</arg>
590
          <arg choice="req"><replaceable>instance</replaceable></arg>
591
        </cmdsynopsis>
592

    
593
        <para>
594
          Failover will fail the instance over its secondary
595
          node. This works only for instances having a remote raid
596
          disk layout.
597
        </para>
598

    
599
        <para>
600
          Normally the failover will check the consistency of the
601
          disks before failing over the instance. If you are trying to
602
          migrate instances off a dead node, this will fail. Use the
603
          <option>--ignore-consistency</option> option for this
604
          purpose.
605
        </para>
606

    
607
        <para>
608
          Example:
609
          <screen>
610
# gnt-instance failover instance1.example.com
611
          </screen>
612
        </para>
613
      </refsect3>
614

    
615
    </refsect2>
616

    
617
  </refsect1>
618

    
619
  &footer;
620

    
621
</refentry>
622

    
623
<!-- Keep this comment at the end of the file
624
Local variables:
625
mode: sgml
626
sgml-omittag:t
627
sgml-shorttag:t
628
sgml-minimize-attributes:nil
629
sgml-always-quote-attributes:t
630
sgml-indent-step:2
631
sgml-indent-data:t
632
sgml-parent-document:nil
633
sgml-default-dtd-file:nil
634
sgml-exposed-tags:nil
635
sgml-local-catalogs:nil
636
sgml-local-ecat-files:nil
637
End:
638
-->