Statistics
| Branch: | Tag: | Revision:

root / man / gnt-node.sgml @ 38d7239a

History | View | Annotate | Download (16.6 kB)

1
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2

    
3
  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4
  <!-- Please adjust the date whenever revising the manpage. -->
5
  <!ENTITY dhdate      "<date>June 20, 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-node</refentrytitle>">
10
  <!ENTITY dhpackage   "gnt-node">
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>node 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 managing the
52
      (physical) nodes in the ganeti system.
53
    </para>
54

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

    
59
    <refsect2>
60
      <title>ADD</title>
61

    
62
      <cmdsynopsis>
63
        <command>add</command>
64
        <arg>--readd</arg>
65
        <arg>-s <replaceable>secondary_ip</replaceable></arg>
66
        <arg choice="req"><replaceable>nodename</replaceable></arg>
67
      </cmdsynopsis>
68

    
69
      <para>
70
        Adds the given node to the cluster.
71
      </para>
72

    
73
      <para>
74
        This command is used to join a new node to the cluster. You
75
        will have to provide the password for root of the node to be
76
        able to add the node in the cluster. The command needs to be
77
        run on the ganeti master.
78
      </para>
79

    
80
      <para>
81
        Note that the command is potentially destructive, as it will
82
        forcibly join the specified host the cluster, not paying
83
        attention to its current status (it could be already in a
84
        cluster, etc.)
85
      </para>
86

    
87
      <para>
88
        The <option>-s</option> is used in dual-home clusters and
89
        specifies the new node's IP in the secondary network. See the
90
        discussion in <citerefentry>
91
        <refentrytitle>gnt-cluster</refentrytitle>
92
        <manvolnum>8</manvolnum> </citerefentry> for more
93
        informations.
94
      </para>
95

    
96
      <para>
97
        In case you're readding a node after hardware failure, you
98
        can use the <option>--readd</option> parameter.
99
      </para>
100

    
101
      <para>
102
        Example:
103
        <screen>
104
# gnt-node add node5.example.com
105
# gnt-node add -s 192.168.44.5 node5.example.com
106
        </screen>
107
      </para>
108
    </refsect2>
109

    
110
    <refsect2>
111
      <title>ADD-TAGS</title>
112

    
113
      <cmdsynopsis>
114
        <command>add-tags</command>
115
        <arg choice="opt">--from <replaceable>file</replaceable></arg>
116
        <arg choice="req"><replaceable>nodename</replaceable></arg>
117
        <arg choice="req"
118
        rep="repeat"><replaceable>tag</replaceable></arg>
119
      </cmdsynopsis>
120

    
121
      <para>
122
        Add tags to the given node. If any of the tags contains
123
        invalid characters, the entire operation will abort.
124
      </para>
125

    
126
      <para>
127
        If the <option>--from</option> option is given, the list of
128
        tags will be extended with the contents of that file (each
129
        line becomes a tag). In this case, there is not need to pass
130
        tags on the command line (if you do, both sources will be
131
        used). A file name of - will be interpreted as stdin.
132
      </para>
133
    </refsect2>
134

    
135
    <refsect2>
136
      <title>EVACUATE</title>
137

    
138
      <cmdsynopsis>
139
        <command>evacuate</command>
140
        <arg>-f</arg>
141
        <arg choice="req"><replaceable>source_node</replaceable></arg>
142
        <arg choice="req"><replaceable>destination_node</replaceable></arg>
143
      </cmdsynopsis>
144

    
145
      <para>
146
        This command will change the secondary node from the source
147
        node to the destination node for all instances having the
148
        source node as secondary. It works only for instances having
149
        a drbd disk template.
150
      </para>
151

    
152
      <para>
153
        Example:
154
        <screen>
155
          # gnt-node evacuate node1.example.com node2.example.com
156
        </screen>
157
      </para>
158
    </refsect2>
159

    
160
    <refsect2>
161
      <title>FAILOVER</title>
162

    
163
      <cmdsynopsis>
164
        <command>failover</command>
165
        <arg>-f</arg>
166
        <arg>--ignore-consistency</arg>
167
        <arg choice="req"><replaceable>node</replaceable></arg>
168
      </cmdsynopsis>
169

    
170
      <para>
171
        This command will fail over all instances having the given
172
        node as primary to their secondary nodes. This works only for
173
        instances having a drbd disk template.
174
      </para>
175

    
176
      <para>
177
        Normally the failover will check the consistency of the disks
178
        before failing over the instance. If you are trying to migrate
179
        instances off a dead node, this will fail. Use the
180
        <option>--ignore-consistency</option> option for this purpose.
181
      </para>
182

    
183
      <para>
184
        Example:
185
        <screen>
186
          # gnt-node failover node1.example.com
187
        </screen>
188
      </para>
189
    </refsect2>
190

    
191
    <refsect2>
192
      <title>INFO</title>
193

    
194
      <cmdsynopsis>
195
        <command>info</command>
196
        <arg rep="repeat"><replaceable>node</replaceable></arg>
197
      </cmdsynopsis>
198

    
199
      <para>
200
        Show detailed information about the nodes in the cluster. If you
201
        don't give any arguments, all nodes will be shows, otherwise the
202
        output will be restricted to the given names.
203
      </para>
204
    </refsect2>
205

    
206
    <refsect2>
207
      <title>LIST</title>
208

    
209
      <cmdsynopsis>
210
        <command>list</command>
211
        <arg>--no-headers</arg>
212
        <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
213
        <arg>-o <replaceable>[+]FIELD,...</replaceable></arg>
214
      </cmdsynopsis>
215

    
216
      <para>
217
        Lists the nodes in the cluster. If you give the
218
        <option>--ip-info</option> option, the output contains just
219
        the node name, primary ip and secondary ip. In case the
220
        secondary ip is the same as the primary one, it will be listed
221
        as <emphasis>"-"</emphasis>.
222
      </para>
223

    
224
      <para>
225
        The <option>--no-headers</option> option will skip the initial
226
        header line. The <option>--separator</option> option takes an
227
        argument which denotes what will be used between the output
228
        fields. Both these options are to help scripting.
229
      </para>
230

    
231
      <para>
232
        The <option>-o</option> option takes a comma-separated list of
233
        output fields. The available fields and their meaning are:
234
        <variablelist>
235
          <varlistentry>
236
            <term>name</term>
237
            <listitem>
238
              <simpara>the node name</simpara>
239
            </listitem>
240
          </varlistentry>
241
          <varlistentry>
242
            <term>pinst_cnt</term>
243
            <listitem>
244
              <simpara>the number of instances having this node as
245
              primary</simpara>
246
            </listitem>
247
          </varlistentry>
248
          <varlistentry>
249
            <term>pinst_list</term>
250
            <listitem>
251
              <simpara>the list of instances having this node as
252
              primary, comma separated</simpara>
253
            </listitem>
254
          </varlistentry>
255
          <varlistentry>
256
            <term>sinst_cnt</term>
257
            <listitem>
258
              <simpara>the number of instances having this node as a
259
              secondary node</simpara>
260
            </listitem>
261
          </varlistentry>
262
          <varlistentry>
263
            <term>sinst_list</term>
264
            <listitem>
265
              <simpara>the list of instances having this node as a
266
              secondary node, comma separated</simpara>
267
            </listitem>
268
          </varlistentry>
269
          <varlistentry>
270
            <term>pip</term>
271
            <listitem>
272
              <simpara>the primary ip of this node (used for cluster
273
              communication)</simpara>
274
            </listitem>
275
          </varlistentry>
276
          <varlistentry>
277
            <term>sip</term>
278
            <listitem>
279
              <simpara>
280
                the secondary ip of this node (used for data
281
                replication in dual-ip clusters, see <citerefentry>
282
                <refentrytitle>gnt-cluster</refentrytitle>
283
                <manvolnum>8</manvolnum>
284
                </citerefentry>
285
              </simpara>
286
            </listitem>
287
          </varlistentry>
288
          <varlistentry>
289
            <term>dtotal</term>
290
            <listitem>
291
              <simpara>total disk space in the volume group used for
292
              instance disk allocations</simpara>
293
            </listitem>
294
          </varlistentry>
295
          <varlistentry>
296
            <term>dfree</term>
297
            <listitem>
298
              <simpara>available disk space in the volume group</simpara>
299
            </listitem>
300
          </varlistentry>
301
          <varlistentry>
302
            <term>mtotal</term>
303
            <listitem>
304
              <simpara>total memory on the physical node</simpara>
305
            </listitem>
306
          </varlistentry>
307
          <varlistentry>
308
            <term>mnode</term>
309
            <listitem>
310
              <simpara>the memory used by the node itself</simpara>
311
            </listitem>
312
          </varlistentry>
313
          <varlistentry>
314
            <term>mfree</term>
315
            <listitem>
316
              <simpara>memory available for instance
317
              allocations</simpara>
318
            </listitem>
319
          </varlistentry>
320
          <varlistentry>
321
            <term>bootid</term>
322
            <listitem>
323
              <simpara>the node bootid value; this is a linux specific
324
              feature that assigns a new UUID to the node at each boot
325
              and can be use to detect node reboots (by tracking
326
              changes in this value)</simpara>
327
            </listitem>
328
          </varlistentry>
329
          <varlistentry>
330
            <term>tags</term>
331
            <listitem>
332
              <simpara>comma-separated list of the node's
333
              tags</simpara>
334
            </listitem>
335
          </varlistentry>
336
          <varlistentry>
337
            <term>serial_no</term>
338
            <listitem>
339
              <simpara>the so called 'serial number' of the instance;
340
              this is a numeric field that is incremented each time
341
              the instance is modified, and it can be used to detect
342
              modifications</simpara>
343
            </listitem>
344
          </varlistentry>
345
        </variablelist>
346
      </para>
347

    
348
      <para>
349
        If the value of the option starts with the character
350
        <constant>+</constant>, the new fields will be added to the
351
        default list. This allows to quickly see the default list plus
352
        a few other fields, instead of retyping the entire list of
353
        fields.
354
      </para>
355

    
356
      <para>
357
        Note that some of this fields are known from the configuration
358
        of the cluster (<simplelist type="inline">
359
        <member>name</member> <member>pinst</member>
360
        <member>sinst</member> <member>pip</member>
361
        <member>sip</member> </simplelist> and thus the master does
362
        not need to contact the node for this data (making the listing
363
        fast if only fields from this set are selected), whereas the
364
        other fields are "live" fields and we need to make a query to
365
        the cluster nodes.
366
      </para>
367

    
368
      <para>
369
        Depending on the virtualization type and implementation
370
        details, the mtotal, mnode and mfree may have slighly varying
371
        meanings. For example, some solutions share the node memory
372
        with the pool of memory used for instances
373
        (<acronym>UML</acronym>), whereas others have separate memory
374
        for the node and for the instances (Xen).
375
      </para>
376
    </refsect2>
377

    
378
    <refsect2>
379
      <title>LIST-TAGS</title>
380

    
381
      <cmdsynopsis>
382
        <command>list-tags</command>
383
        <arg choice="req"><replaceable>nodename</replaceable></arg>
384
      </cmdsynopsis>
385

    
386
      <para>List the tags of the given node.</para>
387
    </refsect2>
388

    
389
    <refsect2>
390
      <title>REMOVE</title>
391

    
392
      <cmdsynopsis>
393
        <command>remove</command>
394
        <arg choice="req"><replaceable>nodename</replaceable></arg>
395
      </cmdsynopsis>
396

    
397
      <para>
398
        Removes a node from the cluster. Instances must be removed or
399
        migrated to another cluster before.
400
      </para>
401

    
402
      <para>
403
        Example:
404
        <screen>
405
# gnt-node remove node5.example.com
406
        </screen>
407
      </para>
408
    </refsect2>
409

    
410
    <refsect2>
411
      <title>REMOVE-TAGS</title>
412
      <cmdsynopsis>
413
        <command>remove-tags</command>
414
        <arg choice="opt">--from <replaceable>file</replaceable></arg>
415
        <arg choice="req"><replaceable>nodename</replaceable></arg>
416
        <arg choice="req"
417
        rep="repeat"><replaceable>tag</replaceable></arg>
418
      </cmdsynopsis>
419

    
420
      <para>
421
        Remove tags from the given node. If any of the tags are not
422
        existing on the node, the entire operation will abort.
423
      </para>
424

    
425
      <para>
426
        If the <option>--from</option> option is given, the list of
427
        tags will be extended with the contents of that file (each
428
        line becomes a tag). In this case, there is not need to pass
429
        tags on the command line (if you do, both sources will be
430
        used). A file name of - will be interpreted as stdin.
431
      </para>
432
    </refsect2>
433

    
434
    <refsect2>
435
      <title>VOLUMES</title>
436

    
437
      <cmdsynopsis>
438
        <command>volumes</command>
439
        <arg>--no-headers</arg>
440
        <arg>--human-readable</arg>
441
        <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
442
        <arg>--output=<replaceable>FIELDS</replaceable></arg>
443
        <sbr>
444
        <arg rep="repeat"><replaceable>node</replaceable></arg>
445
      </cmdsynopsis>
446

    
447
      <para>
448
        Lists all logical volumes and their physical disks from the node(s)
449
        provided.
450
      </para>
451

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

    
459
      <para>
460
        The <option>-o</option> option takes a comma-separated list of
461
        output fields. The available fields and their meaning are:
462
        <variablelist>
463
          <varlistentry>
464
            <term>node</term>
465
            <listitem>
466
              <simpara>the node name on which the volume exists</simpara>
467
            </listitem>
468
          </varlistentry>
469
          <varlistentry>
470
            <term>phys</term>
471
            <listitem>
472
              <simpara>the physical drive (on which the LVM physical
473
              volume lives)</simpara>
474
            </listitem>
475
          </varlistentry>
476
          <varlistentry>
477
            <term>vg</term>
478
            <listitem>
479
              <simpara>the volume group name</simpara>
480
            </listitem>
481
          </varlistentry>
482
          <varlistentry>
483
            <term>name</term>
484
            <listitem>
485
              <simpara>the logical volume name</simpara>
486
            </listitem>
487
          </varlistentry>
488
          <varlistentry>
489
            <term>size</term>
490
            <listitem>
491
              <simpara>the logical volume size</simpara>
492
            </listitem>
493
          </varlistentry>
494
          <varlistentry>
495
            <term>instance</term>
496
            <listitem>
497
              <simpara>The name of the instance to which this volume
498
              belongs, or (in case it's an orphan volume) the
499
              character <quote>-</quote></simpara>
500
            </listitem>
501
          </varlistentry>
502
        </variablelist>
503
      </para>
504

    
505
      <para>
506
        Example:
507
        <screen>
508
# gnt-node volumes node5.example.com
509
Node              PhysDev   VG    Name                                 Size Instance
510
node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11000.meta 128  instance1.example.com
511
node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11001.data 256  instance1.example.com
512
        </screen>
513
      </para>
514
    </refsect2>
515

    
516
  </refsect1>
517

    
518
  &footer;
519

    
520
</refentry>
521

    
522
<!-- Keep this comment at the end of the file
523
Local variables:
524
mode: sgml
525
sgml-omittag:t
526
sgml-shorttag:t
527
sgml-minimize-attributes:nil
528
sgml-always-quote-attributes:t
529
sgml-indent-step:2
530
sgml-indent-data:t
531
sgml-parent-document:nil
532
sgml-default-dtd-file:nil
533
sgml-exposed-tags:nil
534
sgml-local-catalogs:nil
535
sgml-local-ecat-files:nil
536
End:
537
-->