From c2e818b678b0395fe3898b7252195bf9effdc9d3 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Sat, 13 Nov 2010 21:28:34 +0100 Subject: [PATCH] Remove the SGML man sources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit β¦ finally! Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: RenΓ© Nussbaumer <rn@google.com> --- man/footer.sgml | 98 -- man/ganeti-cleaner.sgml | 82 -- man/ganeti-confd.sgml | 116 -- man/ganeti-masterd.sgml | 165 --- man/ganeti-noded.sgml | 148 -- man/ganeti-os-interface.sgml | 481 ------ man/ganeti-rapi.sgml | 140 -- man/ganeti-watcher.sgml | 166 --- man/ganeti.sgml | 317 ---- man/gnt-backup.sgml | 437 ------ man/gnt-cluster.sgml | 1051 ------------- man/gnt-debug.sgml | 286 ---- man/gnt-instance.sgml | 2676 ---------------------------------- man/gnt-job.sgml | 289 ---- man/gnt-node.sgml | 1086 -------------- man/gnt-os.sgml | 160 -- 16 files changed, 7698 deletions(-) delete mode 100644 man/footer.sgml delete mode 100644 man/ganeti-cleaner.sgml delete mode 100644 man/ganeti-confd.sgml delete mode 100644 man/ganeti-masterd.sgml delete mode 100644 man/ganeti-noded.sgml delete mode 100644 man/ganeti-os-interface.sgml delete mode 100644 man/ganeti-rapi.sgml delete mode 100644 man/ganeti-watcher.sgml delete mode 100644 man/ganeti.sgml delete mode 100644 man/gnt-backup.sgml delete mode 100644 man/gnt-cluster.sgml delete mode 100644 man/gnt-debug.sgml delete mode 100644 man/gnt-instance.sgml delete mode 100644 man/gnt-job.sgml delete mode 100644 man/gnt-node.sgml delete mode 100644 man/gnt-os.sgml diff --git a/man/footer.sgml b/man/footer.sgml deleted file mode 100644 index 3284fbe14..000000000 --- a/man/footer.sgml +++ /dev/null @@ -1,98 +0,0 @@ - <refsect1> - <title>REPORTING BUGS</title> - <para> - Report bugs to <ulink - url="http://code.google.com/p/ganeti/"></ulink> or contact the - developers using the Ganeti mailing list - <ganeti@googlegroups.com>. - </para> - </refsect1> - - <refsect1> - <title>SEE ALSO</title> - - <para> - Ganeti overview and specifications: - <citerefentry> - <refentrytitle>ganeti</refentrytitle> - <manvolnum>7</manvolnum> - </citerefentry> (general overview), - <citerefentry> - <refentrytitle>ganeti-os-interface</refentrytitle> - <manvolnum>7</manvolnum> - </citerefentry> (guest OS definitions). - - </para> - <para>Ganeti commands: - <citerefentry> - <refentrytitle>gnt-cluster</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (cluster-wide commands), - <citerefentry> - <refentrytitle>gnt-job</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (job-related commands), - <citerefentry> - <refentrytitle>gnt-node</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (node-related commands), - <citerefentry> - <refentrytitle>gnt-instance</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (instance commands), - <citerefentry> - <refentrytitle>gnt-os</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (guest OS commands), - <citerefentry> - <refentrytitle>gnt-backup</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (instance import/export commands), - <citerefentry> - <refentrytitle>gnt-debug</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (debug commands). - </para> - - <para>Ganeti daemons: - <citerefentry> - <refentrytitle>ganeti-watcher</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (automatic instance restarter), - <citerefentry> - <refentrytitle>ganeti-cleaner</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (job queue cleaner), - <citerefentry> - <refentrytitle>ganeti-noded</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (node daemon), - <citerefentry> - <refentrytitle>ganeti-masterd</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (master daemon), - <citerefentry> - <refentrytitle>ganeti-rapi</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> (remote API daemon). - </para> - - </refsect1> - - <refsect1> - <title>COPYRIGHT</title> - - <para> - Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc. Permission is - granted to copy, distribute and/or modify under the terms of the - &gnu; General Public License as published by the Free Software - Foundation; either version 2 of the License, or (at your option) - any later version. - </para> - - <para> - On Debian systems, the complete text of the GNU General Public - License can be found in /usr/share/common-licenses/GPL. - </para> - - </refsect1> diff --git a/man/ganeti-cleaner.sgml b/man/ganeti-cleaner.sgml deleted file mode 100644 index 34ea4815a..000000000 --- a/man/ganeti-cleaner.sgml +++ /dev/null @@ -1,82 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti-cleaner</refentrytitle>"> - <!ENTITY dhpackage "ganeti-cleaner"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti job queue cleaner</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage;</command> - - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is a periodically run script to clean - old job files from the job queue archive and to remove expired X509 - certificates and keys. - </para> - - <para> - <command>&dhpackage;</command> automatically removes all files older than - 21 days from - <filename>@LOCALSTATEDIR@/lib/ganeti/queue/archive</filename> and all - expired certificates and keys from - <filename>@LOCALSTATEDIR@/run/ganeti/crypto</filename> - </para> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/ganeti-confd.sgml b/man/ganeti-confd.sgml deleted file mode 100644 index 69fefd478..000000000 --- a/man/ganeti-confd.sgml +++ /dev/null @@ -1,116 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti-confd</refentrytitle>"> - <!ENTITY dhpackage "ganeti-confd"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2009</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti conf daemon</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - <arg>-f</arg> - <arg>-d</arg> - - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - <command>&dhpackage;</command> is a daemon used to answer queries related - to the configuration of a Ganeti cluster. - </para> - - <para> - For testing purposes, you can give the <option>-f</option> - option and the program won't detach from the running terminal. - </para> - - <para> - Debug-level message can be activated by giving the - <option>-d</option> option. - </para> - <refsect2> - <title>ROLE</title> - <para> - The role of the conf daemon is to make sure we have a highly available - and very fast way to query cluster configuration values. This daemon is - automatically active on all master candidates, and so has no single - point of failure. It communicates via UDP so each query can easily be - sent to multiple servers, and it answers queries from a cached copy of - the config it keeps in memory, so no disk access is required to get an - answer. - </para> - - <para> - The config is reloaded from disk automatically when it changes, with a - rate limit of once per second. - </para> - - <para> - If the conf daemon is stopped on all nodes, its clients won't be able - to get query answers. - </para> - </refsect2> - - <refsect2> - <title>COMMUNICATION PROTOCOL</title> - <para> - The confd protocol is an HMAC authenticated json-encoded custom format, - over UDP. A client library is provided to make it easy to write - software to query confd. More information can be found in the Ganeti - 2.1 design doc, and an example usage can be seen in the (external) NBMA - daemon for Ganeti. - </para> - </refsect2> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/ganeti-masterd.sgml b/man/ganeti-masterd.sgml deleted file mode 100644 index 7bd56c1ab..000000000 --- a/man/ganeti-masterd.sgml +++ /dev/null @@ -1,165 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti-masterd</refentrytitle>"> - <!ENTITY dhpackage "ganeti-masterd"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti master daemon</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - <arg>-f</arg> - <arg>-d</arg> - <arg>--no-voting</arg> - - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is the daemon which is - responsible for the overall cluster coordination. Without it, no - change can be performed on the cluster. - </para> - - <para> - For testing purposes, you can give the <option>-f</option> - option and the program won't detach from the running terminal. - </para> - - <para> - Debug-level message can be activated by giving the - <option>-d</option> option. - </para> - <refsect2> - <title>ROLE</title> - <para> - The role of the master daemon is to coordinate all the actions - that change the state of the cluster. Things like accepting - new jobs, coordinating the changes on nodes (via RPC calls to - the respective node daemons), maintaining the configuration - and so on are done via this daemon. - </para> - - <para> - The only action that can be done without the master daemon is - the failover of the master role to another node in the - cluster, via the <command>gnt-cluster - master-failover</command> command. - </para> - - <para> - If the master daemon is stopped, the instances are not - affected, but they won't be restarted automatically in case of - failure. - </para> - </refsect2> - - <refsect2> - <title>STARTUP</title> - <para> - At startup, the master daemon will confirm with the node - daemons that the node it is running is indeed the master node - of the cluster. It will abort if it doesn't get half plus one - positive answers (offline nodes are queried too, just in case - our configuration is stale). - </para> - - <para> - For small clusters with a number of nodes down, and especially - for two-node clusters where the other has gone done, this - creates a problem. In this case the - <option>--no-voting</option> option can be used to skip this - process. The option requires interactive confirmation, as - having two masters on the same cluster is a very dangerous - situation and will most likely lead to data loss. - </para> - </refsect2> - - <refsect2> - <title>JOB QUEUE</title> - <para> - The master daemon maintains a job queue (located under - <filename - class="directory">@LOCALSTATEDIR@/lib/ganeti/queue</filename>) in - which all current jobs are stored, one job per file serialized - in JSON format; in this directory a subdirectory called - <filename class="directory">archive</filename> holds archived - job files. - </para> - - <para> - The moving of jobs from the current to the queue directory is - done via a request to the master; this can be accomplished - from the command line with the <command>gnt-job - archive</command> or <command>gnt-job autoarchive</command> - commands. In case of problems with the master, a job file can - simply be moved away or deleted (but this might leave the - cluster inconsistent). - </para> - - </refsect2> - - <refsect2> - <title>COMMUNICATION PROTOCOL</title> - <para> - The master accepts commands over a Unix socket, using JSON - serialized messages separated by a specific byte sequence. For - more details, see the design documentation supplied with - Ganeti. - </para> - </refsect2> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/ganeti-noded.sgml b/man/ganeti-noded.sgml deleted file mode 100644 index 68dd26fbd..000000000 --- a/man/ganeti-noded.sgml +++ /dev/null @@ -1,148 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti-noded</refentrytitle>"> - <!ENTITY dhpackage "ganeti-noded"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti node daemon</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - <arg>-f</arg> - <arg>-d</arg> - - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is the daemon which is - responsible for the node functions in the Ganeti system. - </para> - - <para> - By default, in order to be able to support features such as node - powercycling even on systems with a very damaged root disk, - <command>ganeti-noded</command> locks itself in RAM using - <citerefentry> - <refentrytitle>mlockall</refentrytitle> - <manvolnum>2</manvolnum> - </citerefentry>. You can disable this feature by passing in the - <option>--no-mlock</option> to the daemon. - </para> - - <para> - For testing purposes, you can give the <option>-f</option> - option and the program won't detach from the running terminal. - </para> - - <para> - Debug-level message can be activated by giving the - <option>-d</option> option. - </para> - - <para> - Logging to syslog, rather than its own log file, can be enabled by - passing in the <option>--syslog</option> option. - </para> - - <para> - The <command>ganeti-noded</command> daemon listens to port 1811 TCP, on - all interfaces, by default. This can be overridden by an entry the - services database (<filename>/etc/services</filename>) or by passing the - <option>-p</option> option. The <option>-b</option> option can be used to - specify the address to bind to (defaults to 0.0.0.0). - </para> - - <para> - Ganeti noded communication is protected via SSL, with a key generated at - cluster init time. This can be disabled with the - <option>--no-ssl</option> option, or a different SSL key and certificate - can be specified using the <option>-K</option> and <option>-C</option> - options. - </para> - - <refsect2> - <title>ROLE</title> - <para> - The role of the node daemon is to do almost all the actions - that change the state of the node. Things like creating disks - for instances, activating disks, starting/stopping instance - and so on are done via the node daemon. - </para> - - <para> - Also, in some cases the startup/shutdown of the master daemon - are done via the node daemon, and the cluster IP address is - also added/removed to the master node via it. - </para> - - <para> - If the node daemon is stopped, the instances are not affected, - but the master won't be able to talk to that node. - </para> - </refsect2> - - <refsect2> - <title>COMMUNICATION PROTOCOL</title> - <para> - Currently the master-node RPC is done using a simple RPC protocol built - using JSON over HTTP(S). - </para> - </refsect2> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/ganeti-os-interface.sgml b/man/ganeti-os-interface.sgml deleted file mode 100644 index 49fdc67d2..000000000 --- a/man/ganeti-os-interface.sgml +++ /dev/null @@ -1,481 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>7</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti-os-interface</refentrytitle>"> - <!ENTITY dhpackage "ganeti"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>ganeti-os-interface</refname> - - <refpurpose>Specifications for guest OS types</refpurpose> - </refnamediv> - - <refsect1> - <title>DESCRIPTION</title> - - <para> - The method of supporting guest operating systems in Ganeti is to - have, for each guest OS type, a directory containing a number of - required files. - </para> - - - </refsect1> - <refsect1> - <title>REFERENCE</title> - - <para> - There are six required files: <filename>create</filename>, - <filename>import</filename>, <filename>export</filename>, - <filename>rename</filename> (executables), - <filename>ganeti_api_version</filename> and - <filename>variants.list</filename> (text file). - </para> - - <refsect2> - <title>Common environment</title> - <para> - All commands will get their input via environment variables. A - common set of variables will be exported for all commands, and - some of them might have extra ones. Note that all counts are - zero-based. - </para> - <variablelist> - <varlistentry> - <term>OS_API_VERSION</term> - <listitem> - <simpara>The OS API version that the rest of the - environment conforms to.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>INSTANCE_NAME</term> - <listitem> - <simpara>The instance name the script should operate - on.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>INSTANCE_OS</term> - <term>OS_NAME</term> - <listitem> - <simpara>Both names point to the name of the instance's OS - as Ganeti knows it. This can simplify the OS scripts by - providing the same scripts under multiple names, and then - the scripts can use this name to alter their - behaviour.</simpara> <simpara>With OS API 15 changing the - script behavior based on this variable is deprecated: - OS_VARIANT should be used instead (see below).</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>OS_VARIANT</term> - <listitem> - <simpara>The variant of the OS which should be installed. Each OS - must support all variants listed under its - <filename>variants.list</filename> file, and may support more. - Any more supported variants should be properly documented in the - per-OS documentation.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>HYPERVISOR</term> - <listitem> - <simpara>The hypervisor of this instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>DISK_COUNT</term> - <listitem> - <simpara>The number of disks the instance has. The actual - disk defitions are in a set of additional variables. The - instance's disk will be numbered from 0 to this value - minus one.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>DISK_%N_PATH</term> - <listitem> - <simpara>The path to the storage for disk N of the - instance. This might be either a block device or a regular - file, in which case the OS scripts should use - <emphasis>losetup</emphasis> (if they need to mount - it). E.g. the first disk of the instance might be exported - as <envar>DISK_0_PATH=/dev/drbd0</envar>.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>DISK_%N_ACCESS</term> - <listitem> - <simpara>This is how the hypervisor will export the - instance disks: either read-write (<emphasis>rw</emphasis>) or - read-only (<emphasis>ro</emphasis>).</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>DISK_%N_FRONTEND_TYPE</term> - <listitem> - <simpara>(Optional) If applicable to the current - hypervisor type: the type of the device exported by the - hypervisor. For example, the Xen HVM hypervisor can export - disks as either <emphasis>paravirtual</emphasis> or - <emphasis>ioemu</emphasis>.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>DISK_%N_BACKEND_TYPE</term> - <listitem> - <simpara>How files are visible on the node side. This can - be either <emphasis>block</emphasis> (when using block - devices) or <emphasis>file:type</emphasis>, where - <emphasis>type</emphasis> is either - <emphasis>loop</emphasis> <emphasis>blktap</emphasis> - depending on how the hypervisor will be configured. Note - that not all backend types apply to all - hypervisors.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>NIC_COUNT</term> - <listitem> - <simpara>Similar to the <envar>DISK_COUNT</envar>, this - represents the number of NICs of the instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>NIC_%N_MAC</term> - <listitem> - <simpara>The MAC address associated with this - interface.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>NIC_%N_IP</term> - <listitem> - <simpara>The IP address, if any, associated with the N-th - NIC of the instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>NIC_%N_MODE</term> - <listitem> - <simpara>The NIC mode, either routed or bridged</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>NIC_%N_BRIDGE</term> - <listitem> - <simpara>The bridge to which this NIC will be attached. This - variable is defined only when the NIC is in bridged mode.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>NIC_%N_LINK</term> - <listitem> - <simpara>If the NIC is in bridged mode, this is the same as - NIC_%N_BRIDGE. If it is in routed mode, the routing table - which will be used by the hypervisor to insert the appropriate - routes.</simpara> </listitem> - </varlistentry> - <varlistentry> - <term>NIC_%N_FRONTEND_TYPE</term> - <listitem> - <para>(Optional) If applicable, the type of the exported - NIC to the instance, this can be one of of: <simplelist - type="inline"> <member>rtl8139</member> - <member>ne2k_pci</member> <member>ne2k_isa</member> - <member>paravirtual</member> </simplelist>. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>DEBUG_LEVEL</term> - <listitem> - <simpara>If non-zero, this should cause the OS script to - generate verbose logs of its execution, for - troubleshooting purposes. Currently only - <emphasis>0</emphasis> and <emphasis>1</emphasis> are - valid values.</simpara> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>create</title> - - <para>The <command>create</command> command is used for creating - a new instance from scratch. It has no additional environment - variables bside the common ones.</para> - - <para>The <envar>INSTANCE_NAME</envar> variable denotes the name - of the instance, which is guaranteed to resolve to an IP - address. The create script should configure the instance - according to this name. It can configure the IP statically or - not, depending on the deployment environment.</para> - - <para>The <envar>INSTANCE_REINSTALL</envar> variable is set to '1' when - this create request is reinstalling and existing instance, rather than - creating one anew. This can be used, for example, to preserve some - data in the old instance in an OS-specific way.</para> - - </refsect2> - - <refsect2> - <title>export</title> - - <para> - This command is used in order to make a backup of a given disk - of the instance. The command should write to stdout a dump of - the given block device. The output of this program will be - passed during restore to the <command>import</command> - command. - </para> - - <para> - The specific disk to backup is denoted by two additional - environment variables: <envar>EXPORT_INDEX</envar> which - denotes the index in the instance disks structure (and could - be used for example to skip the second disk if not needed for - backup) and <envar>EXPORT_PATH</envar> which has the same - value as <emphasis>DISK_N_PATH</emphasis> but is duplicate - here for easier usage by shell scripts (rather than parse the - DISK_... variables). - </para> - - <para> - To provide the user with an estimate on how long the export will take, - a predicted size can be written to the file descriptor passed in the - variable <envar>EXP_SIZE_FD</envar>. The value is in bytes and must be - terminated by a newline character (\n). Older versions of Ganeti don't - support this feature, hence the variable should be checked before use. - Example: <screen> -if test -n "$EXP_SIZE_FD"; then - blockdev --getsize64 $blockdev >&$EXP_SIZE_FD -fi -</screen> - </para> - - </refsect2> - - <refsect2> - <title>import</title> - - <para> - The <command>import</command> command is used for restoring an - instance from a backup as done by - <command>export</command>. The arguments are the similar to - those passed to <command>export</command>, whose output will - be provided on <acronym>stdin</acronym>. - </para> - - <para> - The difference in variables is that the current disk is called - by <envar>IMPORT_DEVICE</envar> and <envar>IMPORT_INDEX</envar> - (instead of <emphasis>EXPORT_</emphasis>). - </para> - - </refsect2> - - <refsect2> - <title>rename</title> - - <para> - This command is used in order to perform a rename at the - instance OS level, after the instance has been renamed in - Ganeti. The command should do whatever steps are required to - ensure that the instance is updated to use the new name, if - the operating system supports it. - </para> - - <para> - Note that it is acceptable for the rename script to do nothing - at all, however be warned that in this case, there will be a - desynchronization between what <computeroutput>gnt-instance - list</computeroutput> shows you and the actual hostname of the - instance. - </para> - - <para>The script will be passed one additional environment - variable called <envar>OLD_INSTANCE_NAME</envar> which holds the - old instance name. The <envar>INSTANCE_NAME</envar> variable - holds the new instance name.</para> - - <para> - A very simple rename script should at least change the - hostname and IP address of the instance, leaving the - administrator to update the other services. - </para> - </refsect2> - - <refsect2> - <title>ganeti_api_version</title> - <para> - The <filename>ganeti_api_version</filename> file is a plain - text file containing the version(s) of the guest OS API that - this OS definition complies with, one per line. The version - documented by this man page is 15, so this file must contain - the number 15 followed by a newline if only this version is - supported. A script compatible with more than one Ganeti version - should contain the most recent version first (i.e. 15), - followed by the old version(s) (in this case 10 and/or 5). - </para> - </refsect2> - - <refsect2> - <title>variants.list</title> - <para> - <filename>variants.list</filename> is a plain text file - containing all the declared supported variants for this - OS, one per line. At least one variant must be supported. - </para> - </refsect2> - - </refsect1> - - <refsect1> - <title>NOTES</title> - - <refsect2> - <title>Backwards compatibility</title> - - <para> - Ganeti 2.2 is compatible with both API version 10, and 15. - In API version 10 the <filename>variants.list</filename> - file is ignored and no OS_VARIANT environment variable is - passed. - </para> - </refsect2> - - <refsect2> - <title>Common behaviour</title> - - <para>All the scripts should display an usage message when - called with a wrong number of arguments or when the first - argument is <option>-h</option> or - <option>--help</option>.</para> - - </refsect2> - - <refsect2> - <title>Upgrading from old versions</title> - <refsect3> - - <title>Version 10 to 15</title> - - <para> - The <filename>variants.list</filename> file has been - added, so OSes should support at least one variant, - declaring it in that file and must be prepared to parse - the OS_VARIANT environment variable. OSes are free to - support more variants than just the declared ones. - </para> - - </refsect3> - - <refsect3> - - <title>Version 5 to 10</title> - - <para> - The method for passing data has changed from command line - options to environment variables, so scripts should be - modified to use these. For an example of how this can be - done in a way compatible with both versions, feel free to - look at the debootstrap instance's - <filename>common.sh</filename> auxiliary script. - </para> - - <para> - Also, instances can have now a variable number of disks, not - only two, and a variable number of NICs (instead of fixed - one), so the scripts should deal with this. The biggest - change is in the import/export, which are called once per - disk, instead of once per instance. - </para> - - </refsect3> - - <refsect3> - <title>Version 4 to 5</title> - <para> - The <filename>rename</filename> script has been added. If - you don't want to do any changes on the instances after a - rename, you can migrate the OS definition to version 5 by - creating the <filename>rename</filename> script simply as: - <screen> -#!/bin/sh - -exit 0 - </screen> - </para> - - <para>Note that the script must be executable.</para> - </refsect3> - </refsect2> - - <!-- - <refsect2> - - <title>Export/import format</title> - - <para> - It is up to the export and import scripts to define the format - they use. It is only required for these two to work - together. It is not recommended that - </para> - - </refsect2> - --> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/ganeti-rapi.sgml b/man/ganeti-rapi.sgml deleted file mode 100644 index d185e08ea..000000000 --- a/man/ganeti-rapi.sgml +++ /dev/null @@ -1,140 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti-rapi</refentrytitle>"> - <!ENTITY dhpackage "ganeti-rapi"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti remote API daemon</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - <arg>-d</arg> - <arg>-f</arg> - <arg>--no-ssl</arg> - <arg>-K <replaceable>SSL_KEY_FILE</replaceable></arg> - <arg>-C <replaceable>SSL_CERT_FILE</replaceable></arg> - - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>DESCRIPTION</title> - - <para> - <command>&dhpackage;</command> is the daemon providing a remote - API for Ganeti clusters. - </para> - - <para> - It is automatically started on the master node, and by default - it uses SSL encryption. This can be disabled by passing the - <option>--no-ssl</option> option, or alternatively the - certificate used can be changed via the <option>-C</option> - option and the key via the <option>-K</option> option. - </para> - - <para> - The daemon will listen to the "ganeti-rapi" tcp port, as listed in the - system services database, or to port 5080 by default. - </para> - - <para> - See the <emphasis>Ganeti remote API</emphasis> documentation for - further information. - </para> - - <para> - Requests are logged to - <filename>@LOCALSTATEDIR@/log/ganeti/rapi-daemon.log</filename>, - in the same format as for the node and master daemon. - </para> - - </refsect1> - - <refsect1> - <title>ACCESS CONTROLS</title> - - <para> - All query operations are allowed without authentication. Only - the modification operations require authentication, in the form - of basic authentication. - </para> - - <para> - The users and their rights are defined in a file named - <filename>rapi_users</filename>, located in the <filename - class="directory">@LOCALSTATEDIR@/lib/ganeti</filename> - directory. The users should be listed one per line, in the - following format: - </para> - - <screen>username password options</screen> - - <para> - Currently the <replaceable>options</replaceable> field should - equal the string <emphasis>write</emphasis> in order to actually - give write permission for the given users. Example: - </para> - <screen>rclient secret write -guest tespw -</screen> - <para>The first user (<userinput>rclient</userinput>) will have - read-write rights, whereas the second user does only have read - (query) rights, and as such is no different than not using - authentication at all.</para> - - <para>More details (including on how to use hashed passwords) can be found - in the Ganeti documentation.</para> - - </refsect1> - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/ganeti-watcher.sgml b/man/ganeti-watcher.sgml deleted file mode 100644 index d78725392..000000000 --- a/man/ganeti-watcher.sgml +++ /dev/null @@ -1,166 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti-watcher</refentrytitle>"> - <!ENTITY dhpackage "ganeti-watcher"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti cluster watcher</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg><option>--debug</option></arg> - <arg><option>--job-age=<replaceable>age</replaceable></option></arg> - <arg><option>--ignore-pause</option></arg> - - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is a periodically run script - which is responsible for keeping the instances in the correct - status. It has two separate functions, one for the master node - and another one that runs on every node. - </para> - - <para> - If the watcher is disabled at cluster level (via - the <command>gnt-cluster watcher pause</command> command), it - will exit without doing anything. The cluster-level pause can be - overriden via the <option>--ignore-pause</option> option, for - example if during a maintenance the watcher needs to be disabled - in general, but the administrator wants to run it just once. - </para> - - <para> - The <option>--debug</option> option will increase the verbosity - of the watcher and also activate logging to the standard error. - </para> - - <refsect2> - <title>Master operations</title> - - <para> - Its primary function is to try to keep running all instances - which are marked as <emphasis>up</emphasis> in the configuration - file, by trying to start them a limited number of times. - </para> - - <para> - Another function is to <quote>repair</quote> DRBD links by - reactivating the block devices of instances which have - secondaries on nodes that have been rebooted. - </para> - - <para> - The watcher will also archive old jobs (older than the age - given via the <option>--job-age</option> option, which - defaults to 6 hours), in order to keep the job queue - manageable. - </para> - - </refsect2> - - <refsect2> - - <title>Node operations</title> - - <para> - The watcher will restart any down daemons that are appropriate - for the current node. - </para> - - <para> - In addition, it will execute any scripts which exist under the - <quote>watcher</quote> directory in the Ganeti hooks directory - (@SYSCONFDIR@/ganeti/hooks). This should be used for - lightweight actions, like starting any extra daemons. - </para> - - <para> - If the cluster - parameter <literal>maintain_node_health</literal> is enabled, - then the watcher will also shutdown instances and DRBD devices - if the node is declared as offline by known master candidates. - </para> - - <para> - The watcher does synchronous queries but will submit jobs for - executing the changes. Due to locking, it could be that the jobs - execute much later than the watcher submits them. - </para> - - </refsect2> - - - </refsect1> - - <refsect1> - <title>FILES</title> - - <para> - The command has a state file located at - <filename>@LOCALSTATEDIR@/lib/ganeti/watcher.data</filename> - (only used on the master) and a log file at - <filename>@LOCALSTATEDIR@/log/ganeti/watcher.log</filename>. Removal of - either file will not affect correct operation; the removal of - the state file will just cause the restart counters for the - instances to reset to zero. - </para> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/ganeti.sgml b/man/ganeti.sgml deleted file mode 100644 index 3bb4f42ea..000000000 --- a/man/ganeti.sgml +++ /dev/null @@ -1,317 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>7</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>ganeti</refentrytitle>"> - <!ENTITY dhpackage "ganeti"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>cluster-based virtualization management</refpurpose> - - </refnamediv> - <refsynopsisdiv> - <screen> -# gnt-cluster init cluster1.example.com -# gnt-node add node2.example.com -# gnt-instance add -n node2.example.com \ -> -o debootstrap --disk 0:size=30g \ -> -t plain instance1.example.com - </screen> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The Ganeti software manages physical nodes and virtual instances - of a cluster based on a virtualization software. The current - version (2.2) supports Xen 3.x and KVM (72 or above) as hypervisors. - </para> - - </refsect1> - <refsect1> - <title>Quick start</title> - - <para> - First you must install the software on all the cluster nodes, - either from sources or (if available) from a package. The next - step is to create the initial cluster configuration, using - <userinput>gnt-cluster init</userinput>. - </para> - - <para> - Then you can add other nodes, or start creating instances. - </para> - - </refsect1> - - <refsect1> - <title>Cluster architecture</title> - - <para> - In Ganeti 2.0, the architecture of the cluster is a little more - complicated than in 1.2. The cluster is coordinated by a master - daemon (<citerefentry> - <refentrytitle>ganeti-masterd</refentrytitle> - <manvolnum>8</manvolnum> </citerefentry>), running on the master - node. Each node runs (as before) a node daemon, and the master - has the <acronym>RAPI</acronym> daemon running too. - </para> - - <refsect2> - <title>Node roles</title> - - <para>Each node can be in one of the following states: - <variablelist> - <varlistentry> - <term>master</term> - <listitem> - <para> - Only one node per cluster can be in this role, and - this node is the one holding the authoritative copy of - the cluster configuration and the one that can - actually execute commands on the cluster and modify - the cluster state. See more details under - <emphasis>Cluster configuration</emphasis>. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>master_candidate</term> - <listitem> - <para>The node receives the full cluster configuration - (configuration file and jobs) and can become a master - via the <command>gnt-cluster master-failover</command> - command. Nodes that are not in this state cannot - transition into the master role due to missing - state.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>regular</term> - <listitem> - <para>This the normal state of a node.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>drained</term> - <listitem> - <para>Nodes in this state are functioning normally but - cannot receive new instance, because the intention is to - set them to <emphasis>offline</emphasis> or remove them - from the cluster.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>offline</term> - <listitem> - <para>These nodes are still recorded in the Ganeti - configuration, but except for the master daemon startup - voting procedure, they are not actually contacted by the - master. This state was added in order to allow broken - machines (that are being repaired) to remain in the - cluster but without creating problems.</para> - </listitem> - </varlistentry> - </variablelist> - </para> - </refsect2> - - <refsect2> - <title>Node flags</title> - - <para>Nodes have two flags which govern which roles they can take: - <variablelist> - <varlistentry> - <term>master_capable</term> - <listitem> - <para> - The node can become a master candidate, and - furthermore the master node. When this flag is - disabled, the node cannot become a candidate; this can - be useful for special networking cases, or less - reliable hardware. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>vm_capable</term> - <listitem> - <para> - The node can host instances. When enabled (the default - state), the node will participate in instance - allocation, capacity calculation, etc. When disabled, - the node will be skipped in many cluster checks and - operations. - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - </refsect2> - - <refsect2> - <title>Cluster configuration</title> - - <para>The master node keeps and is responsible for the cluster - configuration. On the filesystem, this is stored under the - <filename - class="directory">@LOCALSTATEDIR@/ganeti/lib</filename> - directory, and if the master daemon is stopped it can be backed - up normally.</para> - - <para>The master daemon will replicate the configuration - database called <filename>config.data</filename> and the job - files to all the nodes in the master candidate role. It will - also distribute a copy of some configuration values via the - <emphasis>ssconf</emphasis> files, which are stored in the same - directory and start with <filename>ssconf_</filename> prefix, to - all nodes.</para> - - </refsect2> - - <refsect2> - <title>Jobs</title> - - <para> - All cluster modification are done via jobs. A job consists of - one or more opcodes, and the list of opcodes is processed - serially. If an opcode fails, the entire job is failed and - later opcodes are no longer processed. A job can be in one of - the following states: - <variablelist> - <varlistentry> - <term>queued</term> - <listitem> - <simpara>The job has been submitted but not yet - processed by the master daemon.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>waiting</term> - <listitem> - <simpara>The job is waiting for for locks before the - first of its opcodes.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>canceling</term> - <listitem> - <para>The job is waiting for locks, but is has been - marked for cancellation. It will not transition to - <emphasis>running</emphasis>, but to - <emphasis>canceled</emphasis>. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>running</term> - <listitem> - <simpara>The job is currently being executed.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>canceled</term> - <listitem> - <para>The job has been canceled before starting - execution.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>success</term> - <listitem> - <para>The job has finished successfully.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>error</term> - <listitem> - <para>The job has failed during runtime, or the master - daemon has been stopped during the job execution.</para> - </listitem> - </varlistentry> - </variablelist> - </para> - </refsect2> - </refsect1> - - <refsect1> - <title>Common options</title> - - <para> - Many Ganeti commands provide the following options. The availability for - a certain command can be checked by calling the command using the - <option>--help</option> option. - </para> - - <cmdsynopsis> - <command>gnt-<replaceable>...</replaceable> <replaceable>command</replaceable></command> - <arg>--dry-run</arg> - <arg>--priority <group choice="req"> - <arg>low</arg> - <arg>normal</arg> - <arg>high</arg> - </group></arg> - </cmdsynopsis> - - <para> - The <option>--dry-run</option> option can be used to check whether an - operation would succeed. - </para> - - <para> - The option <option>--priority</option> sets the priority for opcodes - submitted by the command. - </para> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/gnt-backup.sgml b/man/gnt-backup.sgml deleted file mode 100644 index 91c495517..000000000 --- a/man/gnt-backup.sgml +++ /dev/null @@ -1,437 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>gnt-backup</refentrytitle>"> - <!ENTITY dhpackage "gnt-backup"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti instance import/export</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg choice="req">command</arg> - <arg>arguments...</arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is used for importing and exporting - instances and their configuration from a Ganeti system. It is useful for - backing up instances and also to migrate them between clusters. - </para> - - </refsect1> - <refsect1> - <title>COMMANDS</title> - - <refsect2> - <title>EXPORT</title> - - <cmdsynopsis> - <command>export</command> - <arg choice="req">-n <replaceable>node</replaceable></arg> - <arg>--shutdown-timeout=<replaceable>N</replaceable></arg> - <arg>--noshutdown</arg> - <arg>--remove-instance</arg> - <arg>--ignore-remove-failures</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - - </cmdsynopsis> - - <para> - Exports an instance to the target node. All the instance data - and its configuration will be exported under the - /srv/ganeti/export/<replaceable>instance</replaceable> - directory on the target node. - </para> - - <para> - The <option>--shutdown-timeout</option> is used to specify how - much time to wait before forcing the shutdown (xm destroy in xen, - killing the kvm process, for kvm). By default two minutes are - given to each instance to stop. - </para> - - <para> - The <option>--noshutdown</option> option will create a - snapshot disk of the instance without shutting it down first. - While this is faster and involves no downtime, it cannot be - guaranteed that the instance data will be in a consistent state - in the exported dump. - </para> - - <para> - The <option>--remove</option> option can be used to remove the - instance after it was exported. This is useful to make one last - backup before removing the instance. - </para> - - <para> - The exit code of the command is 0 if all disks were backed up - successfully, 1 if no data was backed up or if the - configuration export failed, and 2 if just some of the disks - failed to backup. The exact details of the failures will be - shown during the command execution (and will be stored in the - job log). It is recommended that for any non-zero exit code, - the backup is considered invalid, and retried. - </para> - - <para> - Example: - <screen> -# gnt-backup export -n node1.example.com instance3.example.com - </screen> - </para> - </refsect2> - - <refsect2> - <title>IMPORT</title> - <cmdsynopsis> - <command>import</command> - <sbr> - <group choice="req"> - <arg>-n <replaceable>node<optional>:secondary-node</optional></replaceable></arg> <arg>--iallocator - <replaceable>name</replaceable></arg> - </group> - <sbr> - - <arg rep="repeat">--disk <replaceable>N</replaceable>:size=<replaceable>VAL</replaceable><arg>,mode=<replaceable>ro|rw</replaceable></arg></arg> - <sbr> - <group> - <arg rep="repeat">--net <replaceable>N</replaceable><arg rep="repeat">:options</arg></arg> - <arg>--no-nics</arg> - </group> - <sbr> - <arg>-B <replaceable>BEPARAMS</replaceable></arg> - <sbr> - <arg>-H <replaceable>HYPERVISOR</replaceable><arg>:<arg choice="plain" rep="repeat">option=<replaceable>value</replaceable></arg></arg></arg> - <sbr> - <arg>--src-node=<replaceable>source-node</replaceable></arg> - <arg>--src-dir=<replaceable>source-dir</replaceable></arg> - <sbr> - - <arg choice="opt">-t<group> - <arg>diskless</arg> - <arg>plain</arg> - <arg>drbd</arg> - <arg>file</arg> - </group></arg> - <sbr> - - <arg choice="opt">--identify-defaults</arg> - <sbr> - - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Imports a new instance from an export residing on - <replaceable>source-node</replaceable> in - <replaceable>source-dir</replaceable>. - <replaceable>instance</replaceable> must be in DNS and resolve - to a IP in the same network as the nodes in the cluster. If - the source node and directory are not passed, the last backup - in the cluster is used, as visible with the - <command>list</command> command. - </para> - - <para> - The <option>disk</option> option specifies the parameters for - the disks of the instance. The numbering of disks starts at - zero. For each disk, at least the size needs to be given, and - optionally the access mode (read-only or the default of - read-write) can also be specified. The size is interpreted - (when no unit is given) in mebibytes. You can also use one of - the suffixes - <literal>m</literal>, <literal>g</literal> or - <literal>t</literal> to specificy the exact the units used; - these suffixes map to mebibytes, gibibytes and tebibytes. - </para> - - <para> - Alternatively, a single-disk instance can be created via the - <option>-s</option> option which takes a single argument, - the size of the disk. This is similar to the Ganeti 1.2 - version (but will only create one disk). - </para> - - <para> - If no disk information is passed, the disk configuration saved - at export time will be used. - </para> - - <para> - The minimum disk specification is therefore empty (export - information will be used), a single disk can be specified as - <userinput>--disk 0:size=20G</userinput> (or <userinput>-s - 20G</userinput> when using the <option>-s</option> option), - and a three-disk instance can be specified as - <userinput>--disk 0:size=20G --disk 1:size=4G --disk - 2:size=100G</userinput>. - </para> - - <para> - The NICs of the instances can be specified via the - <option>--net</option> option. By default, the NIC - configuration of the original (exported) instance will be - reused. Each NIC can take up to three parameters (all - optional): - <variablelist> - <varlistentry> - <term>mac</term> - <listitem> - <simpara>either a value or 'generate' to generate a new - unique MAC, or 'auto' to reuse the old MAC</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>ip</term> - <listitem> - <simpara>specifies the IP address assigned to the - instance from the Ganeti side (this is not necessarily - what the instance will use, but what the node expects - the instance to use)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mode</term> - <listitem> - <simpara>specifies the connection mode for this nic: - routed or bridged.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>link</term> - <listitem> - <simpara>in bridged mode specifies the bridge to attach - this NIC to, in routed mode it's intended to - differentiate between different routing tables/instance - groups (but the meaning is dependent on the network - script, see gnt-cluster(8) for more details)</simpara> - </listitem> - </varlistentry> - </variablelist> - Of these "mode" and "link" are nic parameters, and inherit their - default at cluster level. - </para> - - <para> - If no network is desired for the instance, you should create a - single empty NIC and delete it afterwards - via <command>gnt-instance modify --net delete</command>. - </para> - - <para> - The <option>-B</option> option specifies the backend - parameters for the instance. If no such parameters are - specified, the values are inherited from the export. Possible - parameters are: - <variablelist> - <varlistentry> - <term>memory</term> - <listitem> - <simpara>the memory size of the instance; as usual, - suffixes can be used to denote the unit, otherwise the - value is taken in mebibites</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>vcpus</term> - <listitem> - <simpara>the number of VCPUs to assign to the instance - (if this value makes sense for the hypervisor)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>auto_balance</term> - <listitem> - <simpara>whether the instance is considered in the N+1 - cluster checks (enough redundancy in the cluster to - survive a node failure)</simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - The <option>-t</option> options specifies the disk layout type - for the instance. If not passed, the configuration of the - original instance is used. The available choices are: - <variablelist> - <varlistentry> - <term>diskless</term> - <listitem> - <para> - This creates an instance with no disks. Its useful for - testing only (or other special cases). - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>plain</term> - <listitem> - <para>Disk devices will be logical volumes.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>drbd</term> - <listitem> - <para> - Disk devices will be drbd (version 8.x) on top of lvm - volumes. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>file</term> - <listitem> - <para>Disk devices will be backed up by files, under the - <filename - class="directory">@RPL_FILE_STORAGE_DIR@</filename>. By - default, each instance will get a directory (as its own - name) under this path, and each disk is stored as - individual files in this (instance-specific) - directory.</para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - The <option>--iallocator</option> option specifies the instance - allocator plugin to use. If you pass in this option the allocator will - select nodes for this instance automatically, so you don't need to pass - them with the <option>-n</option> option. For more information please - refer to the instance allocator documentation. - </para> - - <para> - The optional second value of the <option>--node</option> is used for - the drbd template and specifies the remote node. - </para> - - <para> - Since many of the parameters are by default read from the - exported instance information and used as such, the new - instance will have all parameters explicitly specified, the - opposite of a newly added instance which has most parameters - specified via cluster defaults. To change the import behaviour - to recognize parameters whose saved value matches the current - cluster default and mark it as such (default value), pass - the <option>--identify-defaults</option> option. This will - affect the hypervisor, backend and NIC parameters, both read - from the export file and passed in via the command line. - </para> - - <para> - Example for identical instance import: - <screen> -# gnt-backup import -n node1.example.com instance3.example.com - </screen> - </para> - <para> - Explicit configuration example: - <screen> -# gnt-backup import -t plain --disk 0:size=1G -B memory=512 \ -> -n node1.example.com \ -> instance3.example.com - </screen> - </para> - - </refsect2> - - <refsect2> - <title>LIST</title> - - <cmdsynopsis> - <command>list</command> - <arg>--node=<replaceable>NODE</replaceable></arg> - </cmdsynopsis> - - <para> - Lists the exports currently available in the default directory - in all the nodes of the current cluster, or optionally only a - subset of them specified using the <option>--node</option> - option (which can be used multiple times) - </para> - - <para> - Example: -<screen> -# gnt-backup list --nodes node1 --nodes node2 -</screen> - </para> - </refsect2> - - <refsect2> - <title>REMOVE</title> - <cmdsynopsis> - <command>remove</command> - <arg choice="req">instance_name</arg> - </cmdsynopsis> - - <para> - Removes the backup for the given instance name, if any. If the - backup was for a deleted instances, it is needed to pass the - <acronym>FQDN</acronym> of the instance, and not only the - short hostname. - </para> - - </refsect2> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/gnt-cluster.sgml b/man/gnt-cluster.sgml deleted file mode 100644 index 53e948373..000000000 --- a/man/gnt-cluster.sgml +++ /dev/null @@ -1,1051 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>gnt-cluster</refentrytitle>"> - <!ENTITY dhpackage "gnt-cluster"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti administration, cluster-wide</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg choice="req">command</arg> - <arg>arguments...</arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is used for cluster-wide - administration in the Ganeti system. - </para> - - </refsect1> - <refsect1> - <title>COMMANDS</title> - - <refsect2> - <title>ADD-TAGS</title> - - <cmdsynopsis> - <command>add-tags</command> - <arg choice="opt">--from <replaceable>file</replaceable></arg> - <arg choice="req" - rep="repeat"><replaceable>tag</replaceable></arg> - </cmdsynopsis> - - <para> - Add tags to the cluster. If any of the tags contains invalid - characters, the entire operation will abort. - </para> - - <para> - If the <option>--from</option> option is given, the list of - tags will be extended with the contents of that file (each - line becomes a tag). In this case, there is not need to pass - tags on the command line (if you do, both sources will be - used). A file name of - will be interpreted as stdin. - </para> - </refsect2> - - <refsect2> - <title>COMMAND</title> - - <cmdsynopsis> - <command>command</command> - <arg>-n <replaceable>node</replaceable></arg> - <arg choice="req"><replaceable>command</replaceable></arg> - </cmdsynopsis> - - <para> - Executes a command on all nodes. If the option - <option>-n</option> is not given, the command will be executed - on all nodes, otherwise it will be executed only on the - node(s) specified. Use the option multiple times for running - it on multiple nodes, like: - - <screen> - # gnt-cluster command -n node1.example.com -n node2.example.com date - </screen> - - </para> - - <para> - The command is executed serially on the selected nodes. If the - master node is present in the list, the command will be - executed last on the master. Regarding the other nodes, the - execution order is somewhat alphabetic, so that - node2.example.com will be earlier than node10.example.com but - after node1.example.com. - </para> - - <para> - So given the node names node1, node2, node3, node10, node11, - with node3 being the master, the order will be: node1, node2, - node10, node11, node3. - </para> - - <para> - The command is constructed by concatenating all other command - line arguments. For example, to list the contents of the - <filename class="directory">/etc</filename> directory on all - nodes, run: - - <screen> - # gnt-cluster command ls -l /etc - </screen> - - and the command which will be executed will be - <computeroutput>"ls -l /etc"</computeroutput> - </para> - </refsect2> - - <refsect2> - <title>COPYFILE</title> - - <cmdsynopsis> - <command>copyfile</command> - <arg>--use-replication-network</arg> - <arg>-n <replaceable>node</replaceable></arg> - <arg choice="req"><replaceable>file</replaceable></arg> - </cmdsynopsis> - - <para> - Copies a file to all or to some nodes. The argument specifies - the source file (on the current system), the - <option>-n</option> argument specifies the target node, or - nodes if the option is given multiple times. If - <option>-n</option> is not given at all, the file will be - copied to all nodes. - - Passing the <option>--use-replication-network</option> option - will cause the copy to be done over the replication network - (only matters if the primary/secondary IPs are different). - - Example: - <screen> - # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test - </screen> - - This will copy the file <filename>/tmp/test</filename> from - the current node to the two named nodes. - </para> - </refsect2> - - <refsect2> - <title>DESTROY</title> - - <cmdsynopsis> - <command>destroy</command> - <arg choice="req">--yes-do-it</arg> - </cmdsynopsis> - - <para> - Remove all configuration files related to the cluster, so that - a <command>gnt-cluster init</command> can be done again - afterwards. - </para> - - <para> - Since this is a dangerous command, you are required to pass - the argument <replaceable>--yes-do-it.</replaceable> - </para> - </refsect2> - - <refsect2> - <title>GETMASTER</title> - - <cmdsynopsis> - <command>getmaster</command> - </cmdsynopsis> - - <para> - Displays the current master node. - </para> - </refsect2> - - <refsect2> - <title>INFO</title> - - <cmdsynopsis> - <command>info</command> - <arg>--roman</arg> - </cmdsynopsis> - - <para> - Shows runtime cluster information: cluster name, architecture - (32 or 64 bit), master node, node list and instance list. - </para> - - <para> - Passing the <option>--roman</option> option gnt-cluster info will try - to print its integer fields in a latin friendly way. This allows - further diffusion of Ganeti among ancient cultures. - </para> - - </refsect2> - - <refsect2> - <title>INIT</title> - - <cmdsynopsis> - <command>init</command> - <sbr> - <arg>-s <replaceable>secondary_ip</replaceable></arg> - <sbr> - <arg>--vg-name <replaceable>vg-name</replaceable></arg> - <sbr> - <arg>--master-netdev <replaceable>interface-name</replaceable></arg> - <sbr> - <arg>-m <replaceable>mac-prefix</replaceable></arg> - <sbr> - <arg>--no-lvm-storage</arg> - <sbr> - <arg>--no-etc-hosts</arg> - <sbr> - <arg>--no-ssh-init</arg> - <sbr> - <arg>--file-storage-dir <replaceable>dir</replaceable></arg> - <sbr> - <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg> - <sbr> - <arg>-t <replaceable>hypervisor name</replaceable></arg> - <sbr> - <arg>--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg> - <sbr> - <arg>--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg> - <sbr> - <arg>--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg> - <sbr> - <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg> - <sbr> - <arg>--uid-pool <replaceable>user-id pool definition</replaceable></arg> - <sbr> - <arg>-I <replaceable>default instance allocator</replaceable></arg> - <sbr> - <arg>--primary-ip-version <replaceable>version</replaceable></arg> - <sbr> - <arg>--prealloc-wipe-disks <group choice="req"><arg>yes</arg><arg>no</arg></group></arg> - <sbr> - <arg choice="req"><replaceable>clustername</replaceable></arg> - </cmdsynopsis> - - <para> - This commands is only run once initially on the first node of - the cluster. It will initialize the cluster configuration and - setup ssh-keys and more. - </para> - - <para> - Note that the <replaceable>clustername</replaceable> is not - any random name. It has to be resolvable to an IP address - using DNS, and it is best if you give the fully-qualified - domain name. This hostname must resolve to an IP address - reserved exclusively for this purpose. - </para> - - <para> - The cluster can run in two modes: single-home or - dual-homed. In the first case, all traffic (both public - traffic, inter-node traffic and data replication traffic) goes - over the same interface. In the dual-homed case, the data - replication traffic goes over the second network. The - <option>-s</option> option here marks the cluster as - dual-homed and its parameter represents this node's address on - the second network. If you initialise the cluster with - <option>-s</option>, all nodes added must have a secondary IP - as well. - </para> - - <para> - Note that for Ganeti it doesn't matter if the secondary - network is actually a separate physical network, or is done - using tunneling, etc. For performance reasons, it's - recommended to use a separate network, of course. - </para> - - <para> - The <option>--vg-name</option> option will let you specify a volume group - different than "xenvg" for Ganeti to use when creating instance disks. - This volume group must have the same name on all nodes. Once the - cluster is initialized this can be altered by using the - <command>modify</command> command. If you don't want to use lvm - storage at all use the <option>--no-lvm-storage</option> option. - Once the cluster is initialized you can change this setup with the - <command>modify</command> command. - </para> - - <para> - The <option>--master-netdev</option> option is useful for specifying a - different interface on which the master will activate its IP address. - It's important that all nodes have this interface because you'll need - it for a master failover. - </para> - - <para> - The <option>-m</option> option will let you specify a three byte prefix - under which the virtual MAC addresses of your instances will be - generated. The prefix must be specified in the format XX:XX:XX and the - default is aa:00:00. - </para> - - <para> - The <option>--no-lvm-storage</option> option allows you to initialize - the cluster without lvm support. This means that only instances using - files as storage backend will be possible to create. Once the cluster - is initialized you can change this setup with the - <command>modify</command> command. - </para> - - <para> - The <option>--no-etc-hosts</option> option allows you to initialize the - cluster without modifying the <filename>/etc/hosts</filename> file. - </para> - - <para> - The <option>--no-ssh-init</option> option allows you to initialize the - cluster without creating or distributing SSH key pairs. - </para> - - <para> - The <option>--file-storage-dir</option> option allows you - set the directory to use for storing the instance disk - files when using file storage as backend for instance disks. - </para> - - <para> - The <option>--enabled-hypervisors</option> option allows you - to set the list of hypervisors that will be enabled for - this cluster. Instance hypervisors can only be chosen from - the list of enabled hypervisors, and the first entry of this list - will be used by default. Currently, the following hypervisors are - available: - </para> - - <para> - The <option>--prealloc-wipe-disks</option> sets a cluster wide - configuration value for wiping disks prior to allocation. This - increases security on instance level as the instance can't - access untouched data from it's underlying storage. - </para> - - <para> - <variablelist> - <varlistentry> - <term>xen-pvm</term> - <listitem> - <para> - Xen PVM hypervisor - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>xen-hvm</term> - <listitem> - <para> - Xen HVM hypervisor - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>kvm</term> - <listitem> - <para> - Linux KVM hypervisor - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>chroot</term> - <listitem> - <para> - a simple chroot manager that starts chroot based on a - script at the root of the filesystem holding the - chroot - <varlistentry> - <term>fake</term> - <listitem> - <para> - fake hypervisor for development/testing - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - Either a single hypervisor name or a comma-separated list of - hypervisor names can be specified. If this option is not - specified, only the xen-pvm hypervisor is enabled by default. - </para> - - <para> - The <option>--hypervisor-parameters</option> option allows you - to set default hypervisor specific parameters for the - cluster. The format of this option is the name of the - hypervisor, followed by a colon and a comma-separated list of - key=value pairs. The keys available for each hypervisors are - detailed in the <citerefentry> - <refentrytitle>gnt-instance</refentrytitle> - <manvolnum>8</manvolnum> </citerefentry> man page, in the - <command>add</command> command plus the following parameters - which are only configurable globally (at cluster level): - - <variablelist> - <varlistentry> - <term>migration_port</term> - <listitem> - <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara> - - <para> - This options specifies the TCP port to use for - live-migration. For Xen, the same port should be - configured on all nodes in - the <filename>/etc/xen/xend-config.sxp</filename> - file, under the - key <quote>xend-relocation-port</quote>. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>migration_bandwidth</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <para> - This option specifies the maximum bandwidth that KVM will - use for instance live migrations. The value is in MiB/s. - </para> - - <simpara>This option is only effective with kvm versions >= 78 - and qemu-kvm versions >= 0.10.0. - </simpara> - </listitem> - </varlistentry> - </variablelist> - - </para> - - <para> - The <option>--backend-parameters</option> option allows you to set - the default backend parameters for the cluster. The parameter - format is a comma-separated list of key=value pairs with the - following supported keys: - </para> - - <para> - <variablelist> - <varlistentry> - <term>vcpus</term> - <listitem> - <para> - Number of VCPUs to set for an instance by default, must - be an integer, will be set to 1 if no specified. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>memory</term> - <listitem> - <para> - Amount of memory to allocate for an instance by default, - can be either an integer or an integer followed by a - unit (M for mebibytes and G for gibibytes are - supported), will be set to 128M if not specified. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>auto_balance</term> - <listitem> - <para> - Value of the auto_balance flag for instances to use by - default, will be set to true if not specified. - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - The <option>--nic-parameters</option> option allows you to set - the default nic parameters for the cluster. The parameter - format is a comma-separated list of key=value pairs with the - following supported keys: - <variablelist> - <varlistentry> - <term>mode</term> - <listitem> - <para> - The default nic mode, 'routed' or 'bridged'. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>link</term> - <listitem> - <para> - In bridged mode the default NIC bridge. In routed mode it - represents an hypervisor-vif-script dependent value to allow - different instance groups. For example under the KVM default - network script it is interpreted as a routing table number or - name. - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - The option <option>--maintain-node-health</option> allows to - enable/disable automatic maintenance actions on - nodes. Currently these include automatic shutdown of instances - and deactivation of DRBD devices on offline nodes; in the - future it might be extended to automatic removal of unknown - LVM volumes, etc. - </para> - - <para> - The <option>--uid-pool</option> option initializes the user-id pool. - The <replaceable>user-id pool definition</replaceable> can contain a - list of user-ids and/or a list of user-id ranges. The parameter format - is a comma-separated list of numeric user-ids or user-id ranges. - The ranges are defined by a lower and higher boundary, separated - by a dash. The boundaries are inclusive. - If the <option>--uid-pool</option> option is not supplied, the - user-id pool is initialized to an empty list. An empty list means that - the user-id pool feature is disabled. - </para> - - <para> - The <option>-I (--default-iallocator)</option> option specifies the - default instance allocator. The instance allocator will be used for - operations like instance creation, instance and node migration, etc. - when no manual override is specified. If this option is not specified, - the default instance allocator will be blank, which means that relevant - operations will require the administrator to manually specify either an - instance allocator, or a set of nodes. - The default iallocator can be changed later using the - <command>modify</command> command. - </para> - - <para> - The <option>--primary-ip-version</option> option specifies the - IP version used for the primary address. Possible values are 4 and - 6 for IPv4 and IPv6, respectively. This option is used when resolving - node names and the cluster name. - </para> - - </refsect2> - - <refsect2> - <title>LIST-TAGS</title> - - <cmdsynopsis> - <command>list-tags</command> - </cmdsynopsis> - - <para>List the tags of the cluster.</para> - </refsect2> - - <refsect2> - <title>MASTER-FAILOVER</title> - - <cmdsynopsis> - <command>master-failover</command> - <arg>--no-voting</arg> - </cmdsynopsis> - - <para> - Failover the master role to the current node. - </para> - - <para> - The <option>--no-voting</option> option skips the remote node agreement - checks. This is dangerous, but necessary in some cases (for example - failing over the master role in a 2 node cluster with the original - master down). If the original master then comes up, it won't be able to - start its master daemon because it won't have enough votes, but so - won't the new master, if the master daemon ever needs a restart. You - can pass <option>--no-voting</option> to - <command>ganeti-masterd</command> on the new master to solve this - problem, and run <command>gnt-cluster redist-conf</command> to make - sure the cluster is consistent again. - </para> - - </refsect2> - - <refsect2> - <title>MASTER-PING</title> - - <cmdsynopsis> - <command>master-ping</command> - </cmdsynopsis> - - <para> - Checks if the master daemon is alive. - </para> - - <para> - If the master daemon is alive and can respond to a basic query - (the equivalent of <command>gnt-cluster info</command>), then - the exit code of the command will be 0. If the master daemon - is not alive (either due to a crash or because this is not the - master node), the exit code will be 1. - </para> - - </refsect2> - - <refsect2> - <title>MODIFY</title> - - <cmdsynopsis> - <command>modify</command> - <sbr> - <arg choice="opt">--vg-name <replaceable>vg-name</replaceable></arg> - <sbr> - <arg choice="opt">--no-lvm-storage</arg> - <sbr> - <arg choice="opt">--enabled-hypervisors - <replaceable>hypervisors</replaceable></arg> - <sbr> - <arg choice="opt">--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg> - <sbr> - <arg choice="opt">--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg> - <sbr> - <arg choice="opt">--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg> - <sbr> - <arg choice="opt">--uid-pool <replaceable>user-id pool definition</replaceable></arg> - <sbr> - <arg choice="opt">--add-uids <replaceable>user-id pool definition</replaceable></arg> - <sbr> - <arg choice="opt">--remove-uids <replaceable>user-id pool definition</replaceable></arg> - <sbr> - <arg choice="opt">-C <replaceable>candidate_pool_size</replaceable></arg> - <sbr> - <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg> - <sbr> - <arg choice="opt">--prealloc-wipe-disks <group choice="req"><arg>yes</arg><arg>no</arg></group></arg> - <sbr> - <arg choice="opt">-I <replaceable>default instance allocator</replaceable></arg> - - <sbr> - <arg>--reserved-lvs=<replaceable>NAMES</replaceable></arg> - - </cmdsynopsis> - - <para> - Modify the options for the cluster. - </para> - - <para> - The <option>--vg-name</option>, <option>--no-lvm-storarge</option>, - <option>--enabled-hypervisors</option>, - <option>--hypervisor-parameters</option>, - <option>--backend-parameters</option>, - <option>--nic-parameters</option>, - <option>--maintain-node-health</option>, - <option>--prealloc-wipe-disks</option>, - <option>--uid-pool</option> options are described in - the <command>init</command> command. - </para> - - <para> - The <option>-C</option> option specifies the - <varname>candidate_pool_size</varname> cluster parameter. This - is the number of nodes that the master will try to keep as - <literal>master_candidates</literal>. For more details about - this role and other node roles, see the <citerefentry> - <refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum> - </citerefentry>. If you increase the size, the master will - automatically promote as many nodes as required and possible - to reach the intended number. - </para> - - <para> - The <option>--add-uids</option> and <option>--remove-uids</option> - options can be used to modify the user-id pool by adding/removing - a list of user-ids or user-id ranges. - </para> - - <para> - The option <option>--reserved-lvs</option> specifies a list - (comma-separated) of logical volume group names (regular - expressions) that will be ignored by the cluster verify - operation. This is useful if the volume group used for Ganeti - is shared with the system for other uses. Note that it's not - recommended to create and mark as ignored logical volume names - which match Ganeti's own name format (starting with UUID and - then <literal>.diskN</literal>), as this option only skips the - verification, but not the actual use of the names given. - </para> - - <para> - To remove all reserved logical volumes, pass in an empty - argument to the option, as in <option>--reserved-lvs=</option> - or <option>--reserved-lvs ''</option>. - </para> - - <para> - The <option>-I</option> is described in - the <command>init</command> command. To clear the default - iallocator, just pass an empty string (<literal>''</literal>). - </para> - - </refsect2> - - <refsect2> - <title>QUEUE</title> - - <cmdsynopsis> - <command>queue</command> - <arg choice="opt">drain</arg> - <arg choice="opt">undrain</arg> - <arg choice="opt">info</arg> - - </cmdsynopsis> - - <para> - Change job queue properties. - </para> - - <para> - The <option>drain</option> option sets the drain flag on the - job queue. No new jobs will be accepted, but jobs already in - the queue will be processed. - </para> - - <para> - The <option>undrain</option> will unset the drain flag on the - job queue. New jobs will be accepted. - </para> - - <para> - The <option>info</option> option shows the properties of the - job queue. - </para> - </refsect2> - - <refsect2> - <title>WATCHER</title> - - <cmdsynopsis> - <command>watcher</command> - <group choice="req"> - <arg>pause <replaceable>duration</replaceable></arg> - <arg>continue</arg> - <arg>info</arg> - </group> - </cmdsynopsis> - - <para> - Make the watcher pause or let it continue. - </para> - - <para> - The <option>pause</option> option causes the watcher to pause for - <replaceable>duration</replaceable> seconds. - </para> - - <para> - The <option>continue</option> option will let the watcher continue. - </para> - - <para> - The <option>info</option> option shows whether the watcher is currently - paused. - </para> - </refsect2> - - <refsect2> - <title>redist-conf</title> - <cmdsynopsis> - <command>redist-conf</command> - <arg>--submit</arg> - </cmdsynopsis> - - <para> - This command forces a full push of configuration files from - the master node to the other nodes in the cluster. This is - normally not needed, but can be run if the - <command>verify</command> complains about configuration - mismatches. - </para> - - <para> - The <option>--submit</option> option is used to send the job - to the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - </refsect2> - <refsect2> - <title>REMOVE-TAGS</title> - - <cmdsynopsis> - <command>remove-tags</command> - <arg choice="opt">--from <replaceable>file</replaceable></arg> - <arg choice="req" - rep="repeat"><replaceable>tag</replaceable></arg> - </cmdsynopsis> - - <para> - Remove tags from the cluster. If any of the tags are not - existing on the cluster, the entire operation will abort. - </para> - - <para> - If the <option>--from</option> option is given, the list of - tags will be extended with the contents of that file (each - line becomes a tag). In this case, there is not need to pass - tags on the command line (if you do, both sources will be - used). A file name of - will be interpreted as stdin. - </para> - </refsect2> - - <refsect2> - <title>RENAME</title> - - <cmdsynopsis> - <command>rename</command> - <arg>-f</arg> - <arg choice="req"><replaceable>name</replaceable></arg> - </cmdsynopsis> - - <para> - Renames the cluster and in the process updates the master IP - address to the one the new name resolves to. At least one of - either the name or the IP address must be different, otherwise - the operation will be aborted. - </para> - - <para> - Note that since this command can be dangerous (especially when - run over SSH), the command will require confirmation unless - run with the <option>-f</option> option. - </para> - </refsect2> - - <refsect2> - <title>RENEW-CRYPTO</title> - - <cmdsynopsis> - <command>renew-crypto</command> - <arg>-f</arg> - <sbr> - <arg choice="opt">--new-cluster-certificate</arg> - <arg choice="opt">--new-confd-hmac-key</arg> - <sbr> - <arg choice="opt">--new-rapi-certificate</arg> - <arg choice="opt">--rapi-certificate <replaceable>rapi-cert</replaceable></arg> - <sbr> - <arg choice="opt">--new-cluster-domain-secret</arg> - <arg choice="opt">--cluster-domain-secret <replaceable>filename</replaceable></arg> - </cmdsynopsis> - - <para> - This command will stop all - Ganeti daemons in the cluster and start them again once the new - certificates and keys are replicated. The options - <option>--new-cluster-certificate</option> and - <option>--new-confd-hmac-key</option> can be used to regenerate the - cluster-internal SSL certificate respective the HMAC key used by - <citerefentry> - <refentrytitle>ganeti-confd</refentrytitle><manvolnum>8</manvolnum> - </citerefentry>. - </para> - - <para> - To generate a new self-signed RAPI certificate (used by <citerefentry> - <refentrytitle>ganeti-rapi</refentrytitle><manvolnum>8</manvolnum> - </citerefentry>) specify <option>--new-rapi-certificate</option>. If - you want to use your own certificate, e.g. one signed by a certificate - authority (CA), pass its filename to - <option>--rapi-certificate</option>. - </para> - - <para> - <option>--new-cluster-domain-secret</option> generates a new, random - cluster domain secret. <option>--cluster-domain-secret</option> reads - the secret from a file. The cluster domain secret is used to sign - information exchanged between separate clusters via a third party. - </para> - </refsect2> - - <refsect2> - <title>REPAIR-DISK-SIZES</title> - - <cmdsynopsis> - <command>repair-disk-sizes</command> - <arg rep="repeat">instance</arg> - </cmdsynopsis> - - <para> - This command checks that the recorded size of the given - instance's disks matches the actual size and updates any - mismatches found. This is needed if the Ganeti configuration - is no longer consistent with reality, as it will impact some - disk operations. If no arguments are given, all instances will - be checked. - </para> - - <para> - Note that only active disks can be checked by this command; in - case a disk cannot be activated it's advised to use - <command>gnt-instance activate-disks --ignore-size ...</command> to - force activation without regard to the - current size. - </para> - - <para> - When the all disk sizes are consistent, the command will - return no output. Otherwise it will log details about the - inconsistencies in the configuration. - </para> - </refsect2> - - <refsect2> - <title>SEARCH-TAGS</title> - - <cmdsynopsis> - <command>search-tags</command> - <arg choice="req"><replaceable>pattern</replaceable></arg> - </cmdsynopsis> - - <para> - Searches the tags on all objects in the cluster (the cluster - itself, the nodes and the instances) for a given pattern. The - pattern is interpreted as a regular expression and a search - will be done on it (i.e. the given pattern is not anchored to - the beggining of the string; if you want that, prefix the - pattern with <literal>^</literal>). - </para> - - <para> - If no tags are matching the pattern, the exit code of the - command will be one. If there is at least one match, the exit - code will be zero. Each match is listed on one line, the - object and the tag separated by a space. The cluster will be - listed as <filename>/cluster</filename>, a node will be listed - as - <filename>/nodes/<replaceable>name</replaceable></filename>, - and an instance as - <filename>/instances/<replaceable>name</replaceable></filename>. - Example: - </para> -<screen> -# gnt-cluster search-tags time -/cluster ctime:2007-09-01 -/nodes/node1.example.com mtime:2007-10-04 -</screen> - </refsect2> - - <refsect2> - <title>VERIFY</title> - - <cmdsynopsis> - <command>verify</command> - <arg choice="opt">--no-nplus1-mem</arg> - </cmdsynopsis> - - <para> - Verify correctness of cluster configuration. This is safe with - respect to running instances, and incurs no downtime of the - instances. - </para> - - <para> - If the <option>--no-nplus1-mem</option> option is given, Ganeti won't - check whether if it loses a node it can restart all the instances on - their secondaries (and report an error otherwise). - </para> - </refsect2> - - <refsect2> - <title>VERIFY-DISKS</title> - - <cmdsynopsis> - <command>verify-disks</command> - </cmdsynopsis> - - <para> - The command checks which instances have degraded DRBD disks - and activates the disks of those instances. - </para> - - <para> - This command is run from the <command>ganeti-watcher</command> - tool, which also has a different, complementary algorithm for - doing this check. Together, these two should ensure that DRBD - disks are kept consistent. - </para> - </refsect2> - - <refsect2> - <title>VERSION</title> - - <cmdsynopsis> - <command>version</command> - </cmdsynopsis> - - <para> - Show the cluster version. - </para> - </refsect2> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/gnt-debug.sgml b/man/gnt-debug.sgml deleted file mode 100644 index c117226cc..000000000 --- a/man/gnt-debug.sgml +++ /dev/null @@ -1,286 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>gnt-debug</refentrytitle>"> - <!ENTITY dhpackage "gnt-debug"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Debug commands</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg choice="req">command</arg> - <arg>arguments...</arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is used for debugging the - Ganeti system. - </para> - - </refsect1> - <refsect1> - <title>COMMANDS</title> - - <refsect2> - <title>ALLOCATOR</title> - - <cmdsynopsis> - <command>allocator</command> - <arg>--debug</arg> - <arg>--dir <replaceable>DIRECTION</replaceable></arg> - <arg choice="req">--algorithm <replaceable>ALLOCATOR</replaceable> - </arg> - <arg>--mode <replaceable>MODE</replaceable></arg> - <arg>--mem <replaceable>MEMORY</replaceable></arg> - <arg>--disks <replaceable>DISKS</replaceable></arg> - <arg>--disk-template <replaceable>TEMPLATE</replaceable></arg> - <arg>--nics <replaceable>NICS</replaceable></arg> - <arg>--os-type <replaceable>OS</replaceable></arg> - <arg>--vcpus <replaceable>VCPUS</replaceable></arg> - <arg>--tags <replaceable>TAGS</replaceable></arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Executes a test run of the <emphasis>iallocator</emphasis> framework. - </para> - - <para> - The command will build input for a given iallocator script - (named with the <option>--algorithm</option> option), and - either show this input data (if - <replaceable>DIRECTION</replaceable> is - <emphasis>in</emphasis>) or run the iallocator script and show - its output (if <replaceable>DIRECTION</replaceable> is - <emphasis>out</emphasis>). - </para> - - <para> - If the <replaceable>MODE</replaceable> is - <emphasis>allocate</emphasis>, then an instance definition is - built from the other arguments and sent to the script, - otherwise (<replaceable>MODE</replaceable> is - <emphasis>relocate</emphasis>) an existing instance name must - be passed as the first argument. - </para> - - <para> - This build of Ganeti will look for iallocator scripts in the - following directories: <filename - class="directory">@CUSTOM_IALLOCATOR_SEARCH_PATH@</filename>; - for more details about this framework, see the HTML or PDF - documentation. - </para> - </refsect2> - - <refsect2> - <title>DELAY</title> - - <cmdsynopsis> - <command>delay</command> - <arg>--debug</arg> - <arg>--no-master</arg> - <arg choice="opt" rep="repeat">-n <replaceable>NODE</replaceable></arg> - <arg choice="req"><replaceable>duration</replaceable></arg> - </cmdsynopsis> - - <para> - Run a test opcode (a sleep) on the master and on selected nodes - (via an RPC call). This serves no other purpose but to execute a - test operation. - </para> - - <para> - The <option>-n</option> option can be given multiple times to - select the nodes for the RPC call. By default, the delay will - also be executed on the master, unless the - <option>--no-master</option> option is passed. - </para> - - <para> - The <replaceable>delay</replaceable> argument will be - interpreted as a floating point number. - </para> - - </refsect2> - - <refsect2> - <title>SUBMIT-JOB</title> - - <cmdsynopsis> - <command>submit-job</command> - <arg choice="opt">--verbose</arg> - <arg choice="opt">--timing-stats</arg> - <arg choice="opt">--job-repeat <option>N</option></arg> - <arg choice="opt">--op-repeat <option>N</option></arg> - <arg choice="req" rep="repeat">opcodes_file</arg> - </cmdsynopsis> - - <para> - This command builds a list of opcodes from files in JSON format - and submits a job per file to the master daemon. It can be used - to test options that are not available via command line. - </para> - - <para> - The <option>verbose</option> option will additionally display - the corresponding job IDs and the progress in waiting for the - jobs; the <option>timing-stats</option> option will show some - overall statistics inluding the number of total opcodes, jobs - submitted and time spent in each stage (submit, exec, total). - </para> - - <para> - The <option>job-repeat</option> and <option>op-repeat</option> - options allow to submit multiple copies of the passed arguments; - job-repeat will cause N copies of each job (input file) to be - submitted (equivalent to passing the arguments N times) while - op-repeat will cause N copies of each of the opcodes in the file - to be executed (equivalent to each file containing N copies of - the opcodes). - </para> - - </refsect2> - - <refsect2> - <title>TEST-JOBQUEUE</title> - - <cmdsynopsis> - <command>test-jobqueue</command> - </cmdsynopsis> - - <para> - Executes a few tests on the job queue. This command might generate - failed jobs deliberately. - </para> - </refsect2> - - <refsect2> - <title>LOCKS</title> - <cmdsynopsis> - <command>locks</command> - <arg>--no-headers</arg> - <arg>--separator=<replaceable>SEPARATOR</replaceable></arg> - <sbr> - <arg>-o <replaceable>[+]FIELD,...</replaceable></arg> - <arg>--interval=<replaceable>SECONDS</replaceable></arg> - <sbr> - </cmdsynopsis> - - <para> - Shows a list of locks in the master daemon. - </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 <option>-o</option> option takes a comma-separated list of - output fields. The available fields and their meaning are: - <variablelist> - <varlistentry> - <term>name</term> - <listitem> - <simpara>Lock name</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mode</term> - <listitem> - <simpara> - Mode in which the lock is currently acquired (exclusive or - shared) - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>owner</term> - <listitem> - <simpara>Current lock owner(s)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>pending</term> - <listitem> - <simpara>Threads waiting for the lock</simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - If the value of the option starts with the character - <constant>+</constant>, the new fields will be added to the default - list. This allows to quickly see the default list plus a few other - fields, instead of retyping the entire list of fields. - </para> - - <para> - Use <option>--interval</option> to repeat the listing. A delay - specified by the option value in seconds is inserted. - </para> - - </refsect2> - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/gnt-instance.sgml b/man/gnt-instance.sgml deleted file mode 100644 index 565b22a35..000000000 --- a/man/gnt-instance.sgml +++ /dev/null @@ -1,2676 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>gnt-instance</refentrytitle>"> - <!ENTITY dhpackage "gnt-instance"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Ganeti instance administration</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg choice="req">command</arg> - <arg>arguments...</arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is used for instance - administration in the Ganeti system. - </para> - - </refsect1> - <refsect1> - <title>COMMANDS</title> - - <refsect2> - <title>Creation/removal/querying</title> - - <refsect3> - <title>ADD</title> - <cmdsynopsis> - <command>add</command> - <sbr> - <arg choice="req">-t<group choice="req"> - <arg>diskless</arg> - <arg>file</arg> - <arg>plain</arg> - <arg>drbd</arg> - </group></arg> - <sbr> - - <group choice="req"> - <arg rep="repeat">--disk=<replaceable>N</replaceable>:<group choice="req"> - <arg>size=<replaceable>VAL</replaceable></arg> - <arg>adopt=<replaceable>LV</replaceable></arg> - </group>,mode=<replaceable>ro|rw</replaceable></arg> - <arg>-s <replaceable>SIZE</replaceable></arg> - </group> - <sbr> - <arg>--no-ip-check</arg> - <arg>--no-name-check</arg> - <arg>--no-start</arg> - <arg>--no-install</arg> - <sbr> - <group> - <arg rep="repeat">--net=<replaceable>N</replaceable><arg rep="repeat">:options</arg></arg> - <arg>--no-nics</arg> - </group> - <sbr> - <arg>-B <replaceable>BEPARAMS</replaceable></arg> - <sbr> - - <arg>-H <replaceable>HYPERVISOR</replaceable><arg>:<arg choice="plain" rep="repeat">option=<replaceable>value</replaceable></arg></arg></arg> - <sbr> - - <arg>--file-storage-dir <replaceable>dir_path</replaceable></arg> - <arg>--file-driver<group choice="req"> - <arg>loop</arg> - <arg>blktap</arg> - </group></arg> - <sbr> - - <group choice="req"> - <arg>-n <replaceable>node<optional>:secondary-node</optional></replaceable></arg> - <arg>--iallocator <replaceable>name</replaceable></arg> - </group> - <sbr> - - <arg choice="req">-o <replaceable>os-type</replaceable></arg> - <sbr> - <arg>--submit</arg> - <sbr> - - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Creates a new instance on the specified host. The - <replaceable>instance</replaceable> argument must be in DNS, - but depending on the bridge/routing setup, need not be in - the same network as the nodes in the cluster. - </para> - - <para> - The <option>disk</option> option specifies the parameters - for the disks of the instance. The numbering of disks starts - at zero, and at least one disk needs to be passed. For each - disk, either the size or the adoption source needs to be - given, and optionally the access mode (read-only or the - default of read-write) can also be specified. The size is - interpreted (when no unit is given) in mebibytes. You can - also use one of the suffixes - <literal>m</literal>, <literal>g</literal> or - <literal>t</literal> to specify the exact the units used; - these suffixes map to mebibytes, gibibytes and tebibytes. - </para> - - <para> - When using the <option>adopt</option> key in the disk - definition, Ganeti will reuse those volumes (instead of - creating new ones) as the instance's disks. Ganeti will - rename these volumes to the standard format, and (without - installing the OS) will use them as-is for the - instance. This allows migrating instances from non-managed - mode (e.q. plain KVM with LVM) to being managed via - Ganeti. Note that this works only for the `plain' disk - template (see below for template details). - </para> - - <para> - Alternatively, a single-disk instance can be created via the - <option>-s</option> option which takes a single argument, - the size of the disk. This is similar to the Ganeti 1.2 - version (but will only create one disk). - </para> - - <para> - The minimum disk specification is therefore - <userinput>--disk 0:size=20G</userinput> (or <userinput>-s - 20G</userinput> when using the <option>-s</option> option), - and a three-disk instance can be specified as - <userinput>--disk 0:size=20G --disk 1:size=4G --disk - 2:size=100G</userinput>. - </para> - - <para> - The <option>--no-ip-check</option> skips the checks that are - done to see if the instance's IP is not already alive - (i.e. reachable from the master node). - </para> - - <para> - The <option>--no-name-check</option> skips the check for the - instance name via the resolver (e.g. in DNS or /etc/hosts, - depending on your setup). Since the name check is used to - compute the IP address, if you pass this option you must - also pass the <option>--no-ip-check</option> option. - </para> - - <para> - If you don't wat the instance to automatically start after - creation, this is possible via the - <option>--no-start</option> option. This will leave the - instance down until a subsequent <command>gnt-instance - start</command> command. - </para> - - <para> - The NICs of the instances can be specified via the - <option>--net</option> option. By default, one NIC is - created for the instance, with a random MAC, and set - up according the the cluster level nic parameters. - Each NIC can take these parameters (all optional): - <variablelist> - <varlistentry> - <term>mac</term> - <listitem> - <simpara>either a value or 'generate' to generate a - new unique MAC</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>ip</term> - <listitem> - <simpara>specifies the IP address assigned to the - instance from the Ganeti side (this is not necessarily - what the instance will use, but what the node expects - the instance to use)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mode</term> - <listitem> - <simpara>specifies the connection mode for this nic: - routed or bridged.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>link</term> - <listitem> - <simpara>in bridged mode specifies the bridge to attach - this NIC to, in routed mode it's intended to - differentiate between different routing tables/instance - groups (but the meaning is dependent on the network - script, see gnt-cluster(8) for more details)</simpara> - </listitem> - </varlistentry> - </variablelist> - Of these "mode" and "link" are nic parameters, and inherit their - default at cluster level. - </para> - - <para> - Alternatively, if no network is desired for the instance, you - can prevent the default of one NIC with the - <option>--no-nics</option> option. - </para> - - <para> - The <option>-o</option> options specifies the operating - system to be installed. The available operating systems can - be listed with <command>gnt-os - list</command>. Passing <option>--no-install</option> will - however skip the OS installation, allowing a manual import - if so desired. Note that the no-installation mode will - automatically disable the start-up of the instance (without - an OS, it most likely won't be able to start-up - successfully). - </para> - - <para> - The <option>-B</option> option specifies the backend - parameters for the instance. If no such parameters are - specified, the values are inherited from the cluster. Possible - parameters are: - <variablelist> - <varlistentry> - <term>memory</term> - <listitem> - <simpara>the memory size of the instance; as usual, - suffixes can be used to denote the unit, otherwise the - value is taken in mebibites</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>vcpus</term> - <listitem> - <simpara>the number of VCPUs to assign to the instance - (if this value makes sense for the hypervisor)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>auto_balance</term> - <listitem> - <simpara>whether the instance is considered in the N+1 - cluster checks (enough redundancy in the cluster to - survive a node failure)</simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - The <option>-H</option> option specified the hypervisor to - use for the instance (must be one of the enabled hypervisors - on the cluster) and optionally custom parameters for this - instance. If not other options are used (i.e. the invocation - is just <userinput>-H - <replaceable>NAME</replaceable></userinput>) the instance - will inherit the cluster options. The defaults below show - the cluster defaults at cluster creation time. - </para> - - <para> - The possible hypervisor options are as follows: - <variablelist> - <varlistentry> - <term>boot_order</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM - hypervisors.</simpara> - - <simpara>A string value denoting the boot order. This - has different meaning for the Xen HVM hypervisor and - for the KVM one.</simpara> - - <simpara> - For Xen HVM, The boot order is a string of letters - listing the boot devices, with valid device letters - being: - </simpara> - <variablelist> - <varlistentry> - <term>a</term> - <listitem> - <para> - floppy drive - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>c</term> - <listitem> - <para> - hard disk - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>d</term> - <listitem> - <para> - CDROM drive - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>n</term> - <listitem> - <para> - network boot (PXE) - </para> - </listitem> - </varlistentry> - </variablelist> - <simpara> - The default is not to set an HVM boot order which is - interpreted as 'dc'. - </simpara> - - <simpara> - For KVM the boot order is either - <quote>cdrom</quote>, <quote>disk</quote> or - <quote>network</quote>. Please note that older - versions of KVM couldn't netboot from virtio - interfaces. This has been fixed in more recent - versions and is confirmed to work at least with - qemu-kvm 0.11.1. - </simpara> - - </listitem> - </varlistentry> - <varlistentry> - <term>cdrom_image_path</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara> - - <simpara>The path to a CDROM image to attach to the - instance.</simpara> - - </listitem> - </varlistentry> - <varlistentry> - <term>nic_type</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara> - - <para> - This parameter determines the way the network cards - are presented to the instance. The possible options are: - <simplelist> - <member>rtl8139 (default for Xen HVM) (HVM & KVM)</member> - <member>ne2k_isa (HVM & KVM)</member> - <member>ne2k_pci (HVM & KVM)</member> - <member>i82551 (KVM)</member> - <member>i82557b (KVM)</member> - <member>i82559er (KVM)</member> - <member>pcnet (KVM)</member> - <member>e1000 (KVM)</member> - <member>paravirtual (default for KVM) (HVM & KVM)</member> - </simplelist> - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>disk_type</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara> - - <para> - This parameter determines the way the disks are - presented to the instance. The possible options are: - <simplelist> - <member>ioemu (default for HVM & KVM) (HVM & KVM)</member> - <member>ide (HVM & KVM)</member> - <member>scsi (KVM)</member> - <member>sd (KVM)</member> - <member>mtd (KVM)</member> - <member>pflash (KVM)</member> - </simplelist> - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>vnc_bind_address</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara> - - <para>Specifies the address that the VNC listener for - this instance should bind to. Valid values are IPv4 - addresses. Use the address 0.0.0.0 to bind to all - available interfaces (this is the default) or specify - the address of one of the interfaces on the node to - restrict listening to that interface.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>vnc_tls</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>A boolean option that controls whether the - VNC connection is secured with TLS.</simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>vnc_x509_path</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <para>If <option>vnc_tls</option> is enabled, this - options specifies the path to the x509 certificate to - use.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>vnc_x509_verify</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>acpi</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara> - - <para> - A boolean option that specifies if the hypervisor - should enable ACPI support for this instance. By - default, ACPI is disabled. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>pae</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara> - - <para> - A boolean option that specifies if the hypervisor - should enabled PAE support for this instance. The - default is false, disabling PAE support. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>use_localtime</term> - <listitem> - <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara> - - <para> - A boolean option that specifies if the instance - should be started with its clock set to the - localtime of the machine (when true) or to the UTC - (When false). The default is false, which is useful - for Linux/Unix machines; for Windows OSes, it is - recommended to enable this parameter. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>kernel_path</term> - <listitem> - <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara> - - <para> - This option specifies the path (on the node) to the - kernel to boot the instance with. Xen PVM instances - always require this, while for KVM if this option is - empty, it will cause the machine to load the kernel - from its disks. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>kernel_args</term> - <listitem> - <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara> - - <para> - This options specifies extra arguments to the kernel - that will be loaded. device. This is always used - for Xen PVM, while for KVM it is only used if the - <option>kernel_path</option> option is also - specified. - </para> - - <para> - The default setting for this value is simply - <constant>"ro"</constant>, which mounts the root - disk (initially) in read-only one. For example, - setting this to <userinput>single</userinput> will - cause the instance to start in single-user mode. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>initrd_path</term> - <listitem> - <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara> - - <para> - This option specifies the path (on the node) to the - initrd to boot the instance with. Xen PVM instances - can use this always, while for KVM if this option is - only used if the <option>kernel_path</option> option - is also specified. You can pass here either an - absolute filename (the path to the initrd) if you - want to use an initrd, or use the format - <userinput>no_initrd_path</userinput> for no initrd. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>root_path</term> - <listitem> - <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara> - - <para> - This options specifies the name of the root - device. This is always needed for Xen PVM, while for - KVM it is only used if the - <option>kernel_path</option> option is also - specified. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>serial_console</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>This boolean option specifies whether to - emulate a serial console for the instance.</simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>disk_cache</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>The disk cache mode. It can be either - <userinput>default</userinput> to not pass any cache - option to KVM, or one of the KVM cache modes: none - (for direct I/O), writethrough (to use the host cache - but report completion to the guest only when the host - has committed the changes to disk) or writeback (to - use the host cache and report completion as soon as - the data is in the host cache). Note that there are - special considerations for the cache mode depending on - version of KVM used and disk type (always raw file - under Ganeti), please refer to the KVM documentation - for more details. - </simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>security_model</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>The security model for kvm. Currently one of - <quote>none</quote>, <quote>user</quote> or - <quote>pool</quote>. Under <quote>none</quote>, the - default, nothing is done and instances are run as - the Ganeti daemon user (normally root). - </simpara> - - <simpara>Under <quote>user</quote> kvm will drop - privileges and become the user specified by the - security_domain parameter. - </simpara> - - <simpara>Under <quote>pool</quote> a global cluster - pool of users will be used, making sure no two - instances share the same user on the same node. - (this mode is not implemented yet) - </simpara> - - </listitem> - </varlistentry> - - <varlistentry> - <term>security_domain</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>Under security model <quote>user</quote> the - username to run the instance under. It must be a valid - username existing on the host. - </simpara> - <simpara>Cannot be set under security model <quote>none</quote> - or <quote>pool</quote>. - </simpara> - - </listitem> - </varlistentry> - - <varlistentry> - <term>kvm_flag</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>If <quote>enabled</quote> the -enable-kvm flag is - passed to kvm. If <quote>disabled</quote> -disable-kvm is - passed. If unset no flag is passed, and the default running - mode for your kvm binary will be used. - </simpara> - - </listitem> - </varlistentry> - - <varlistentry> - <term>mem_path</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>This option passes the -mem-path argument to kvm with - the path (on the node) to the mount point of the hugetlbfs - file system, along with the -mem-prealloc argument too. - </simpara> - - </listitem> - </varlistentry> - - <varlistentry> - <term>use_chroot</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>This boolean option determines wether to run the KVM - instance in a chroot directory. - </simpara> - <para>If it is set to <quote>true</quote>, an empty directory - is created before starting the instance and its path is passed via - the -chroot flag to kvm. - The directory is removed when the instance is stopped. - </para> - - <simpara>It is set to <quote>false</quote> by default.</simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>migration_downtime</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>The maximum amount of time (in ms) a KVM instance is - allowed to be frozen during a live migration, in order to copy - dirty memory pages. Default value is 30ms, but you may need to - increase this value for busy instances. - </simpara> - - <simpara>This option is only effective with kvm versions >= 87 - and qemu-kvm versions >= 0.11.0. - </simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>use_chroot</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>This boolean option determines wether to run the KVM - instance in a chroot directory. - </simpara> - - <para>If it is set to <quote>true</quote>, an empty - directory is created before starting the instance and - its path is passed via the <option>-chroot</option> - flag to kvm. The directory is removed when the - instance is stopped. - </para> - - <simpara>It is set to <quote>false</quote> by - default.</simpara> - - </listitem> - </varlistentry> - - <varlistentry> - <term>cpu_mask</term> - <listitem> - <simpara>Valid for the LXC hypervisor.</simpara> - - <simpara>The processes belonging to the given instance are - only scheduled on the specified CPUs. - </simpara> - - <simpara> - The parameter format is a comma-separated list of CPU IDs or - CPU ID ranges. The ranges are defined by a lower and higher - boundary, separated by a dash. The boundaries are inclusive. - </simpara> - - </listitem> - </varlistentry> - - <varlistentry> - <term>usb_mouse</term> - <listitem> - <simpara>Valid for the KVM hypervisor.</simpara> - - <simpara>This option specifies the usb mouse type to be used. - It can be <quote>mouse</quote> or <quote>tablet</quote>. When - using VNC it's recommended to set it to <quote>tablet</quote>. - </simpara> - </listitem> - </varlistentry> - - </variablelist> - - </para> - - <para> - The <option>--iallocator</option> option specifies the instance - allocator plugin to use. If you pass in this option the allocator - will select nodes for this instance automatically, so you don't need - to pass them with the <option>-n</option> option. For more - information please refer to the instance allocator documentation. - </para> - - <para> - The <option>-t</option> options specifies the disk layout type for - the instance. The available choices are: - <variablelist> - <varlistentry> - <term>diskless</term> - <listitem> - <para> - This creates an instance with no disks. Its useful for - testing only (or other special cases). - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>file</term> - <listitem> - <para>Disk devices will be regular files.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>plain</term> - <listitem> - <para>Disk devices will be logical volumes.</para> - </listitem> - </varlistentry> - <varlistentry> - <term>drbd</term> - <listitem> - <para> - Disk devices will be drbd (version 8.x) on top of - lvm volumes. - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - The optional second value of the <option>--node</option> is used for - the drbd template type and specifies the remote node. - </para> - - <para> - If you do not want gnt-instance to wait for the disk mirror - to be synced, use the <option>--no-wait-for-sync</option> - option. - </para> - - <para> - The <option>--file-storage-dir</option> specifies the relative path - under the cluster-wide file storage directory to store file-based - disks. It is useful for having different subdirectories for - different instances. The full path of the directory where the disk - files are stored will consist of cluster-wide file storage directory - + optional subdirectory + instance name. Example: - /srv/ganeti/file-storage/mysubdir/instance1.example.com. This option - is only relevant for instances using the file storage backend. - </para> - - <para> - The <option>--file-driver</option> specifies the driver to use for - file-based disks. Note that currently these drivers work with the - xen hypervisor only. This option is only relevant for instances using - the file storage backend. The available choices are: - <variablelist> - <varlistentry> - <term>loop</term> - <listitem> - <para> - Kernel loopback driver. This driver uses loopback - devices to access the filesystem within the - file. However, running I/O intensive applications in - your instance using the loop driver might result in - slowdowns. Furthermore, if you use the loopback - driver consider increasing the maximum amount of - loopback devices (on most systems it's 8) using the - max_loop param. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term>blktap</term> - <listitem> - <para>The blktap driver (for Xen hypervisors). In - order to be able to use the blktap driver you should - check if the 'blktapctrl' user space disk agent is - running (usually automatically started via xend). This - user-level disk I/O interface has the advantage of - better performance. Especially if you use a network - file system (e.g. NFS) to store your instances this is - the recommended choice. - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - Example: - <screen> -# gnt-instance add -t file --disk 0:size=30g -B memory=512 -o debian-etch \ - -n node1.example.com --file-storage-dir=mysubdir instance1.example.com -# gnt-instance add -t plain --disk 0:size=30g -B memory=512 -o debian-etch \ - -n node1.example.com instance1.example.com -# gnt-instance add -t drbd --disk 0:size=30g -B memory=512 -o debian-etch \ - -n node1.example.com:node2.example.com instance2.example.com - </screen> - </para> - </refsect3> - - <refsect3> - <title>BATCH-CREATE</title> - <cmdsynopsis> - <command>batch-create</command> - <arg choice="req">instances_file.json</arg> - </cmdsynopsis> - - <para> - This command (similar to the Ganeti 1.2 - <command>batcher</command> tool) submits multiple instance - creation jobs based on a definition file. The instance - configurations do not encompass all the possible options for - the <command>add</command> command, but only a subset. - </para> - - <para> - The instance file should be a valid-formed JSON file, - containing a dictionary with instance name and instance - parameters. The accepted parameters are: - - <variablelist> - <varlistentry> - <term>disk_size</term> - <listitem> - <simpara>The size of the disks of the instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>disk_template</term> - <listitem> - <simpara>The disk template to use for the instance, - the same as in the <command>add</command> - command.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>backend</term> - <listitem> - <simpara>A dictionary of backend parameters.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>hypervisor</term> - <listitem> - <simpara>A dictionary with a single key (the - hypervisor name), and as value the hypervisor - options. If not passed, the default hypervisor and - hypervisor options will be inherited.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mac, ip, mode, link</term> - <listitem> - <simpara>Specifications for the one NIC that will be - created for the instance. 'bridge' is also accepted - as a backwards compatibile key.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nics</term> - <listitem> - <simpara>List of nics that will be created for the - instance. Each entry should be a dict, with mac, ip, mode - and link as possible keys. Please don't provide the "mac, - ip, mode, link" parent keys if you use this method for - specifying nics.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>primary_node, secondary_node</term> - <listitem> - <simpara>The primary and optionally the secondary node - to use for the instance (in case an iallocator script - is not used).</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>iallocator</term> - <listitem> - <simpara>Instead of specifying the nodes, an - iallocator script can be used to automatically compute - them.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>start</term> - <listitem> - <simpara>whether to start the instance</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>ip_check</term> - <listitem> - <simpara>Skip the check for already-in-use instance; - see the description in the <command>add</command> - command for details.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>name_check</term> - <listitem> - <simpara>Skip the name check for instances; - see the description in the <command>add</command> - command for details.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>file_storage_dir, file_driver</term> - <listitem> - <simpara>Configuration for the <literal>file</literal> - disk type, see the <command>add</command> command for - details.</simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - A simple definition for one instance can be (with most of - the parameters taken from the cluster defaults): - <screen> -{ - "instance3": { - "template": "drbd", - "os": "debootstrap", - "disk_size": ["25G"], - "iallocator": "dumb" - }, - "instance5": { - "template": "drbd", - "os": "debootstrap", - "disk_size": ["25G"], - "iallocator": "dumb", - "hypervisor": "xen-hvm", - "hvparams": {"acpi": true}, - "backend": {"memory": 512} - } -} -</screen> - </para> - - <para> - The command will display the job id for each submitted - instance, as follows: - <screen> -# gnt-instance batch-create instances.json -instance3: 11224 -instance5: 11225 -</screen> - </para> - - </refsect3> - - <refsect3> - <title>REMOVE</title> - - <cmdsynopsis> - <command>remove</command> - <arg>--ignore-failures</arg> - <arg>--shutdown-timeout=<replaceable>N</replaceable></arg> - <arg>--submit</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Remove an instance. This will remove all data from the - instance and there is <emphasis>no way back</emphasis>. If - you are not sure if you use an instance again, use - <command>shutdown</command> first and leave it in the - shutdown state for a while. - - </para> - - <para> - The <option>--ignore-failures</option> option will cause the - removal to proceed even in the presence of errors during the - removal of the instance (e.g. during the shutdown or the - disk removal). If this option is not given, the command will - stop at the first error. - </para> - - <para> - The <option>--shutdown-timeout</option> is used to specify how - much time to wait before forcing the shutdown (xm destroy in xen, - killing the kvm process, for kvm). By default two minutes are - given to each instance to stop. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - Example: - <screen> -# gnt-instance remove instance1.example.com - </screen> - </para> - </refsect3> - - <refsect3> - <title>LIST</title> - - <cmdsynopsis> - <command>list</command> - <arg>--no-headers</arg> - <arg>--separator=<replaceable>SEPARATOR</replaceable></arg> - <sbr> - <arg>--units=<replaceable>UNITS</replaceable></arg> - <arg>-o <replaceable>[+]FIELD,...</replaceable></arg> - <arg>--roman</arg> - <arg rep="repeat">instance</arg> - </cmdsynopsis> - - <para> - Shows the currently configured instances with memory usage, - disk usage, the node they are running on, and their run - status. - </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>--roman</option> option allows latin people to better - understand the cluster instances' status. - </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>name</term> - <listitem> - <simpara>the instance name</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>os</term> - <listitem> - <simpara>the OS of the instance</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>pnode</term> - <listitem> - <simpara>the primary node of the instance</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>snodes</term> - <listitem> - <simpara>comma-separated list of secondary nodes for the - instance; usually this will be just one node</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>admin_state</term> - <listitem> - <simpara>the desired state of the instance (either "yes" - or "no" denoting the instance should run or - not)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>disk_template</term> - <listitem> - <simpara>the disk template of the instance</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>oper_state</term> - <listitem> - <simpara>the actual state of the instance; can be - one of the values "running", "stopped", "(node - down)"</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>status</term> - <listitem> - <simpara>combined form of admin_state and oper_stat; - this can be one of: - <computeroutput>ERROR_nodedown</computeroutput> if the - node of the instance is down, - <computeroutput>ERROR_down</computeroutput> if the - instance should run but is down, - <computeroutput>ERROR_up</computeroutput> if the - instance should be stopped but is actually running, - <computeroutput>ADMIN_down</computeroutput> if the - instance has been stopped (and is stopped) and - <computeroutput>running</computeroutput> if the - instance is set to be running (and is - running)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>oper_ram</term> - <listitem> - <simpara>the actual memory usage of the instance as seen - by the hypervisor</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>oper_vcpus</term> - <listitem> - <simpara>the actual number of VCPUs the instance is using - as seen by the hypervisor</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>ip</term> - <listitem> - <simpara>the ip address Ganeti recognizes as associated with - the first instance interface</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mac</term> - <listitem> - <simpara>the first instance interface MAC address</simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>nic_mode</term> - <listitem> - <simpara>the mode of the first instance NIC - (routed or bridged)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic_link</term> - <listitem> - <simpara>the link of the first instance NIC - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>sda_size</term> - <listitem> - <simpara>the size of the instance's first disk</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>sdb_size</term> - <listitem> - <simpara>the size of the instance's second disk, if - any</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>vcpus</term> - <listitem> - <simpara>the number of VCPUs allocated to the - instance</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>tags</term> - <listitem> - <simpara>comma-separated list of the instances's - tags</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>serial_no</term> - <listitem> - <simpara>the so called 'serial number' of the - instance; this is a numeric field that is incremented - each time the instance is modified, and it can be used - to track modifications</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>ctime</term> - <listitem> - <para> - the creation time of the instance; 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 instance; 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 instance (generated - automatically by Ganeti)</simpara> - </listitem> - </varlistentry> - - <varlistentry> - <term>network_port</term> - <listitem> - <simpara>If the instance has a network port assigned - to it (e.g. for VNC connections), this will be shown, - otherwise <literal>-</literal> will be - displayed.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>beparams</term> - <listitem> - <simpara>A text format of the entire beparams for the - instance. It's more useful to select individual fields - from this dictionary, see below.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>disk.count</term> - <listitem> - <simpara>The number of instance disks.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>disk.size/N</term> - <listitem> - <simpara>The size of the instance's Nth disk. This is - a more generic form of the <literal>sda_size</literal> - and <literal>sdb_size</literal> fields.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>disk.sizes</term> - <listitem> - <simpara>A comma-separated list of the disk sizes for - this instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>disk_usage</term> - <listitem> - <simpara>The total disk space used by this instance on - each of its nodes. This is not the instance-visible - disk size, but the actual disk "cost" of the - instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.mac/N</term> - <listitem> - <simpara>The MAC of the Nth instance NIC.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.ip/N</term> - <listitem> - <simpara>The IP address of the Nth instance NIC.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.mode/N</term> - <listitem> - <simpara>The mode of the Nth instance NIC</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.link/N</term> - <listitem> - <simpara>The link of the Nth instance NIC</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.macs</term> - <listitem> - <simpara>A comma-separated list of all the MACs of the - instance's NICs.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.ips</term> - <listitem> - <simpara>A comma-separated list of all the IP - addresses of the instance's NICs.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.modes</term> - <listitem> - <simpara>A comma-separated list of all the modes of the - instance's NICs.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.links</term> - <listitem> - <simpara>A comma-separated list of all the link parameters - of the instance's NICs.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>nic.count</term> - <listitem> - <simpara>The number of instance nics.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>hv/<replaceable>NAME</replaceable></term> - <listitem> - <simpara>The value of the hypervisor parameter called - <replaceable>NAME</replaceable>. For details of what - hypervisor parameters exist and their meaning, see the - <command>add</command> command.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>be/memory</term> - <listitem> - <simpara>The configured memory for the instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>be/vcpus</term> - <listitem> - <simpara>The configured number of VCPUs for the - instance.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>be/auto_balance</term> - <listitem> - <simpara>Whether the instance is considered in N+1 - checks.</simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - If the value of the option starts with the character - <constant>+</constant>, the new field(s) will be added to the - default list. This allows to quickly see the default list - plus a few other fields, instead of retyping the entire list - of fields. - </para> - - <para> - There is a subtle grouping about the available output - fields: all fields except for <option>oper_state</option>, - <option>oper_ram</option>, <option>oper_vcpus</option> and - <option>status</option> are - configuration value and not run-time values. So if you don't - select any of the these fields, the query will be satisfied - instantly from the cluster configuration, without having to - ask the remote nodes for the data. This can be helpful for - big clusters when you only want some data and it makes sense - to specify a reduced set of output fields. - </para> - - <para>The default output field list is: - <simplelist type="inline"> - <member>name</member> - <member>os</member> - <member>pnode</member> - <member>admin_state</member> - <member>oper_state</member> - <member>oper_ram</member> - </simplelist>. - </para> - </refsect3> - - <refsect3> - <title>INFO</title> - - <cmdsynopsis> - <command>info</command> - <group> - <arg>-s</arg> - <arg>--static</arg> - </group> - <arg>--roman</arg> - <group choice="req"> - <arg>--all</arg> - <arg rep="repeat"><replaceable>instance</replaceable></arg> - </group> - </cmdsynopsis> - - <para> - Show detailed information about the given instance(s). This is - different from <command>list</command> as it shows detailed data - about the instance's disks (especially useful for the drbd disk - template). - </para> - - <para> - If the option <option>-s</option> is used, only information - available in the configuration file is returned, without - querying nodes, making the operation faster. - </para> - - <para> - Use the <option>--all</option> to get info about all instances, - rather than explicitly passing the ones you're interested in. - </para> - - <para> - The <option>--roman</option> option can be used to cause envy among - people who like ancient cultures, but are stuck with non-latin-friendly - cluster virtualization technologies. - </para> - - </refsect3> - - <refsect3> - <title>MODIFY</title> - - <cmdsynopsis> - <command>modify</command> - <sbr> - <arg choice="opt">-H <replaceable>HYPERVISOR_PARAMETERS</replaceable></arg> - <sbr> - <arg choice="opt">-B <replaceable>BACKEND_PARAMETERS</replaceable></arg> - <sbr> - <group> - <arg>--net add<replaceable><optional>:options</optional></replaceable></arg> - <arg>--net remove</arg> - <arg>--net <replaceable>N:options</replaceable></arg> - </group> - <sbr> - <group> - <arg>--disk add:size=<replaceable>SIZE</replaceable></arg> - <arg>--disk remove</arg> - <arg>--disk <replaceable>N</replaceable>:mode=<replaceable>MODE</replaceable></arg> - </group> - - <sbr> - <arg>-t<group choice="req"> - <arg>plain</arg> - <arg>drbd</arg> - </group></arg> - - <sbr> - <arg>--os-name=<replaceable>OS</replaceable> <arg>--force-variant</arg></arg> - - <sbr> - <arg>--submit</arg> - <sbr> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Modifies the memory size, number of vcpus, ip address, MAC - address and/or nic parameters for an instance. It can also - add and remove disks and NICs to/from the instance. Note - that you need to give at least one of the arguments, otherwise - the command complains. - </para> - - <para> - The <option>-H</option> option specifies hypervisor options - in the form of <userinput>name=value[,...]</userinput>. For details which options can be specified, see the <command>add</command> command. - </para> - - <para> - The <option>-t</option> option will change the disk template - of the instance. Currently only conversions between the - plain and drbd disk templates are supported, and the - instance must be stopped before attempting the conversion. - </para> - - <para> - The <option>--disk - add:size=<replaceable>SIZE</replaceable></option> option - adds a disk to the instance. The <option>--disk - remove</option> will remove the last disk of the - instance. The <option>--disk - <replaceable>N</replaceable>:mode=<replaceable>MODE</replaceable></option> - option will change the mode of the Nth disk of the instance - between read-only (<literal>ro</literal>) and read-write - (<literal>rw</literal>). - </para> - - <para> - The <option>--net - add:<replaceable>options</replaceable></option> option will - add a new NIC to the instance. The available options are the - same as in the <command>add</command> command (mac, ip, link, - mode). The <option>--net remove</option> will remove the - last NIC of the instance, while the <option>--net - <replaceable>N</replaceable>:<replaceable>options</replaceable></option> - option will change the parameters of the Nth instance NIC. - </para> - - <para> - The option <option>--os-name</option> will change the OS - name for the instance (without reinstallation). In case an - OS variant is specified that is not found, then by default - the modification is refused, - unless <option>--force-variant</option> is passed. An - invalid OS will also be refused, unless - the <option>--force</option> option is given. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - All the changes take effect at the next restart. If the - instance is running, there is no effect on the instance. - </para> - </refsect3> - - <refsect3> - <title>REINSTALL</title> - - <cmdsynopsis> - <command>reinstall</command> - <arg choice="opt">-o <replaceable>os-type</replaceable></arg> - <arg>--select-os</arg> - <arg choice="opt">-f <replaceable>force</replaceable></arg> - <arg>--force-multiple</arg> - <sbr> - <group choice="opt"> - <arg>--instance</arg> - <arg>--node</arg> - <arg>--primary</arg> - <arg>--secondary</arg> - <arg>--all</arg> - </group> - <sbr> - <arg choice="opt">-O <replaceable>OS_PARAMETERS</replaceable></arg> - <arg>--submit</arg> - <arg choice="opt" rep="repeat"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Reinstalls the operating system on the given instance(s). The - instance(s) must be stopped when running this command. If the - <option>--os-type</option> is specified, the operating - system is changed. - </para> - - <para> - The <option>--select-os</option> option switches to an - interactive OS reinstall. The user is prompted to select the OS - template from the list of available OS templates. OS parameters - can be overridden using <option>-O</option>. - </para> - - <para> - Since this is a potentially dangerous command, the user will - be required to confirm this action, unless the - <option>-f</option> flag is passed. When multiple instances - are selected (either by passing multiple arguments or by - using the <option>--node</option>, - <option>--primary</option>, <option>--secondary</option> or - <option>--all</option> options), the user must pass the - <option>--force-multiple</option> options to skip the - interactive confirmation. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - </refsect3> - - <refsect3> - <title>RENAME</title> - - <cmdsynopsis> - <command>rename</command> - <arg>--no-ip-check</arg> - <arg>--no-name-check</arg> - <arg>--submit</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - <arg choice="req"><replaceable>new_name</replaceable></arg> - </cmdsynopsis> - - <para> - Renames the given instance. The instance must be stopped - when running this command. The requirements for the new name - are the same as for adding an instance: the new name must be - resolvable and the IP it resolves to must not be reachable - (in order to prevent duplicate IPs the next time the - instance is started). The IP test can be skipped if the - <option>--no-ip-check</option> option is passed. - </para> - - <para> - The <option>--no-name-check</option> skips the check for the - new instance name via the resolver (e.g. in DNS or /etc/hosts, - depending on your setup). Since the name check is used to - compute the IP address, if you pass this option you must - also pass the <option>--no-ip-check</option> option. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - </refsect3> - - </refsect2> - - <refsect2> - <title>Starting/stopping/connecting to console</title> - - <refsect3> - <title>STARTUP</title> - - <cmdsynopsis> - <command>startup</command> - <sbr> - <arg>--force</arg> - <arg>--ignore-offline</arg> - <sbr> - <arg>--force-multiple</arg> - <sbr> - <group choice="opt"> - <arg>--instance</arg> - <arg>--node</arg> - <arg>--primary</arg> - <arg>--secondary</arg> - <arg>--all</arg> - <arg>--tags</arg> - <arg>--node-tags</arg> - <arg>--pri-node-tags</arg> - <arg>--sec-node-tags</arg> - </group> - <sbr> - <arg>-H <option>key=value...</option></arg> - <arg>-B <option>key=value...</option></arg> - <sbr> - <arg>--submit</arg> - <sbr> - <arg choice="opt" - rep="repeat"><replaceable>name</replaceable></arg> - </cmdsynopsis> - - <para> - Starts one or more instances, depending on the following - options. The four available modes are: - <variablelist> - <varlistentry> - <term><option>--instance</option></term> - <listitem> - <simpara>will start the instances given as arguments - (at least one argument required); this is the default - selection</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>--node</term> - <listitem> - <simpara>will start the instances who have the given - node as either primary or secondary</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term><option>--primary</option></term> - <listitem> - <simpara>will start all instances whose primary node - is in the list of nodes passed as arguments (at least - one node required)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term><option>--secondary</option></term> - <listitem> - <simpara>will start all instances whose secondary node - is in the list of nodes passed as arguments (at least - one node required)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>--all</term> - <listitem> - <simpara>will start all instances in the cluster (no - arguments accepted)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>--tags</term> - <listitem> - <simpara>will start all instances in the cluster with - the tags given as arguments</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>--node-tags</term> - <listitem> - <simpara>will start all instances in the cluster on - nodes with the tags given as arguments</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>--pri-node-tags</term> - <listitem> - <simpara>will start all instances in the cluster on - primary nodes with the tags given as - arguments</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>--sec-node-tags</term> - <listitem> - <simpara>will start all instances in the cluster on - secondary nodes with the tags given as - arguments</simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - Note that although you can pass more than one selection - option, the last one wins, so in order to guarantee the - desired result, don't pass more than one such option. - </para> - - <para> - Use <option>--force</option> to start even if secondary disks are - failing. <option>--ignore-offline</option> can be used to ignore - offline primary nodes and mark the instance as started even if - the primary is not available. - </para> - - <para> - The <option>--force-multiple</option> will skip the - interactive confirmation in the case the more than one - instance will be affected. - </para> - - <para> - The <option>-H</option> and <option>-B</option> options - specify temporary hypervisor and backend parameters that can - be used to start an instance with modified parameters. They - can be useful for quick testing without having to modify an - instance back and forth, e.g.: - <screen> -# gnt-instance start -H root_args="single" instance1 -# gnt-instance start -B memory=2048 instance2 - </screen> - The first form will start the instance - <userinput>instance1</userinput> in single-user mode, and - the instance <userinput>instance2</userinput> with 2GB of - RAM (this time only, unless that is the actual instance - memory size already). Note that the values override the - instance parameters (and not extend them): an instance with - "root_args=ro" when started with <userinput>-H - root_args=single</userinput> will result in "single", not - "ro single". - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - Example: - <screen> -# gnt-instance start instance1.example.com -# gnt-instance start --node node1.example.com node2.example.com -# gnt-instance start --all - </screen> - </para> - </refsect3> - - <refsect3> - <title>SHUTDOWN</title> - - <cmdsynopsis> - <command>shutdown</command> - <sbr> - <arg>--timeout=<replaceable>N</replaceable></arg> - <sbr> - <arg>--force-multiple</arg> - <arg>--ignore-offline</arg> - <sbr> - <group choice="opt"> - <arg>--instance</arg> - <arg>--node</arg> - <arg>--primary</arg> - <arg>--secondary</arg> - <arg>--all</arg> - <arg>--tags</arg> - <arg>--node-tags</arg> - <arg>--pri-node-tags</arg> - <arg>--sec-node-tags</arg> - </group> - <sbr> - <arg>--submit</arg> - <sbr> - <arg choice="opt" - rep="repeat"><replaceable>name</replaceable></arg> - </cmdsynopsis> - - <para> - Stops one or more instances. If the instance cannot be - cleanly stopped during a hardcoded interval (currently 2 - minutes), it will forcibly stop the instance (equivalent to - switching off the power on a physical machine). - </para> - - <para> - The <option>--timeout</option> is used to specify how much time to - wait before forcing the shutdown (xm destroy in xen, killing the kvm - process, for kvm). By default two minutes are given to each instance - to stop. - </para> - - <para> - The <option>--instance</option>, <option>--node</option>, - <option>--primary</option>, <option>--secondary</option>, - <option>--all</option>, <option>--tags</option>, - <option>--node-tags</option>, <option>--pri-node-tags</option> and - <option>--sec-node-tags</option> options are similar as for the - <command>startup</command> command and they influence the - actual instances being shutdown. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - <option>--ignore-offline</option> can be used to ignore offline - primary nodes and force the instance to be marked as stopped. This - option should be used with care as it can lead to an - inconsistent cluster state. - </para> - - <para> - Example: - <screen> -# gnt-instance shutdown instance1.example.com -# gnt-instance shutdown --all - </screen> - </para> - </refsect3> - - <refsect3> - <title>REBOOT</title> - - <cmdsynopsis> - <command>reboot</command> - <sbr> - <arg>--type=<replaceable>REBOOT-TYPE</replaceable></arg> - <sbr> - <arg>--ignore-secondaries</arg> - <sbr> - <arg>--shutdown-timeout=<replaceable>N</replaceable></arg> - <sbr> - <arg>--force-multiple</arg> - <sbr> - <group choice="opt"> - <arg>--instance</arg> - <arg>--node</arg> - <arg>--primary</arg> - <arg>--secondary</arg> - <arg>--all</arg> - <arg>--tags</arg> - <arg>--node-tags</arg> - <arg>--pri-node-tags</arg> - <arg>--sec-node-tags</arg> - </group> - <sbr> - <arg>--submit</arg> - <sbr> - <arg choice="opt" - rep="repeat"><replaceable>name</replaceable></arg> - </cmdsynopsis> - - <para> - Reboots one or more instances. The type of reboot depends on - the value of <option>--type</option>. A soft reboot does a - hypervisor reboot, a hard reboot does a instance stop, - recreates the hypervisor config for the instance and - starts the instance. A full reboot does the equivalent - of <command>gnt-instance shutdown && gnt-instance - startup</command>. The default is hard reboot. - </para> - - <para> - For the hard reboot the option - <option>--ignore-secondaries</option> ignores errors for the - secondary node while re-assembling the instance disks. - </para> - - <para> - The <option>--instance</option>, <option>--node</option>, - <option>--primary</option>, <option>--secondary</option>, - <option>--all</option>, <option>--tags</option>, - <option>--node-tags</option>, <option>--pri-node-tags</option> and - <option>--sec-node-tags</option> options are similar as for the - <command>startup</command> command and they influence the - actual instances being rebooted. - </para> - - <para> - The <option>--shutdown-timeout</option> is used to specify how - much time to wait before forcing the shutdown (xm destroy in xen, - killing the kvm process, for kvm). By default two minutes are - given to each instance to stop. - </para> - - <para> - The <option>--force-multiple</option> will skip the - interactive confirmation in the case the more than one - instance will be affected. - </para> - - <para> - Example: - <screen> -# gnt-instance reboot instance1.example.com -# gnt-instance reboot --type=full instance1.example.com - </screen> - </para> - </refsect3> - - <refsect3> - <title>CONSOLE</title> - <cmdsynopsis> - <command>console</command> - <arg choice="opt">--show-cmd</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Connects to the console of the given instance. If the - instance is not up, an error is returned. Use the - <option>--show-cmd</option> option to display the command - instead of executing it. - </para> - - <para> - For HVM instances, this will attempt to connect to the - serial console of the instance. To connect to the - virtualized "physical" console of a HVM instance, use a VNC - client with the connection info from the - <command>info</command> command. - </para> - - <para> - Example: - <screen> -# gnt-instance console instance1.example.com - </screen> - </para> - </refsect3> - - </refsect2> - - <refsect2> - <title>Disk management</title> - - <refsect3> - <title>REPLACE-DISKS</title> - - <cmdsynopsis> - <command>replace-disks</command> - <arg>--submit</arg> - <arg>--early-release</arg> - <arg choice="req">-p</arg> - <arg>--disks <replaceable>idx</replaceable></arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>replace-disks</command> - <arg>--submit</arg> - <arg>--early-release</arg> - <arg choice="req">-s</arg> - <arg>--disks <replaceable>idx</replaceable></arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>replace-disks</command> - <arg>--submit</arg> - <arg>--early-release</arg> - <group choice="req"> - <arg>--iallocator <replaceable>name</replaceable></arg> - <arg>--new-secondary <replaceable>NODE</replaceable></arg> - </group> - - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>replace-disks</command> - <arg>--submit</arg> - <arg>--early-release</arg> - <arg choice="req">--auto</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - This command is a generalized form for replacing disks. It - is currently only valid for the mirrored (DRBD) disk - template. - </para> - - <para> - The first form (when passing the <option>-p</option> option) - will replace the disks on the primary, while the second form - (when passing the <option>-s</option> option will replace - the disks on the secondary node. For these two cases (as the - node doesn't change), it is possible to only run the replace - for a subset of the disks, using the option - <option>--disks</option> which takes a list of - comma-delimited disk indices (zero-based), - e.g. <userinput>0,2</userinput> to replace only the first - and third disks. - </para> - - <para> - The third form (when passing either the - <option>--iallocator</option> or the - <option>--new-secondary</option> option) is designed to - change secondary node of the instance. Specifying - <option>--iallocator</option> makes the new secondary be - selected automatically by the specified allocator plugin, - otherwise the new secondary node will be the one chosen - manually via the <option>--new-secondary</option> option. - </para> - - <para> - The fourth form (when using <option>--auto</option>) will - automatically determine which disks of an instance are faulty and - replace them within the same node. The <option>--auto</option> - option works only when an instance has only faulty disks on - either the primary or secondary node; it doesn't work when - both sides have faulty disks. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - The <option>--early-release</option> changes the code so - that the old storage on secondary node(s) is removed early - (before the resync is completed) and the internal Ganeti - locks for the current (and new, if any) secondary node are - also released, thus allowing more parallelism in the cluster - operation. This should be used only when recovering from a - disk failure on the current secondary (thus the old storage - is already broken) or when the storage on the primary node - is known to be fine (thus we won't need the old storage for - potential recovery). - </para> - - <para> - Note that it is not possible to select an offline or drained - node as a new secondary. - </para> - - </refsect3> - - <refsect3> - <title>ACTIVATE-DISKS</title> - - <cmdsynopsis> - <command>activate-disks</command> - <arg>--submit</arg> - <arg>--ignore-size</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - <para> - Activates the block devices of the given instance. If - successful, the command will show the location and name of - the block devices: - <screen> -node1.example.com:disk/0:/dev/drbd0 -node1.example.com:disk/1:/dev/drbd1 - </screen> - - In this example, <emphasis>node1.example.com</emphasis> is - the name of the node on which the devices have been - activated. The <emphasis>disk/0</emphasis> and - <emphasis>disk/1</emphasis> are the Ganeti-names of the - instance disks; how they are visible inside the instance is - hypervisor-specific. <emphasis>/dev/drbd0</emphasis> and - <emphasis>/dev/drbd1</emphasis> are the actual block devices - as visible on the node. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - The <option>--ignore-size</option> option can be used to - activate disks ignoring the currently configured size in - Ganeti. This can be used in cases where the configuration - has gotten out of sync with the real-world (e.g. after a - partially-failed grow-disk operation or due to rounding in - LVM devices). This should not be used in normal cases, but - only when activate-disks fails without it. - </para> - - <para> - Note that it is safe to run this command while the instance - is already running. - </para> - </refsect3> - - <refsect3> - <title>DEACTIVATE-DISKS</title> - - <cmdsynopsis> - <command>deactivate-disks</command> - <arg>--submit</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - <para> - De-activates the block devices of the given instance. Note - that if you run this command for an instance with a drbd - disk template, while it is running, it will not be able to - shutdown the block devices on the primary node, but it will - shutdown the block devices on the secondary nodes, thus - breaking the replication. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - </refsect3> - - <refsect3> - <title>GROW-DISK</title> - <cmdsynopsis> - <command>grow-disk</command> - <arg>--no-wait-for-sync</arg> - <arg>--submit</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - <arg choice="req"><replaceable>disk</replaceable></arg> - <arg choice="req"><replaceable>amount</replaceable></arg> - </cmdsynopsis> - - <para> - Grows an instance's disk. This is only possible for - instances having a <literal>plain</literal> or - <literal>drbd</literal> disk template. - </para> - - <para> - Note that this command only change the block device size; it - will not grow the actual filesystems, partitions, etc. that - live on that disk. Usually, you will need to: - <orderedlist> - <listitem> - <simpara>use <command>gnt-instance grow-disk</command></simpara> - </listitem> - <listitem> - <simpara>reboot the instance (later, at a convenient - time)</simpara> - </listitem> - <listitem> - <simpara>use a filesystem resizer, such as - <citerefentry> <refentrytitle>ext2online</refentrytitle> - <manvolnum>8</manvolnum> </citerefentry> or - <citerefentry> <refentrytitle>xfs_growfs</refentrytitle> - <manvolnum>8</manvolnum> </citerefentry> to resize the - filesystem, or use <citerefentry> - <refentrytitle>fdisk</refentrytitle> - <manvolnum>8</manvolnum> </citerefentry> to change the - partition table on the disk - </simpara> - </listitem> - </orderedlist> - </para> - - - <para> - The <replaceable>disk</replaceable> argument is the index of - the instance disk to grow. The - <replaceable>amount</replaceable> argument is given either - as a number (and it represents the amount to increase the - disk with in mebibytes) or can be given similar to the - arguments in the create instance operation, with a suffix - denoting the unit. - </para> - - <para> - Note that the disk grow operation might complete on one node - but fail on the other; this will leave the instance with - different-sized LVs on the two nodes, but this will not - create problems (except for unused space). - </para> - - <para> - If you do not want gnt-instance to wait for the new disk - region to be synced, use the - <option>--no-wait-for-sync</option> option. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - - <para>Example (increase the first disk for instance1 by 16GiB): - <screen> -# gnt-instance grow-disk instance1.example.com 0 16g - </screen> - </para> - - <para> - Also note that disk shrinking is not supported; use - <command>gnt-backup export</command> and then - <command>gnt-backup import</command> to reduce the disk size - of an instance. - </para> - </refsect3> - - <refsect3> - <title>RECREATE-DISKS</title> - - <cmdsynopsis> - <command>recreate-disks</command> - <arg>--submit</arg> - <arg>--disks=<option>indices</option></arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - <para> - Recreates the disks of the given instance, or only a subset - of the disks (if the option <option>disks</option> is - passed, which must be a comma-separated list of disk - indices, starting from zero). - </para> - - <para> - Note that this functionality should only be used for missing - disks; if any of the given disks already exists, the - operation will fail. While this is suboptimal, - recreate-disks should hopefully not be needed in normal - operation and as such the impact of this is low. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - </refsect3> - - </refsect2> - - <refsect2> - <title>Recovery</title> - - <refsect3> - <title>FAILOVER</title> - - <cmdsynopsis> - <command>failover</command> - <arg>-f</arg> - <arg>--ignore-consistency</arg> - <arg>--shutdown-timeout=<replaceable>N</replaceable></arg> - <arg>--submit</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Failover will fail the instance over its secondary - node. This works only for instances having a drbd disk - template. - </para> - - <para> - Normally the failover will check the consistency of the - disks before failing over the instance. If you are trying to - migrate instances off a dead node, this will fail. Use the - <option>--ignore-consistency</option> option for this - purpose. Note that this option can be dangerous as errors in - shutting down the instance will be ignored, resulting in - possibly having the instance running on two machines in - parallel (on disconnected DRBD drives). - </para> - - <para> - The <option>--shutdown-timeout</option> is used to specify how - much time to wait before forcing the shutdown (xm destroy in xen, - killing the kvm process, for kvm). By default two minutes are - given to each instance to stop. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - Example: - <screen> -# gnt-instance failover instance1.example.com - </screen> - </para> - </refsect3> - - <refsect3> - <title>MIGRATE</title> - - <cmdsynopsis> - <command>migrate</command> - <arg>-f</arg> - <arg choice="req">--cleanup</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>migrate</command> - <arg>-f</arg> - <arg>--non-live</arg> - <arg>--migration-mode=live|non-live</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Migrate will move the instance to its secondary node without - shutdown. It only works for instances having the drbd8 disk - template type. - </para> - - <para> - The migration command needs a perfectly healthy instance, as - we rely on the dual-master capability of drbd8 and the disks - of the instance are not allowed to be degraded. - </para> - - <para> - The <option>--non-live</option> - and <option>--migration-mode=non-live</option> options will - switch (for the hypervisors that support it) between a - "fully live" (i.e. the interruption is as minimal as - possible) migration and one in which the instance is frozen, - its state saved and transported to the remote node, and then - resumed there. This all depends on the hypervisor support - for two different methods. In any case, it is not an error - to pass this parameter (it will just be ignored if the - hypervisor doesn't support it). The - option <option>--migration-mode=live</option> option will - request a fully-live migration. The default, when neither - option is passed, depends on the hypervisor parameters (and - can be viewed with the <command>gnt-cluster info</command> - command). - </para> - - <para> - If the <option>--cleanup</option> option is passed, the - operation changes from migration to attempting recovery from - a failed previous migration. In this mode, Ganeti checks if - the instance runs on the correct node (and updates its - configuration if not) and ensures the instances's disks are - configured correctly. In this mode, the - <option>--non-live</option> option is ignored. - </para> - - <para> - The option <option>-f</option> will skip the prompting for - confirmation. - </para> - <para> - Example (and expected output): - <screen> -# gnt-instance migrate instance1 -Migrate will happen to the instance instance1. Note that migration is -**experimental** in this version. This might impact the instance if -anything goes wrong. Continue? -y/[n]/?: y -* checking disk consistency between source and target -* ensuring the target is in secondary mode -* changing disks into dual-master mode - - INFO: Waiting for instance instance1 to sync disks. - - INFO: Instance instance1's disks are in sync. -* migrating instance to node2.example.com -* changing the instance's disks on source node to secondary - - INFO: Waiting for instance instance1 to sync disks. - - INFO: Instance instance1's disks are in sync. -* changing the instance's disks to single-master -# - </screen> - </para> - </refsect3> - - <refsect3> - <title>MOVE</title> - - <cmdsynopsis> - <command>move</command> - <arg>-f</arg> - <arg>-n <replaceable>node</replaceable></arg> - <arg>--shutdown-timeout=<replaceable>N</replaceable></arg> - <arg>--submit</arg> - <arg choice="req"><replaceable>instance</replaceable></arg> - </cmdsynopsis> - - <para> - Move will move the instance to an arbitrary node in the - cluster. This works only for instances having a plain or - file disk template. - </para> - - <para> - Note that since this operation is done via data copy, it - will take a long time for big disks (similar to - replace-disks for a drbd instance). - </para> - - <para> - The <option>--shutdown-timeout</option> is used to specify how - much time to wait before forcing the shutdown (xm destroy in xen, - killing the kvm process, for kvm). By default two minutes are - given to each instance to stop. - </para> - - <para> - The <option>--submit</option> option is used to send the job to - the master daemon but not wait for its completion. The job - ID will be shown so that it can be examined via - <command>gnt-job info</command>. - </para> - - <para> - Example: - <screen> -# gnt-instance move -n node3.example.com instance1.example.com - </screen> - </para> - </refsect3> - - </refsect2> - - <refsect2> - <title>TAGS</title> - - <refsect3> - <title>ADD-TAGS</title> - - <cmdsynopsis> - <command>add-tags</command> - <arg choice="opt">--from <replaceable>file</replaceable></arg> - <arg choice="req"><replaceable>instancename</replaceable></arg> - <arg choice="req" - rep="repeat"><replaceable>tag</replaceable></arg> - </cmdsynopsis> - - <para> - Add tags to the given instance. If any of the tags contains - invalid characters, the entire operation will abort. - </para> - <para> - If the <option>--from</option> option is given, the list of - tags will be extended with the contents of that file (each - line becomes a tag). In this case, there is not need to pass - tags on the command line (if you do, both sources will be - used). A file name of - will be interpreted as stdin. - </para> - </refsect3> - - <refsect3> - <title>LIST-TAGS</title> - - <cmdsynopsis> - <command>list-tags</command> - <arg choice="req"><replaceable>instancename</replaceable></arg> - </cmdsynopsis> - - <para>List the tags of the given instance.</para> - </refsect3> - - <refsect3> - <title>REMOVE-TAGS</title> - <cmdsynopsis> - <command>remove-tags</command> - <arg choice="opt">--from <replaceable>file</replaceable></arg> - <arg choice="req"><replaceable>instancename</replaceable></arg> - <arg choice="req" - rep="repeat"><replaceable>tag</replaceable></arg> - </cmdsynopsis> - - <para> - Remove tags from the given instance. If any of the tags are - not existing on the node, the entire operation will abort. - </para> - - <para> - If the <option>--from</option> option is given, the list of - tags will be extended with the contents of that file (each - line becomes a tag). In this case, there is not need to pass - tags on the command line (if you do, both sources will be - used). A file name of - will be interpreted as stdin. - </para> - </refsect3> - - </refsect2> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/gnt-job.sgml b/man/gnt-job.sgml deleted file mode 100644 index a3c6db693..000000000 --- a/man/gnt-job.sgml +++ /dev/null @@ -1,289 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>gnt-job</refentrytitle>"> - <!ENTITY dhpackage "gnt-job"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2008</year> - <year>2009</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Job commands</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg choice="req">command</arg> - <arg>arguments...</arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is used for examining and - manipulating the job queue. - </para> - - </refsect1> - <refsect1> - <title>COMMANDS</title> - - <refsect2> - <title>ARCHIVE</title> - <cmdsynopsis> - <command>archive</command> - - <arg choice="req" rep="repeat">id</arg> - </cmdsynopsis> - - <para>This command can be used to archive job by their IDs. Only - jobs that have finished execution (i.e either - <emphasis>success</emphasis>, <emphasis>error</emphasis> or - <emphasis>canceled</emphasis> jobs).</para> - - </refsect2> - - <refsect2> - <title>AUTOARCHIVE</title> - <cmdsynopsis> - <command>autoarchive</command> - <group choice="req"> - <arg><replaceable>age</replaceable></arg> - <arg>all</arg> - </group> - </cmdsynopsis> - - <para> - Archive jobs by their age. This command can archive jobs older - than <replaceable>age</replaceable> seconds, or alternatively - all finished jobs can be archived if the string <literal>all - </literal> is passed. - </para> - </refsect2> - - <refsect2> - <title>CANCEL</title> - <cmdsynopsis> - <command>cancel</command> - <arg choice="req"><replaceable>id</replaceable></arg> - </cmdsynopsis> - - <para> - Cancel the job identified by the given - <replaceable>id</replaceable>. Only jobs that have not yet - started to run can be canceled; that is, jobs in either the - <emphasis>queued</emphasis> or <emphasis>waiting</emphasis> - state. - </para> - </refsect2> - - <refsect2> - <title>INFO</title> - <cmdsynopsis> - <command>info</command> - <arg choice="req" rep="repeat"><replaceable>id</replaceable></arg> - </cmdsynopsis> - - <para> - Show detailed information about the given job id(s). If no job - id is given, all jobs are examined (warning, this is a lot of - information). - </para> - - </refsect2> - - <refsect2> - <title>LIST</title> - <cmdsynopsis> - <command>list</command> - <arg>--no-headers</arg> - <arg>--separator=<replaceable>SEPARATOR</replaceable></arg> - <sbr> - <arg>-o <replaceable>[+]FIELD,...</replaceable></arg> - <sbr> - </cmdsynopsis> - - <para> - Lists the jobs and their status. By default, the job id, job - status, and a small job description is listed, but additional - parameters can be selected. - </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 <option>-o</option> option takes a comma-separated list of - output fields. The available fields and their meaning are: - <variablelist> - <varlistentry> - <term>id</term> - <listitem> - <simpara>the job id</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>status</term> - <listitem> - <simpara>the status of the job</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>priority</term> - <listitem> - <simpara>current priority of the job</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>received_ts</term> - <listitem> - <simpara>the timestamp the job was received</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>start_ts</term> - <listitem> - <simpara>the timestamp when the job was started</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>end_ts</term> - <listitem> - <simpara>the timestamp when the job was ended</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>summary</term> - <listitem> - <simpara>a summary of the opcodes that define the job</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>ops</term> - <listitem> - <simpara>the list of opcodes defining the job</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>opresult</term> - <listitem> - <simpara>the list of opcode results</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>opstatus</term> - <listitem> - <simpara>the list of opcode statuses</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>oplog</term> - <listitem> - <simpara>the list of opcode logs</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>opstart</term> - <listitem> - <simpara>the list of opcode start times (before - acquiring locks)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>opexec</term> - <listitem> - <simpara>the list of opcode execution start times (after - acquiring any necessary locks)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>opend</term> - <listitem> - <simpara>the list of opcode end times</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>oppriority</term> - <listitem> - <simpara>the priority of each opcode</simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - If the value of the option starts with the character - <constant>+</constant>, the new fields will be added to the - default list. This allows to quickly see the default list plus - a few other fields, instead of retyping the entire list of - fields. - </para> - - </refsect2> - - <refsect2> - <title>WATCH</title> - <cmdsynopsis> - <command>watch</command> - <arg>id</arg> - </cmdsynopsis> - - <para> - This command follows the output of the job by the given - <replaceable>id</replaceable> and prints it. - </para> - </refsect2> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/gnt-node.sgml b/man/gnt-node.sgml deleted file mode 100644 index a2eca13dc..000000000 --- a/man/gnt-node.sgml +++ /dev/null @@ -1,1086 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>June 08, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>gnt-node</refentrytitle>"> - <!ENTITY dhpackage "gnt-node"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Node administration</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg choice="req">command</arg> - <arg>arguments...</arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is used for managing the - (physical) nodes in the Ganeti system. - </para> - - </refsect1> - <refsect1> - <title>COMMANDS</title> - - <refsect2> - <title>ADD</title> - - <cmdsynopsis> - <command>add</command> - <arg>--readd</arg> - <arg>-s <replaceable>secondary_ip</replaceable></arg> - <arg>-g <replaceable>nodegroup</replaceable></arg> - <arg>--master-capable=<option>yes|no</option></arg> - <arg>--vm-capable=<option>yes|no</option></arg> - <arg choice="req"><replaceable>nodename</replaceable></arg> - </cmdsynopsis> - - <para> - Adds the given node to the cluster. - </para> - - <para> - This command is used to join a new node to the cluster. You - will have to provide the password for root of the node to be - able to add the node in the cluster. The command needs to be - run on the Ganeti master. - </para> - - <para> - Note that the command is potentially destructive, as it will - forcibly join the specified host the cluster, not paying - attention to its current status (it could be already in a - cluster, etc.) - </para> - - <para> - The <option>-s</option> is used in dual-home clusters and - specifies the new node's IP in the secondary network. See the - discussion in <citerefentry> - <refentrytitle>gnt-cluster</refentrytitle> - <manvolnum>8</manvolnum> </citerefentry> for more - information. - </para> - - <para> - In case you're readding a node after hardware failure, you can - use the <option>--readd</option> parameter. In this case, you - don't need to pass the secondary IP again, it will reused from - the cluster. Also, the <literal>drained</literal> and - <literal>offline</literal> flags of the node will be cleared - before re-adding it. - </para> - - <para> - The <option>-g</option> is used to add the new node into a specific - node group, specified by uuid or name. If only one node group exists - you can skip this option, otherwise it's mandatory. - </para> - - <para> - The <option>vm_capable</option> - and <option>master_capable</option> options are described - in <citerefentry><refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - and are used to set the properties of the new node. - </para> - - <para> - Example: - <screen> -# gnt-node add node5.example.com -# gnt-node add -s 192.0.2.5 node5.example.com -# gnt-node add -g group2 -s 192.0.2.9 node9.group2.example.com - </screen> - </para> - </refsect2> - - <refsect2> - <title>ADD-TAGS</title> - - <cmdsynopsis> - <command>add-tags</command> - <arg choice="opt">--from <replaceable>file</replaceable></arg> - <arg choice="req"><replaceable>nodename</replaceable></arg> - <arg choice="req" - rep="repeat"><replaceable>tag</replaceable></arg> - </cmdsynopsis> - - <para> - Add tags to the given node. If any of the tags contains - invalid characters, the entire operation will abort. - </para> - - <para> - If the <option>--from</option> option is given, the list of - tags will be extended with the contents of that file (each - line becomes a tag). In this case, there is not need to pass - tags on the command line (if you do, both sources will be - used). A file name of - will be interpreted as stdin. - </para> - </refsect2> - - <refsect2> - <title>EVACUATE</title> - - <cmdsynopsis> - <command>evacuate</command> - <arg>-f</arg> - <arg>--early-release</arg> - <group> - <arg>--iallocator <replaceable>NAME</replaceable></arg> - <arg>--new-secondary <replaceable>destination_node</replaceable></arg> - </group> - <arg choice="req" rep="repeat"><replaceable>node</replaceable></arg> - </cmdsynopsis> - - <para> - This command will move all secondary instances away from the - given node(s). It works only for instances having a drbd disk - template. - </para> - - <para> - The new location for the instances can be specified in two ways: - <itemizedlist> - <listitem> - <simpara>as a single node for all instances, via the - <option>--new-secondary</option> option</simpara> - </listitem> - <listitem> - <simpara>or via the <option>--iallocator</option> option, - giving a script name as parameter, so each instance will - be in turn placed on the (per the script) optimal - node</simpara> - </listitem> - </itemizedlist> - </para> - - <para> - The <option>--early-release</option> changes the code so that - the old storage on node being evacuated is removed early - (before the resync is completed) and the internal Ganeti locks - are also released for both the current secondary and the new - secondary, thus allowing more parallelism in the cluster - operation. This should be used only when recovering from a - disk failure on the current secondary (thus the old storage is - already broken) or when the storage on the primary node is - known to be fine (thus we won't need the old storage for - potential recovery). - </para> - - <para> - Example: - <screen> - # gnt-node evacuate -I dumb node3.example.com - </screen> - </para> - </refsect2> - - <refsect2> - <title>FAILOVER</title> - - <cmdsynopsis> - <command>failover</command> - <arg>-f</arg> - <arg>--ignore-consistency</arg> - <arg choice="req"><replaceable>node</replaceable></arg> - </cmdsynopsis> - - <para> - This command will fail over all instances having the given - node as primary to their secondary nodes. This works only for - instances having a drbd disk template. - </para> - - <para> - Normally the failover will check the consistency of the disks - before failing over the instance. If you are trying to migrate - instances off a dead node, this will fail. Use the - <option>--ignore-consistency</option> option for this purpose. - </para> - - <para> - Example: - <screen> - # gnt-node failover node1.example.com - </screen> - </para> - </refsect2> - - <refsect2> - <title>INFO</title> - - <cmdsynopsis> - <command>info</command> - <arg rep="repeat"><replaceable>node</replaceable></arg> - </cmdsynopsis> - - <para> - Show detailed information about the nodes in the cluster. If you - don't give any arguments, all nodes will be shows, otherwise the - output will be restricted to the given names. - </para> - </refsect2> - - <refsect2> - <title>LIST</title> - - <cmdsynopsis> - <command>list</command> - <arg>--sync</arg> - <sbr> - <arg>--no-headers</arg> - <arg>--separator=<replaceable>SEPARATOR</replaceable></arg> - <sbr> - <arg>--units=<replaceable>UNITS</replaceable></arg> - <arg>-o <replaceable>[+]FIELD,...</replaceable></arg> - <sbr> - <arg>--roman</arg> - <sbr> - <arg rep="repeat">node</arg> - </cmdsynopsis> - - <para> - Lists the nodes in the cluster. - </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> - By default, the query of nodes will be done in parallel with - any running jobs. This might give inconsistent results for the - free disk/memory. The <option>--sync</option> can be used to - grab locks for all the nodes and ensure consistent view of the - cluster (but this might stall the query for a long time). - </para> - - <para> - Passing the <option>--roman</option> option gnt-node list will try to - output some of its fields in a latin-friendly way. This is not the - default for backwards compatibility. - </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>name</term> - <listitem> - <simpara>the node name</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>pinst_cnt</term> - <listitem> - <simpara>the number of instances having this node as - primary</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>pinst_list</term> - <listitem> - <simpara>the list of instances having this node as - primary, comma separated</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>sinst_cnt</term> - <listitem> - <simpara>the number of instances having this node as a - secondary node</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>sinst_list</term> - <listitem> - <simpara>the list of instances having this node as a - secondary node, comma separated</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>pip</term> - <listitem> - <simpara>the primary ip of this node (used for cluster - communication)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>sip</term> - <listitem> - <simpara> - the secondary ip of this node (used for data - replication in dual-ip clusters, see <citerefentry> - <refentrytitle>gnt-cluster</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>dtotal</term> - <listitem> - <simpara>total disk space in the volume group used for - instance disk allocations</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>dfree</term> - <listitem> - <simpara>available disk space in the volume group</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mtotal</term> - <listitem> - <simpara>total memory on the physical node</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mnode</term> - <listitem> - <simpara>the memory used by the node itself</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>mfree</term> - <listitem> - <simpara>memory available for instance - allocations</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>bootid</term> - <listitem> - <simpara>the node bootid value; this is a linux specific - feature that assigns a new UUID to the node at each boot - and can be use to detect node reboots (by tracking - changes in this value)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>tags</term> - <listitem> - <simpara>comma-separated list of the node's - tags</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>serial_no</term> - <listitem> - <simpara>the so called 'serial number' of the node; - this is a numeric field that is incremented each time - 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> - </listitem> - </varlistentry> - <varlistentry> - <term>cnodes</term> - <listitem> - <simpara>the number of NUMA domains on the node, if the - hypervisor can export this information</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>csockets</term> - <listitem> - <simpara>the number of physical CPU sockets, if the - hypervisor can export this information</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>master_candidate</term> - <listitem> - <simpara>whether the node is a master candidate or not</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>drained</term> - <listitem> - <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; 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> - <varlistentry> - <term>master_capable</term> - <listitem> - <para>whether the node can become a master candidate</para> - </listitem> - </varlistentry> - <varlistentry> - <term>vm_capable</term> - <listitem> - <para>whether the node can host instances</para> - </listitem> - </varlistentry> - <varlistentry> - <term>group</term> - <listitem> - <para>the name of the node's group, if known (the query - is done without locking, so data consistency is not - guaranteed)</para> - </listitem> - </varlistentry> - <varlistentry> - <term>group.uuid</term> - <listitem> - <para>the UUID of the node's group</para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - If the value of the option starts with the character - <constant>+</constant>, the new fields will be added to the - default list. This allows to quickly see the default list plus - a few other fields, instead of retyping the entire list of - fields. - </para> - - <para> - Note that some of this fields are known from the configuration - of the cluster (e.g. <simplelist type="inline"> - <member>name</member> <member>pinst</member> - <member>sinst</member> <member>pip</member> - <member>sip</member> </simplelist> and thus the master does - not need to contact the node for this data (making the listing - fast if only fields from this set are selected), whereas the - other fields are "live" fields and we need to make a query to - the cluster nodes. - </para> - - <para> - Depending on the virtualization type and implementation - details, the mtotal, mnode and mfree may have slighly varying - meanings. For example, some solutions share the node memory - with the pool of memory used for instances - (<acronym>KVM</acronym>), whereas others have separate memory - for the node and for the instances (Xen). - </para> - - <para> - If no node names are given, then all nodes are - queried. Otherwise, only the given nodes will be listed. - </para> - </refsect2> - - <refsect2> - <title>LIST-TAGS</title> - - <cmdsynopsis> - <command>list-tags</command> - <arg choice="req"><replaceable>nodename</replaceable></arg> - </cmdsynopsis> - - <para>List the tags of the given node.</para> - </refsect2> - - <refsect2> - <title>MIGRATE</title> - <cmdsynopsis> - <command>migrate</command> - <arg>-f</arg> - <arg>--non-live</arg> - <arg>--migration-mode=live|non-live</arg> - <arg choice="req"><replaceable>node</replaceable></arg> - </cmdsynopsis> - - <para> - This command will migrate all instances having the given - node as primary to their secondary nodes. This works only for - instances having a drbd disk template. - </para> - - <para> - As for the <command>gnt-instance migrate</command> command, - the options <option>--no-live</option> - and <option>--migration-mode</option> can be given to - influence the migration type. - </para> - - <para> - Example: - <screen> - # gnt-node migrate node1.example.com - </screen> - </para> - - </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>--master-capable=<option>yes|no</option></arg> - <arg>--vm-capable=<option>yes|no</option></arg> - <arg>-s <replaceable>secondary_ip</replaceable></arg> - <arg>--auto-promote</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 and flags 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, the - operation will be refused unless you pass - the <option>--auto-promote</option> option. This option will - cause the operation to lock all cluster nodes (thus it will - not be able to run in parallel with most other jobs), but it - allows automated maintenance of the cluster candidate pool. If - locking all cluster node is too expensive, another option is - to promote manually another node to master candidate before - demoting the current one. - </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> - The <option>-s</option> can be used to change the node's secondary ip. - No drbd instances can be running on the node, while this operation is - taking place. - </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> - <command>remove</command> - <arg choice="req"><replaceable>nodename</replaceable></arg> - </cmdsynopsis> - - <para> - Removes a node from the cluster. Instances must be removed or - migrated to another cluster before. - </para> - - <para> - Example: - <screen> -# gnt-node remove node5.example.com - </screen> - </para> - </refsect2> - - <refsect2> - <title>REMOVE-TAGS</title> - <cmdsynopsis> - <command>remove-tags</command> - <arg choice="opt">--from <replaceable>file</replaceable></arg> - <arg choice="req"><replaceable>nodename</replaceable></arg> - <arg choice="req" - rep="repeat"><replaceable>tag</replaceable></arg> - </cmdsynopsis> - - <para> - Remove tags from the given node. If any of the tags are not - existing on the node, the entire operation will abort. - </para> - - <para> - If the <option>--from</option> option is given, the list of - tags will be extended with the contents of that file (each - line becomes a tag). In this case, there is not need to pass - tags on the command line (if you do, both sources will be - used). A file name of - will be interpreted as stdin. - </para> - </refsect2> - - <refsect2> - <title>VOLUMES</title> - - <cmdsynopsis> - <command>volumes</command> - <arg>--no-headers</arg> - <arg>--human-readable</arg> - <arg>--separator=<replaceable>SEPARATOR</replaceable></arg> - <arg>--output=<replaceable>FIELDS</replaceable></arg> - <sbr> - <arg rep="repeat"><replaceable>node</replaceable></arg> - </cmdsynopsis> - - <para> - Lists all logical volumes and their physical disks 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>-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>phys</term> - <listitem> - <simpara>the physical drive (on which the LVM physical - volume lives)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>vg</term> - <listitem> - <simpara>the volume group name</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>name</term> - <listitem> - <simpara>the logical volume name</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>size</term> - <listitem> - <simpara>the logical volume size</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>instance</term> - <listitem> - <simpara>The name of the instance to which this volume - belongs, or (in case it's an orphan volume) the - character <quote>-</quote></simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - Example: - <screen> -# gnt-node volumes node5.example.com -Node PhysDev VG Name Size Instance -node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11000.meta 128 instance1.example.com -node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11001.data 256 instance1.example.com - </screen> - </para> - </refsect2> - - <refsect2> - <title>LIST-STORAGE</title> - - <cmdsynopsis> - <command>list-storage</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 the available storage units and their details for the - given node(s). - </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>. - </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>type</term> - <listitem> - <simpara>the type of the storage unit (currently just - what is passed in via - <option>--storage-type</option>)</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>name</term> - <listitem> - <simpara>the path/identifier of the storage unit</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>size</term> - <listitem> - <simpara> - total size of the unit; for the file type see a note below - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>used</term> - <listitem> - <simpara> - used space in the unit; for the file type see a note below - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>free</term> - <listitem> - <simpara> - available disk space - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>allocatable</term> - <listitem> - <simpara> - whether we the unit is available for allocation - (only <literal>lvm-pv</literal> can change this - setting, the other types always report true) - </simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - - <para> - Note that for the <quote>file</quote> type, the total disk - space might not equal to the sum of used and free, due to the - method Ganeti uses to compute each of them. The total and free - values are computed as the total and free space values for the - filesystem to which the directory belongs, but the used space - is computed from the used space under that directory - <emphasis>only</emphasis>, which might not be necessarily the - root of the filesystem, and as such there could be files - outside the file storage directory using disk space and - causing a mismatch in the values. - </para> - - <para> - Example: - <screen> -node1# gnt-node list-storage node2 -Node Type Name Size Used Free Allocatable -node2 lvm-pv /dev/sda7 673.8G 1.5G 672.3G Y -node2 lvm-pv /dev/sdb1 698.6G 0M 698.6G Y - </screen> - </para> - </refsect2> - - <refsect2> - <title>MODIFY-STORAGE</title> - - <cmdsynopsis> - <command>modify-storage</command> - <arg><option>--allocatable=yes|no</option></arg> - <sbr> - <arg choice="req"><replaceable>node</replaceable></arg> - <arg choice="req"><replaceable>storage-type</replaceable></arg> - <arg choice="req"><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-storage --allocatable no node5.example.com lvm-pv /dev/sdb1 - </screen> - </para> - </refsect2> - - <refsect2> - <title>REPAIR-STORAGE</title> - - <cmdsynopsis> - <command>repair-storage</command> - <arg>--ignore-consistency</arg> - <arg choice="req"><replaceable>node</replaceable></arg> - <arg choice="req"><replaceable>storage-type</replaceable></arg> - <arg choice="req"><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-storage</command> runs - <quote>vgreduce --removemissing</quote>. - </para> - - <caution> - <para> - Running this command can lead to data loss. Use it with care. - </para> - </caution> - - <para> - The <option>--ignore-consistency</option> option will ignore - any inconsistent disks (on the nodes paired with this - one). Use of this option is most likely to lead to data-loss. - </para> - - <para> - Example: - <screen> -# gnt-node repair-storage node5.example.com lvm-vg xenvg - </screen> - </para> - </refsect2> - - <refsect2> - <title>POWERCYCLE</title> - - <cmdsynopsis> - <command>powercycle</command> - <arg><option>--yes</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; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> diff --git a/man/gnt-os.sgml b/man/gnt-os.sgml deleted file mode 100644 index 4e7d5bc3e..000000000 --- a/man/gnt-os.sgml +++ /dev/null @@ -1,160 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [ - - <!-- Fill in your name for FIRSTNAME and SURNAME. --> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>September 20, 2010</date>"> - <!-- SECTION should be 1-8, maybe w/ subsection other parameters are - allowed: see man(7), man(1). --> - <!ENTITY dhsection "<manvolnum>8</manvolnum>"> - <!ENTITY dhucpackage "<refentrytitle>gnt-os</refentrytitle>"> - <!ENTITY dhpackage "gnt-os"> - - <!ENTITY debian "<productname>Debian</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> - <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> - <!ENTITY footer SYSTEM "footer.sgml"> -]> - -<refentry> - <refentryinfo> - <copyright> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <holder>Google Inc.</holder> - </copyright> - &dhdate; - </refentryinfo> - <refmeta> - &dhucpackage; - - &dhsection; - <refmiscinfo>Ganeti 2.2</refmiscinfo> - </refmeta> - <refnamediv> - <refname>&dhpackage;</refname> - - <refpurpose>Instance operating system administration</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>&dhpackage; </command> - - <arg choice="req">command</arg> - <arg>arguments...</arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>DESCRIPTION</title> - - <para> - The <command>&dhpackage;</command> is used for managing the list - of available operating system flavours for the instances in the - Ganeti cluster. - </para> - - </refsect1> - <refsect1> - <title>COMMANDS</title> - - <cmdsynopsis> - <command>list</command> - </cmdsynopsis> - - <para> - Gives the list of available/supported OS to use in the - instances. When creating the instance you can give the OS-name - as an option. - </para> - - <para> - Note that hidden or blacklisted OSes are not displayed by this - command, use <command>diagnose</command> for showing those. - </para> - - <cmdsynopsis> - <command>diagnose</command> - </cmdsynopsis> - - <para> - This command will help you see why an installed OS is not - available in the cluster. The <command>list</command> command - shows only the OS-es that the cluster sees available on all - nodes. It could be that some OS is missing from a node, or is - only partially installed, and this command will show the details - of all the OSes and the reasons they are or are not valid. - </para> - - <cmdsynopsis> - <command>info</command> - </cmdsynopsis> - - <para> - This command will list detailed information about each OS - available in the cluster, including its validity status, the - supported API versions, the supported parameters (if any) and - their documentations, etc. - </para> - - <cmdsynopsis> - <command>modify</command> - <arg>-H <replaceable>HYPERVISOR</replaceable><arg>:<arg choice="plain" rep="repeat">option=<replaceable>value</replaceable></arg></arg></arg> - <arg choice="req"><replaceable>OS</replaceable></arg> - </cmdsynopsis> - - <para> - This command will allow you to modify OS parameters. - - </para> - - <para> - To modify the per-OS hypervisor parameters (which override the - global hypervisor parameters), you can run modify - <option>-H</option> with the same syntax as in - <command>gnt-cluster init</command> to override default hypervisor - parameters of the cluster for specified - <replaceable>OS</replaceable> argument. - </para> - - <para> - To modify the hidden and blacklisted states of an OS, pass the - options <option>--hidden <replaceable>yes|no</replaceable></option>, - or respectively <option>--blacklisted ...</option>. The 'hidden' - state means that an OS won't be listed by default in the OS - list, but is available for installation. The 'blacklisted' state - means that the OS is not listed and is also not allowed for new - instance creations (but can be used for reinstalling old - instances). - </para> - - <para> - Note: The <replaceable>OS</replaceable> doesn't have to exists. - This allows preseeding the settings for - <replaceable>OS</replaceable>es not yet known to - <command>gnt-os</command>. - </para> - - </refsect1> - - &footer; - -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:2 -sgml-indent-data:t -sgml-parent-document:nil -sgml-default-dtd-file:nil -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> -- GitLab