1 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
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">
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">
24 <holder>Google Inc.</holder>
32 <refmiscinfo>ganeti 1.2</refmiscinfo>
35 <refname>&dhpackage;</refname>
37 <refpurpose>node administration</refpurpose>
41 <command>&dhpackage; </command>
43 <arg choice="req">command</arg>
44 <arg>arguments...</arg>
48 <title>DESCRIPTION</title>
51 The <command>&dhpackage;</command> is used for managing the
52 (physical) nodes in the ganeti system.
57 <title>COMMANDS</title>
63 <command>add</command>
65 <arg>-s <replaceable>secondary_ip</replaceable></arg>
66 <arg choice="req"><replaceable>nodename</replaceable></arg>
70 Adds the given node to the cluster.
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.
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
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
97 In case you're readding a node after hardware failure, you
98 can use the <option>--readd</option> parameter.
104 # gnt-node add node5.example.com
105 # gnt-node add -s 192.168.44.5 node5.example.com
111 <title>ADD-TAGS</title>
114 <command>add-tags</command>
115 <arg choice="opt">--from <replaceable>file</replaceable></arg>
116 <arg choice="req"><replaceable>nodename</replaceable></arg>
118 rep="repeat"><replaceable>tag</replaceable></arg>
122 Add tags to the given node. If any of the tags contains
123 invalid characters, the entire operation will abort.
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.
136 <title>EVACUATE</title>
139 <command>evacuate</command>
141 <arg choice="req"><replaceable>source_node</replaceable></arg>
142 <arg choice="req"><replaceable>destination_node</replaceable></arg>
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.
155 # gnt-node evacuate node1.example.com node2.example.com
161 <title>FAILOVER</title>
164 <command>failover</command>
166 <arg>--ignore-consistency</arg>
167 <arg choice="req"><replaceable>node</replaceable></arg>
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.
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.
186 # gnt-node failover node1.example.com
195 <command>info</command>
196 <arg rep="repeat"><replaceable>node</replaceable></arg>
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.
210 <command>list</command>
211 <arg>--no-headers</arg>
212 <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
213 <arg>-o <replaceable>[+]FIELD,...</replaceable></arg>
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>.
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.
232 The <option>-o</option> option takes a comma-separated list of
233 output fields. The available fields and their meaning are:
238 <simpara>the node name</simpara>
242 <term>pinst_cnt</term>
244 <simpara>the number of instances having this node as
249 <term>pinst_list</term>
251 <simpara>the list of instances having this node as
252 primary, comma separated</simpara>
256 <term>sinst_cnt</term>
258 <simpara>the number of instances having this node as a
259 secondary node</simpara>
263 <term>sinst_list</term>
265 <simpara>the list of instances having this node as a
266 secondary node, comma separated</simpara>
272 <simpara>the primary ip of this node (used for cluster
273 communication)</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>
291 <simpara>total disk space in the volume group used for
292 instance disk allocations</simpara>
298 <simpara>available disk space in the volume group</simpara>
304 <simpara>total memory on the physical node</simpara>
310 <simpara>the memory used by the node itself</simpara>
316 <simpara>memory available for instance
317 allocations</simpara>
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>
333 If the value of the option starts with the character
334 <constant>+</constant>, the new fields will be added to the
335 default list. This allows to quickly see the default list plus
336 a few other fields, instead of retyping the entire list of
341 Note that some of this fields are known from the configuration
342 of the cluster (<simplelist type="inline">
343 <member>name</member> <member>pinst</member>
344 <member>sinst</member> <member>pip</member>
345 <member>sip</member> </simplelist> and thus the master does
346 not need to contact the node for this data (making the listing
347 fast if only fields from this set are selected), whereas the
348 other fields are "live" fields and we need to make a query to
353 Depending on the virtualization type and implementation
354 details, the mtotal, mnode and mfree may have slighly varying
355 meanings. For example, some solutions share the node memory
356 with the pool of memory used for instances
357 (<acronym>UML</acronym>), whereas others have separate memory
358 for the node and for the instances (Xen).
363 <title>LIST-TAGS</title>
366 <command>list-tags</command>
367 <arg choice="req"><replaceable>nodename</replaceable></arg>
370 <para>List the tags of the given node.</para>
374 <title>REMOVE</title>
377 <command>remove</command>
378 <arg choice="req"><replaceable>nodename</replaceable></arg>
382 Removes a node from the cluster. Instances must be removed or
383 migrated to another cluster before.
389 # gnt-node remove node5.example.com
395 <title>REMOVE-TAGS</title>
397 <command>remove-tags</command>
398 <arg choice="opt">--from <replaceable>file</replaceable></arg>
399 <arg choice="req"><replaceable>nodename</replaceable></arg>
401 rep="repeat"><replaceable>tag</replaceable></arg>
405 Remove tags from the given node. If any of the tags are not
406 existing on the node, the entire operation will abort.
410 If the <option>--from</option> option is given, the list of
411 tags will be extended with the contents of that file (each
412 line becomes a tag). In this case, there is not need to pass
413 tags on the command line (if you do, both sources will be
414 used). A file name of - will be interpreted as stdin.
419 <title>VOLUMES</title>
422 <command>volumes</command>
423 <arg>--no-headers</arg>
424 <arg>--human-readable</arg>
425 <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
426 <arg>--output=<replaceable>FIELDS</replaceable></arg>
428 <arg rep="repeat"><replaceable>node</replaceable></arg>
432 Lists all logical volumes and their physical disks from the node(s)
437 The <option>--no-headers</option> option will skip the initial
438 header line. The <option>--separator</option> option takes an
439 argument which denotes what will be used between the output
440 fields. Both these options are to help scripting.
444 The <option>-o</option> option takes a comma-separated list of
445 output fields. The available fields and their meaning are:
450 <simpara>the node name on which the volume exists</simpara>
456 <simpara>the physical drive (on which the LVM physical
457 volume lives)</simpara>
463 <simpara>the volume group name</simpara>
469 <simpara>the logical volume name</simpara>
475 <simpara>the logical volume size</simpara>
479 <term>instance</term>
481 <simpara>The name of the instance to which this volume
482 belongs, or (in case it's an orphan volume) the
483 character <quote>-</quote></simpara>
492 # gnt-node volumes node5.example.com
493 Node PhysDev VG Name Size Instance
494 node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11000.meta 128 instance1.example.com
495 node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11001.data 256 instance1.example.com
506 <!-- Keep this comment at the end of the file
511 sgml-minimize-attributes:nil
512 sgml-always-quote-attributes:t
515 sgml-parent-document:nil
516 sgml-default-dtd-file:nil
517 sgml-exposed-tags:nil
518 sgml-local-catalogs:nil
519 sgml-local-ecat-files:nil