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-cluster</refentrytitle>">
10 <!ENTITY dhpackage "gnt-cluster">
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">
23 <holder>Google Inc.</holder>
31 <refmiscinfo>ganeti 1.2</refmiscinfo>
34 <refname>&dhpackage;</refname>
36 <refpurpose>ganeti administration, cluster-wide</refpurpose>
40 <command>&dhpackage; </command>
42 <arg choice="req">command</arg>
43 <arg>arguments...</arg>
47 <title>DESCRIPTION</title>
50 The <command>&dhpackage;</command> is used for cluster-wide
51 administration in the ganeti system.
56 <title>COMMANDS</title>
59 <title>ADD-TAGS</title>
62 <command>add-tags</command>
63 <arg choice="opt">--from <replaceable>file</replaceable></arg>
65 rep="repeat"><replaceable>tag</replaceable></arg>
69 Add tags to the cluster. If any of the tags contains invalid
70 characters, the entire operation will abort.
74 If the <option>--from</option> option is given, the list of
75 tags will be extended with the contents of that file (each
76 line becomes a tag). In this case, there is not need to pass
77 tags on the command line (if you do, both sources will be
78 used). A file name of - will be interpreted as stdin.
83 <title>COMMAND</title>
86 <command>command</command>
87 <arg>-n <replaceable>node</replaceable></arg>
88 <arg choice="req"><replaceable>command</replaceable></arg>
92 Executes a command on all nodes. If the option
93 <option>-n</option> is not given, the command will be executed
94 on all nodes, otherwise it will be executed only on the
95 node(s) specified. Use the option multiple times for running
96 it on multiple nodes, like:
99 # gnt-cluster command -n node1.example.com -n node2.example.com date
105 The command is constructed by concatenating all other command
106 line arguments. For example, to list the contents of the
107 <filename class="directory">/etc</filename> directory on all
111 # gnt-cluster command ls -l /etc
114 and the command which will be executed will be
115 <computeroutput>"ls -l /etc"</computeroutput>
120 <title>COPYFILE</title>
123 <command>copyfile</command>
124 <arg>-n <replaceable>node</replaceable></arg>
125 <arg choice="req"><replaceable>file</replaceable></arg>
129 Copies a file to all or to some nodes. The argument specifies
130 the source file (on the current system), the
131 <option>-n</option> argument specifies the target node, or
132 nodes if the option is given multiple times. If
133 <option>-n</option> is not given at all, the file will be
138 # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test
141 This will copy the file <filename>/tmp/test</filename> from
142 the current node to the two named nodes.
147 <title>DESTROY</title>
150 <command>destroy</command>
151 <arg choice="req">--yes-do-it</arg>
155 Remove all configuration files related to the cluster, so that
156 a <command>gnt-cluster init</command> can be done again
161 Since this is a dangerous command, you are required to pass
162 the argument <replaceable>--yes-do-it.</replaceable>
167 <title>GETMASTER</title>
170 <command>getmaster</command>
174 Displays the current master node.
182 <command>info</command>
186 Shows runtime cluster information: cluster name, architecture
187 (32 or 64 bit), master node, node list and instance list.
195 <command>init</command>
196 <arg>-s <replaceable>secondary_ip</replaceable></arg>
197 <arg>-b <replaceable>bridge</replaceable></arg>
198 <arg choice="req"><replaceable>clustername</replaceable></arg>
202 This commands is only run once initially on the first node of
203 the cluster. It will initialize the cluster configuration and
204 setup ssh-keys and more.
208 Note that the <replaceable>clustername</replaceable> is not
209 any random name. It has to be resolvable to an IP address
210 using DNS, and it is best if you give the fully-qualified
215 The cluster can run in two modes: single-home or
216 dual-homed. In the first case, all traffic (both public
217 traffic, inter-node traffic and data replication traffic) goes
218 over the same interface. In the dual-homed case, the data
219 replication traffic goes over the second network. The
220 <option>-s</option> option here marks the cluster as
221 dual-homed and its parameter represents this node's address on
222 the second network. If you initialise the cluster with
223 <option>-s</option>, all nodes added must have a secondary IP
228 Note that for Ganeti it doesn't matter if the secondary
230 network is actually a separate physical network, or is done
231 using tunneling, etc. For performance reasons, it's
232 recommended to use a separate network, of course.
236 The <option>-b</option> option specifies the default bridge
242 <title>LIST-TAGS</title>
245 <command>list-tags</command>
248 <para>List the tags of the cluster.</para>
252 <title>MASTERFAILOVER</title>
255 <command>masterfailover</command>
259 Failover the master role to the current node.
264 <title>REMOVE-TAGS</title>
267 <command>remove-tags</command>
268 <arg choice="opt">--from <replaceable>file</replaceable></arg>
270 rep="repeat"><replaceable>tag</replaceable></arg>
274 Remove tags from the cluster. If any of the tags are not
275 existing on the cluster, the entire operation will abort.
279 If the <option>--from</option> option is given, the list of
280 tags will be extended with the contents of that file (each
281 line becomes a tag). In this case, there is not need to pass
282 tags on the command line (if you do, both sources will be
283 used). A file name of - will be interpreted as stdin.
288 <title>RENAME</title>
291 <command>rename</command>
293 <arg choice="req"><replaceable>name</replaceable></arg>
297 Renames the cluster and in the process updates the master IP
298 address to the one the new name resolves to. At least one of
299 either the name or the IP address must be different, otherwise
300 the operation will be aborted.
304 Note that since this command can be dangerous (especially when
305 run over SSH), the command will require confirmation unless
306 run with the <option>-f</option> option.
311 <title>SEARCH-TAGS</title>
314 <command>search-tags</command>
315 <arg choice="req"><replaceable>pattern</replaceable></arg>
319 Searches the tags on all objects in the cluster (the cluster
320 itself, the nodes and the instances) for a given pattern. The
321 pattern is interpreted as a regular expression and a search
322 will be done on it (i.e. the given pattern is not anchored to
323 the beggining of the string; if you want that, prefix the
324 pattern with <literal>^</literal>).
328 If no tags are matching the pattern, the exit code of the
329 command will be one. If there is at least one match, the exit
330 code will be zero. Each match is listed on one line, the
331 object and the tag separated by a space. The cluster will be
332 listed as <filename>/cluster</filename>, a node will be listed
334 <filename>/nodes/<replaceable>name</replaceable></filename>,
336 <filename>/instances/<replaceable>name</replaceable></filename>.
340 # gnt-cluster search time
341 /cluster ctime:2007-09-01
342 /nodes/node1.example.com mtime:2007-10-04
347 <title>VERIFY</title>
350 <command>verify</command>
354 Verify correctness of cluster configuration. This is safe with
355 respect to running instances, and incurs no downtime of the
361 <title>VERSION</title>
364 <command>version</command>
368 Show the cluster version.
378 <!-- Keep this comment at the end of the file
383 sgml-minimize-attributes:nil
384 sgml-always-quote-attributes:t
387 sgml-parent-document:nil
388 sgml-default-dtd-file:nil
389 sgml-exposed-tags:nil
390 sgml-local-catalogs:nil
391 sgml-local-ecat-files:nil