a5e2615c7cf302744da3f233c718ec17ee8ab5a8
[ganeti-local] / man / gnt-node.sgml
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       <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>node 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 managing the
51       (physical) nodes in the ganeti system.
52     </para>
53
54   </refsect1>
55   <refsect1>
56     <title>COMMANDS</title>
57
58     <refsect2>
59       <title>ADD</title>
60
61       <cmdsynopsis>
62         <command>add</command>
63         <arg>-s <replaceable>secondary_ip</replaceable></arg>
64         <arg choice="req"><replaceable>nodename</replaceable></arg>
65       </cmdsynopsis>
66
67       <para>
68         Adds the given node to the cluster.
69       </para>
70
71       <para>
72         This command is used to join a new node to the cluster. You
73         will have to provide the password for root of the node to be
74         able to add the node in the cluster. The command needs to be
75         run on the ganeti master.
76       </para>
77
78       <para>
79         Note that the command is potentially destructive, as it will
80         forcibly join the specified host the cluster, not paying
81         attention to its current status (it could be already in a
82         cluster, etc.)
83       </para>
84
85       <para>
86         The <option>-s</option> is used in dual-home clusters and
87         specifies the new node's IP in the secondary network. See the
88         discussion in <citerefentry>
89         <refentrytitle>gnt-cluster</refentrytitle>
90         <manvolnum>8</manvolnum> </citerefentry> for more
91         informations.
92       </para>
93
94       <para>
95         Example:
96         <screen>
97 # gnt-node add node5.example.com
98 # gnt-node add -s 192.168.44.5 node5.example.com
99         </screen>
100       </para>
101     </refsect2>
102
103     <refsect2>
104       <title>ADD-TAGS</title>
105
106       <cmdsynopsis>
107         <command>add-tags</command>
108         <arg choice="opt">--from <replaceable>file</replaceable></arg>
109         <arg choice="req"><replaceable>nodename</replaceable></arg>
110         <arg choice="req"
111         rep="repeat"><replaceable>tag</replaceable></arg>
112       </cmdsynopsis>
113
114       <para>
115         Add tags to the given node. If any of the tags contains
116         invalid characters, the entire operation will abort.
117       </para>
118
119       <para>
120         If the <option>--from</option> option is given, the list of
121         tags will be extended with the contents of that file (each
122         line becomes a tag). In this case, there is not need to pass
123         tags on the command line (if you do, both sources will be
124         used). A file name of - will be interpreted as stdin.
125       </para>
126     </refsect2>
127
128     <refsect2>
129       <title>EVACUATE</title>
130
131       <cmdsynopsis>
132         <command>evacuate</command>
133         <arg>-f</arg>
134         <arg choice="req"><replaceable>source_node</replaceable></arg>
135         <arg choice="req"><replaceable>destination_node</replaceable></arg>
136       </cmdsynopsis>
137
138       <para>
139         This command will change the secondary node from the source
140         node to the destination node for all instances having the
141         source node as secondary. It works only for instances having
142         a remote raid disk layout.
143       </para>
144
145       <para>
146         Example:
147         <screen>
148           # gnt-node evacuate node1.example.com node2.example.com
149         </screen>
150       </para>
151     </refsect2>
152
153     <refsect2>
154       <title>FAILOVER</title>
155
156       <cmdsynopsis>
157         <command>failover</command>
158         <arg>-f</arg>
159         <arg>--ignore-consistency</arg>
160         <arg choice="req"><replaceable>node</replaceable></arg>
161       </cmdsynopsis>
162
163       <para>
164         This command will fail over all instances having the given
165         node as primary to their secondary nodes. This works only for
166         instances having a remote raid disk layout.
167       </para>
168
169       <para>
170         Normally the failover will check the consistency of the disks
171         before failing over the instance. If you are trying to migrate
172         instances off a dead node, this will fail. Use the
173         <option>--ignore-consistency</option> option for this purpose.
174       </para>
175
176       <para>
177         Example:
178         <screen>
179           # gnt-node failover node1.example.com
180         </screen>
181       </para>
182     </refsect2>
183
184     <refsect2>
185       <title>INFO</title>
186
187       <cmdsynopsis>
188         <command>info</command>
189         <arg rep="repeat"><replaceable>node</replaceable></arg>
190       </cmdsynopsis>
191
192       <para>
193         Show detailed information about the nodes in the cluster. If you
194         don't give any arguments, all nodes will be shows, otherwise the
195         output will be restricted to the given names.
196       </para>
197     </refsect2>
198
199     <refsect2>
200       <title>LIST</title>
201
202       <cmdsynopsis>
203         <command>list</command>
204         <arg>--no-headers</arg>
205         <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
206         <arg>-o <replaceable>FIELD,...</replaceable></arg>
207       </cmdsynopsis>
208
209       <para>
210         Lists the nodes in the cluster. If you give the
211         <option>--ip-info</option> option, the output contains just
212         the node name, primary ip and secondary ip. In case the
213         secondary ip is the same as the primary one, it will be listed
214         as <emphasis>"-"</emphasis>.
215       </para>
216
217       <para>
218         The <option>--no-headers</option> option will skip the initial
219         header line. The <option>--separator</option> option takes an
220         argument which denotes what will be used between the output
221         fields. Both these options are to help scripting.
222       </para>
223
224       <para>
225         The <option>-o</option> option takes a comma-separated list of
226         output fields. The available fields and their meaning are:
227         <variablelist>
228           <varlistentry>
229             <term>name</term>
230             <listitem>
231               <simpara>the node name</simpara>
232             </listitem>
233           </varlistentry>
234           <varlistentry>
235             <term>pinst</term>
236             <listitem>
237               <simpara>the number of instances having this node as
238               primary</simpara>
239             </listitem>
240           </varlistentry>
241           <varlistentry>
242             <term>sinst</term>
243             <listitem>
244               <simpara>the number of instances having this node as a
245               secondary node</simpara>
246             </listitem>
247           </varlistentry>
248           <varlistentry>
249             <term>pip</term>
250             <listitem>
251               <simpara>the primary ip of this node (used for cluster
252               communication)</simpara>
253             </listitem>
254           </varlistentry>
255           <varlistentry>
256             <term>sip</term>
257             <listitem>
258               <simpara>
259                 the secondary ip of this node (used for data
260                 replication in dual-ip clusters, see <citerefentry>
261                 <refentrytitle>gnt-cluster</refentrytitle>
262                 <manvolnum>8</manvolnum>
263                 </citerefentry>
264               </simpara>
265             </listitem>
266           </varlistentry>
267           <varlistentry>
268             <term>dtotal</term>
269             <listitem>
270               <simpara>total disk space in the volume group used for
271               instance disk allocations</simpara>
272             </listitem>
273           </varlistentry>
274           <varlistentry>
275             <term>dfree</term>
276             <listitem>
277               <simpara>available disk space in the volume group</simpara>
278             </listitem>
279           </varlistentry>
280           <varlistentry>
281             <term>mtotal</term>
282             <listitem>
283               <simpara>total memory on the physical node</simpara>
284             </listitem>
285           </varlistentry>
286           <varlistentry>
287             <term>mnode</term>
288             <listitem>
289               <simpara>the memory used by the node itself</simpara>
290             </listitem>
291           </varlistentry>
292           <varlistentry>
293             <term>mfree</term>
294             <listitem>
295               <simpara>memory available for instance
296               allocations</simpara>
297             </listitem>
298           </varlistentry>
299         </variablelist>
300       </para>
301
302       <para>
303         Note that some of this fields are known from the configuration
304         of the cluster (<simplelist type="inline">
305         <member>name</member> <member>pinst</member>
306         <member>sinst</member> <member>pip</member>
307         <member>sip</member> </simplelist> and thus the master does
308         not need to contact the node for this data (making the listing
309         fast if only fields from this set are selected), whereas the
310         other fields are "live" fields and we need to make a query to
311         the cluster nodes.
312       </para>
313
314       <para>
315         Depending on the virtualization type and implementation
316         details, the mtotal, mnode and mfree may have slighly varying
317         meanings. For example, some solutions share the node memory
318         with the pool of memory used for instances
319         (<acronym>UML</acronym>), whereas others have separate memory
320         for the node and for the instances (Xen).
321       </para>
322     </refsect2>
323
324     <refsect2>
325       <title>LIST-TAGS</title>
326
327       <cmdsynopsis>
328         <command>list-tags</command>
329         <arg choice="req"><replaceable>nodename</replaceable></arg>
330       </cmdsynopsis>
331
332       <para>List the tags of the given node.</para>
333     </refsect2>
334
335     <refsect2>
336       <title>REMOVE</title>
337
338       <cmdsynopsis>
339         <command>remove</command>
340         <arg choice="req"><replaceable>nodename</replaceable></arg>
341       </cmdsynopsis>
342
343       <para>
344         Removes a node from the cluster. Instances must be removed or
345         migrated to another cluster before.
346       </para>
347
348       <para>
349         Example:
350         <screen>
351 # gnt-node remove node5.example.com
352         </screen>
353       </para>
354     </refsect2>
355
356     <refsect2>
357       <title>REMOVE-TAGS</title>
358       <cmdsynopsis>
359         <command>remove-tags</command>
360         <arg choice="opt">--from <replaceable>file</replaceable></arg>
361         <arg choice="req"><replaceable>nodename</replaceable></arg>
362         <arg choice="req"
363         rep="repeat"><replaceable>tag</replaceable></arg>
364       </cmdsynopsis>
365
366       <para>
367         Remove tags from the given node. If any of the tags are not
368         existing on the node, the entire operation will abort.
369       </para>
370
371       <para>
372         If the <option>--from</option> option is given, the list of
373         tags will be extended with the contents of that file (each
374         line becomes a tag). In this case, there is not need to pass
375         tags on the command line (if you do, both sources will be
376         used). A file name of - will be interpreted as stdin.
377       </para>
378     </refsect2>
379
380     <refsect2>
381       <title>VOLUMES</title>
382
383       <cmdsynopsis>
384         <command>volumes</command>
385         <arg rep="repeat"><replaceable>node</replaceable></arg>
386       </cmdsynopsis>
387
388       <para>
389         Lists all logical volumes and their physical disks from the node(s)
390         provided.
391       </para>
392
393       <para>
394         Example:
395         <screen>
396 # gnt-node volumes node5.example.com
397 Node              PhysDev   VG    Name                                 Size Instance
398 node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11000.meta 128  instance1.example.com
399 node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11001.data 256  instance1.example.com
400         </screen>
401       </para>
402     </refsect2>
403
404   </refsect1>
405
406   &footer;
407
408 </refentry>
409
410 <!-- Keep this comment at the end of the file
411 Local variables:
412 mode: sgml
413 sgml-omittag:t
414 sgml-shorttag:t
415 sgml-minimize-attributes:nil
416 sgml-always-quote-attributes:t
417 sgml-indent-step:2
418 sgml-indent-data:t
419 sgml-parent-document:nil
420 sgml-default-dtd-file:nil
421 sgml-exposed-tags:nil
422 sgml-local-catalogs:nil
423 sgml-local-ecat-files:nil
424 End:
425 -->