discussion in <citerefentry>
<refentrytitle>gnt-cluster</refentrytitle>
<manvolnum>8</manvolnum> </citerefentry> for more
- informations.
+ information.
</para>
<para>
<varlistentry>
<term>serial_no</term>
<listitem>
- <simpara>the so called 'serial number' of the instance;
+ <simpara>the so called 'serial number' of the node;
this is a numeric field that is incremented each time
- the instance is modified, and it can be used to detect
+ the node is modified, and it can be used to detect
modifications</simpara>
</listitem>
</varlistentry>
<varlistentry>
+ <term>ctime</term>
+ <listitem>
+ <para>
+ the creation time of the node; note that this field
+ contains spaces and as such it's harder to parse
+ </para>
+ <para>
+ if this attribute is not present (e.g. when upgrading
+ from older versions), then "N/A" will be shown instead
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>mtime</term>
+ <listitem>
+ <para>
+ the last modification time of the node; note that this
+ field contains spaces and as such it's harder to parse
+ </para>
+ <para>
+ if this attribute is not present (e.g. when upgrading
+ from older versions), then "N/A" will be shown instead
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>uuid</term>
+ <listitem>
+ <simpara>Show the UUID of the node (generated
+ automatically by Ganeti)</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>ctotal</term>
<listitem>
<simpara>the toal number of logical processors</simpara>
<varlistentry>
<term>drained</term>
<listitem>
- <simpara>whether the node is drained or not</simpara>
+ <simpara>whether the node is drained or not; the cluster
+ still communicates with drained nodes but excludes them
+ from allocation operations</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>offline</term>
<listitem>
- <simpara>whether the node is offline or not</simpara>
+ <simpara>whether the node is offline or not; if offline,
+ the cluster does not communicate with offline nodes;
+ useful for nodes that are not reachable in order to
+ avoid delays</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>role</term>
+ <listitem>
+ <para>
+ A condensed version of the node flags; this field will
+ output a one-character field, with the following
+ possible values:
+ <itemizedlist>
+ <listitem>
+ <simpara><emphasis>M</emphasis> for the master
+ node</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>C</emphasis> for a master
+ candidate</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>R</emphasis> for a regular
+ node</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>D</emphasis> for a drained
+ node</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>O</emphasis> for an offline
+ node</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
+ <title>MODIFY</title>
+ <cmdsynopsis>
+ <command>modify</command>
+ <arg>-f</arg>
+ <arg>--submit</arg>
+ <arg>--master-candidate=<option>yes|no</option></arg>
+ <arg>--drained=<option>yes|no</option></arg>
+ <arg>--offline=<option>yes|no</option></arg>
+ <arg choice="req"><replaceable>node</replaceable></arg>
+ </cmdsynopsis>
+
+ <para>
+ This command changes the role of the node. Each options takes
+ either a literal <literal>yes</literal> or
+ <literal>no</literal>, and only one option should be given as
+ <literal>yes</literal>. The meaning of the roles are described
+ in the manpage <citerefentry>
+ <refentrytitle>ganeti</refentrytitle> <manvolnum>7</manvolnum>
+ </citerefentry>.
+ </para>
+
+ <para>
+ In case a node is demoted from the master candidate role, but
+ there are not enough new nodes for this case, the operation
+ will be refused. To override this check, pass the
+ <option>--force</option> option.
+ </para>
+
+ <para>
+ Example (setting a node offline, which will demote it from
+ master candidate role if is in that role):
+ <screen>
+# gnt-node modify --offline=yes node1.example.com
+ </screen>
+ </para>
+
+ <para>Example (setting the node back to online and master candidate):
+ <screen>
+# gnt-node modify --offline=no --master-candidate=yes node1.example.com
+ </screen>
+ </para>
+
+ </refsect2>
+
+ <refsect2>
<title>REMOVE</title>
<cmdsynopsis>
</para>
</refsect2>
+ <refsect2>
+ <title>PHYSICAL-VOLUMES</title>
+
+ <cmdsynopsis>
+ <command>physical-volumes</command>
+ <arg>--no-headers</arg>
+ <arg>--human-readable</arg>
+ <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
+ <arg>--storage-type=<replaceable>STORAGE_TYPE</replaceable></arg>
+ <arg>--output=<replaceable>FIELDS</replaceable></arg>
+ <sbr>
+ <arg rep="repeat"><replaceable>node</replaceable></arg>
+ </cmdsynopsis>
+
+ <para>
+ Lists all physical volumes and their details from the node(s) provided.
+ </para>
+
+ <para>
+ The <option>--no-headers</option> option will skip the initial header
+ line. The <option>--separator</option> option takes an argument which
+ denotes what will be used between the output fields. Both these options
+ are to help scripting.
+ </para>
+
+ <para>
+ The units used to display the numeric values in the output varies,
+ depending on the options given. By default, the values will be
+ formatted in the most appropriate unit. If the
+ <option>--separator</option> option is given, then the values are shown
+ in mebibytes to allow parsing by scripts. In both cases, the
+ <option>--units</option> option can be used to enforce a given output
+ unit.
+ </para>
+
+ <para>
+ The <option>--storage-type</option> option can be used to choose a
+ storage unit type. Possible choices are <literal>lvm-pv</literal>,
+ <literal>lvm-vg</literal> or <literal>file</literal>. Depending on the
+ storage type, the available output fields change.
+ </para>
+
+ <para>
+ The <option>-o</option> option takes a comma-separated list of
+ output fields. The available fields and their meaning are:
+ <variablelist>
+ <varlistentry>
+ <term>node</term>
+ <listitem>
+ <simpara>the node name on which the volume exists</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <simpara>the physical drive name</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>size</term>
+ <listitem>
+ <simpara>
+ the physical drive size
+ (<literal>lvm-pv</literal> and <literal>lvm-vg</literal> only)
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>used</term>
+ <listitem>
+ <simpara>
+ used disk space
+ (<literal>lvm-pv</literal> and <literal>file</literal> only)
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>free</term>
+ <listitem>
+ <simpara>
+ available disk space
+ (<literal>lvm-pv</literal> and <literal>file</literal> only)
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>allocatable</term>
+ <listitem>
+ <simpara>
+ whether physical volume is allocatable
+ (<literal>lvm-pv</literal> only)
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <para>
+ Example:
+ <screen>
+# gnt-node physical-volumes node5.example.com
+Node Name Size Used Free
+node5.example.com /dev/sda7 673.8G 0M 673.8G
+node5.example.com /dev/sdb1 698.6G 1.3G 697.4G
+ </screen>
+ </para>
+ </refsect2>
+
+ <refsect2>
+ <title>MODIFY-VOLUME</title>
+
+ <cmdsynopsis>
+ <command>modify-volume</command>
+ <arg><option>--allocatable=yes|no</option></arg>
+ <sbr>
+ <arg><replaceable>node</replaceable></arg>
+ <arg><replaceable>storage-type</replaceable></arg>
+ <arg><replaceable>volume-name</replaceable></arg>
+ </cmdsynopsis>
+
+ <para>
+ Modifies storage volumes on a node. Only LVM physical volumes can be
+ modified at the moment. They have a storage type of <quote>lvm-pv</quote>.
+ </para>
+
+ <para>
+ Example:
+ <screen>
+# gnt-node modify-volume --allocatable no node5.example.com lvm-pv /dev/sdb1
+ </screen>
+ </para>
+ </refsect2>
+
+ <refsect2>
+ <title>REPAIR-VOLUME</title>
+
+ <cmdsynopsis>
+ <command>repair-volume</command>
+ <arg><replaceable>node</replaceable></arg>
+ <arg><replaceable>storage-type</replaceable></arg>
+ <arg><replaceable>volume-name</replaceable></arg>
+ </cmdsynopsis>
+
+ <para>
+ Repairs a storage volume on a node. Only LVM volume groups can be
+ repaired at this time. They have the storage type
+ <quote>lvm-vg</quote>.
+ </para>
+
+ <para>
+ On LVM volume groups, <command>repair-volume</command> runs
+ <quote>vgreduce --removemissing</quote>.
+ </para>
+
+ <caution>
+ <para>
+ Running this command can lead to data loss. Use it with care.
+ </para>
+ </caution>
+
+ <para>
+ Example:
+ <screen>
+# gnt-node repair-volume node5.example.com lvm-vg xenvg
+ </screen>
+ </para>
+ </refsect2>
+
+ <refsect2>
+ <title>POWERCYCLE</title>
+
+ <cmdsynopsis>
+ <command>powercycle</command>
+ <arg><option>--confirm</option></arg>
+ <arg><option>--force</option></arg>
+ <arg choice="req"><replaceable>node</replaceable></arg>
+ </cmdsynopsis>
+
+ <para>
+ This commands (tries to) forcefully reboot a node. It is a
+ command that can be used if the node environemnt is broken,
+ such that the admin can no longer login over ssh, but the
+ ganeti node daemon is still working.
+ </para>
+
+ <para>
+ Note that this command is not guaranteed to work; it depends
+ on the hypervisor how effective is the reboot attempt. For
+ Linux, this command require that the kernel option
+ <literal>CONFIG_MAGIC_SYSRQ</literal> is enabled.
+ </para>
+
+ <para>
+ The <option>--yes</option> option can be used to skip
+ confirmation, while the <option>--force</option> option is
+ needed if the target node is the master node.
+ </para>
+
</refsect1>
&footer;