diff --git a/Makefile.am b/Makefile.am
index 7d7dcbd6e91a917393df4f11691f39ee7e4d0edf..ddbce67d9bc4c0309485d42a698f6a69593dc17b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -186,7 +186,9 @@ man_MANS = \
man/ganeti-watcher.8 \
man/gnt-backup.8 \
man/gnt-cluster.8 \
+ man/gnt-debug.8 \
man/gnt-instance.8 \
+ man/gnt-job.8 \
man/gnt-node.8 \
man/gnt-os.8
@@ -309,6 +311,7 @@ $(REPLACE_VARS_SED): Makefile stamp-directories
echo 's#@GANETI_VERSION@#$(PACKAGE_VERSION)#g'; \
echo 's#@CUSTOM_XEN_KERNEL@#$(XEN_KERNEL)#g'; \
echo 's#@CUSTOM_XEN_INITRD@#$(XEN_INITRD)#g'; \
+ echo 's#@RPL_FILE_STORAGE_DIR@#$(FILE_STORAGE_DIR)#g'; \
echo '/@INCLUDE_RAPI_RESOURCES@/ {'; \
echo ' r $(abs_top_builddir)/doc/rapi-resources.sgml'; \
echo ' d'; \
diff --git a/man/footer.sgml b/man/footer.sgml
index afd0d955a7ea7cbaf5abe6737d7056aa9a0f7bf1..70582739f668ad4e174a7f6497930316946d09d2 100644
--- a/man/footer.sgml
+++ b/man/footer.sgml
@@ -28,6 +28,10 @@
gnt-cluster8
(cluster-wide commands),
+
+ gnt-job
+ 8
+ (job-related commands),
gnt-node8
@@ -43,7 +47,11 @@
gnt-backup8
- (instance import/export commands).
+ (instance import/export commands),
+
+ gnt-debug
+ 8
+ (debug commands).
Ganeti daemons:
diff --git a/man/ganeti.sgml b/man/ganeti.sgml
index 40c6c77b7cd6bb796466a3f7765665bf3dbe4130..9a5ddd022e10d1ae98e815f1fd554ba8f201cd73 100644
--- a/man/ganeti.sgml
+++ b/man/ganeti.sgml
@@ -2,7 +2,7 @@
- June 16, 2007">
+ February 12, 2009">
7">
@@ -20,6 +20,8 @@
20062007
+ 2008
+ 2009Google Inc.
&dhdate;
@@ -28,7 +30,7 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;
@@ -40,8 +42,8 @@
# gnt-cluster init cluster1.example.com
# gnt-node add node2.example.com
-# gnt-os add -o debian-etch -p /srv/ganeti/os/debian-etch
-# gnt-instance add -n node2.example.com -o debian-etch -s 128 -m 8 \
+# gnt-instance add -n node2.example.com \
+> -o debootstrap --disk 0:size=30g \
> -t plain instance1.example.com
@@ -51,7 +53,8 @@
The ganeti software manages physical nodes and virtual instances
of a cluster based on a virtualization software. The current
- version (1.2) supports Xen 3.0 (also tested with 3.1).
+ version (2.0) supports Xen 3.0 (also tested with 3.1) and KVM
+ hypervisors.
@@ -62,7 +65,7 @@
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
- gnt-cluster init.
+ gnt-cluster init.
@@ -71,6 +74,150 @@
+
+ Cluster architecture
+
+
+ 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 (
+ ganeti-masterd
+ 8), running on the master
+ node. Each node runs (as before) a node daemon, and the master
+ has the RAPI daemon running too.
+
+
+
+ Node roles
+
+ Each node can be in one of the following states:
+
+
+ master_candidate
+
+ The node receives the full cluster configuration
+ (configuration file and jobs) and can become a master
+ via the gnt-cluster masterfailover
+ command. Nodes that are not in this state cannot
+ transition into the master role due to missing
+ state.
+
+
+
+ regular
+
+ This the normal state of a node.
+
+
+
+ drained
+
+ Nodes in this state are functioning normally but
+ cannot receive new instance, because the intention is to
+ set them to offline or remove them
+ from the cluster.
+
+
+
+ offline
+
+ These nodes are still recorder 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.
+
+
+
+
+
+
+
+ Cluster configuration
+
+ The master node keeps and is responsible for the cluster
+ configuration. On the filesystem, this is stored under the
+ @LOCALSTATEDIR@/ganeti/lib
+ directory, and if the master daemon is stopped it can be backed
+ up normally.
+
+ The master daemon will replicate the configuration
+ database called config.data 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
+ ssconf files, which are stored in the same
+ directory and start with ssconf_ prefix, to
+ all nodes.
+
+
+
+
+ Jobs
+
+
+ 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:
+
+
+ queued
+
+ The job has been submitted but not yet
+ processed by the master daemon.
+
+
+
+ waiting
+
+ The job is waiting for for locks before the
+ first of its opcodes.
+
+
+
+ canceling
+
+ The jos is waiting for locks, but is has been
+ marked for cancelation. It will not transition to
+ running, but to
+ canceled.
+
+
+
+
+ running
+
+ The job is currently being executed.
+
+
+
+ canceled
+
+ The job has been canceled before starting
+ execution.
+
+
+
+ success
+
+ The job has finished successfully.
+
+
+
+ error
+
+ The job has failed during runtime, or the master
+ daemon has been stopped during the job execution.
+
+
+
+
+
+
+
&footer;
diff --git a/man/gnt-backup.sgml b/man/gnt-backup.sgml
index b9d630481d3b3b04067a4699fbf0633f8ae8aeb6..fec40912f722986ed49549ce234f68d753dd8db2 100644
--- a/man/gnt-backup.sgml
+++ b/man/gnt-backup.sgml
@@ -2,7 +2,7 @@
- Jul 6, 2007">
+ February 11, 2009">
8">
@@ -19,6 +19,8 @@
2007
+ 2008
+ 2009Google Inc.
&dhdate;
@@ -27,7 +29,7 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;
@@ -92,29 +94,33 @@
IMPORTimport
-
+
- -n node:secondary-node
- --iallocator name
+ -n node:secondary-node--iallocator
+ name
- -s disksize
- --swap-size disksize
- -m memsize
+ --disk N:size=VAL,mode=ro|rw
-
- -b bridge
- --mac mac
+
+ --net N:options
+ --no-nics
+
+
+ -B BEPARAMS
+
+ -H HYPERVISOR:option=value
- --src-node=source-node
- --src-dir=source-dir
+ --src-node=source-node
+ --src-dir=source-dir-tdisklessplaindrbd
+ file
@@ -124,47 +130,103 @@
Imports a new instance from an export residing on
source-node in
source-dir.
- instance must be in DNS and
- resolve to a IP in the same network as the nodes in the
- cluster.
+ instance 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
+ list command.
- The option specifies the disk size for
- the instance, in mebibytes (defaults to
- 20480MiB =
- 20GiB). You can also use one of the
- suffixes m, g or
+ The 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,
+ 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
+ m, g or
t to specificy the exact the units used;
these suffixes map to mebibytes, gibibytes and tebibytes.
- The option specifies the swap
- disk size (in mebibytes) for the instance (the one presented
- as /dev/sdb). The
- default is 4096MiB. As for the disk
- size, you can specify other suffixes.
+ The minimum disk specification is therefore --disk
+ 0:size=20G, and a three-disk instance can be
+ specified as --disk 0:size=20G --disk 1:size=4G
+ --disk 2:size=100G.
- The option specifies the memory size for
- the instance, in mebibytes (defaults to 128 MiB). Again, you
- can use other suffixes (e.g. 2g).
+ The NICs of the instances can be specified via the
+ option. By default, one NIC is created
+ for the instance, with the MAC set to the original MAC of the
+ instance (as it was at export time). Each NIC can take up to
+ three parameters (all optional):
+
+
+ mac
+
+ either a value or GENERATE
+ to generate a new unique MAC, or
+ AUTO to reuse the old MAC
+
+
+
+ ip
+
+ 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)
+
+
+
+ bridge
+
+ specifies the bridge to attach this NIC
+ to
+
+
+
- The option specifies the bridge to which the
- instance will be connected. (defaults to the cluster-wide default
- bridge specified at cluster intialization time).
+ Alternatively, if no network is desired for the instance, you
+ can prevent the default of one NIC with the
+ option.
- The option specifies the mac address for the
- instance. The default is 'auto' which is reusing the previous mac
- address if the instance is being imported with the same name, and
- generating a new one otherwise. You can also force generation by
- specifying 'generate'.
+ The option specifies the backend
+ parameters for the instance. If no such parameters are
+ specified, the values are inherited from the cluster. Possible
+ parameters are:
+
+
+ memory
+
+ the memory size of the instance; as usual,
+ suffixes can be used to denote the unit, otherwise the
+ value is taken in mebibites
+
+
+
+ vcpus
+
+ the number of VCPUs to assign to the instance
+ (if this value makes sense for the hypervisor)
+
+
+
+ auto_balance
+
+ whether the instance is considered in the N+1
+ cluster checks (enough redundancy in the cluster to
+ survive a node failure)
+
+
+
@@ -195,6 +257,18 @@
+
+ file
+
+ Disk devices will be backed up by files, under the
+ @RPL_FILE_STORAGE_DIR@. 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.
+
+
@@ -208,7 +282,7 @@
The optional second value of the is used for
- the remote raid template type and specifies the remote node.
+ the drbd template and specifies the remote node.
@@ -220,9 +294,8 @@
Example:
-# gnt-backup import -t plain -s 30 -m 512 -n node1.example.com \
-> --src-node=node2.example.com \
-> --src-dir=/srv/ganeti/export/instance3.example.com \
+# gnt-backup import -t plain --disk 0:size=1G -B memory=512 \
+> -n node1.example.com \
> instance3.example.com
@@ -251,6 +324,22 @@
+
+ REMOVE
+
+ remove
+ instance_name
+
+
+
+ Removes the backup for the given instance name, if any. If the
+ backup was for a deleted instances, it is needed to pass the
+ FQDN of the instance, and not only the
+ short hostname.
+
+
+
+
&footer;
diff --git a/man/gnt-cluster.sgml b/man/gnt-cluster.sgml
index cdeb50138d115eef7592e29da4e89d084374977b..17fc2064d0b87152c453783b063e91ebf0443a37 100644
--- a/man/gnt-cluster.sgml
+++ b/man/gnt-cluster.sgml
@@ -2,7 +2,7 @@
- December 12, 2007">
+ February 12, 2009">
8">
@@ -20,6 +20,8 @@
20062007
+ 2008
+ 2009Google Inc.
&dhdate;
@@ -28,7 +30,7 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;
@@ -105,9 +107,9 @@
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 (it's smarter so that
+ execution order is somewhat alphabetic, so that
node2.example.com will be earlier than node10.example.com but
- after node1.example.com).
+ after node1.example.com.
@@ -208,17 +210,29 @@
init
+ -s secondary_ip
+ -b bridge
+ -g vg-name
+ --master-netdev vg-name
+ -m mac-prefix
+ --no-lvm-storage
+ --file-storage-dir dir
+ --enabled-hypervisors hypervisors
+ -t hypervisor name
+ --hypervisor-parameters hv-params
+ --backend-parameters be-params
+ clustername
@@ -404,222 +418,11 @@
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 with the following keys:
-
-
-
-
-
- xen-pvm
-
-
-
-
- kernel_path
-
-
-
- Sets the path to the instance kernel, if not
- specified, the value /boot/vmlinuz-2.6-xenU will
- be used.
-
-
-
-
-
- initrd_path
-
-
-
- Sets the path to the instance initrd, if not
- specified, no initrd will be used.
-
-
-
-
-
-
-
- xen-hvm
-
-
-
-
- boot_order
-
-
-
- Boot device order for instances. Several single
- letter device entries can be combined together
- without a separator. If not specified, the value
- cd will be used. Available boot device entries are:
-
-
-
- a
-
-
- floppy drive
-
-
-
-
- c
-
-
- hard disk
-
-
-
-
- d
-
-
- CDROM drive
-
-
-
-
- n
-
-
- network boot (PXE)
-
-
-
-
-
-
-
-
- cdrom_image_path
-
-
-
- Sets the path to the file Xen uses to
- emulate a virtual CDROM drive for
- instances. Valid values are either an absolute
- path to an existing file or the value None,
- which disables virtual CDROM support. If not
- specified, the value None will be used.
-
-
-
-
-
- nic_type
-
-
-
- Sets the NIC type Xen should use for this
- HVM instance. Valid choices are rtl8139,
- ne2k_pci, ne2k_isa and paravirtual. The
- paravirtual setting is intended for use with the
- GPL PV drivers inside HVM Windows instances. If
- not specified, the value rtl8139 will be used.
-
-
-
-
-
- disk_type
-
-
-
- Sets the disk type Xen should use for the
- HVM instance. Valid choices are ioemu and
- paravirtual. The paravirtual setting is intended
- for use with the GPL PV drivers inside HVM
- Windows instances. If not specified, the value
- ioemu will be used.
-
-
-
-
-
- vnc_bind_address
-
-
-
- Sets 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 or specify the
- address of one of the interfaces on the node to
- restrict listening to that interface. If not
- specified, the value 0.0.0.0 will be used.
-
-
-
-
-
- acpi
-
-
-
- Sets if Xen should enable ACPI support for
- HVM instances. Valid values are true or
- false. If not specified, the value true will be
- used.
-
-
-
-
-
- pae
-
-
-
- Sets if Xen should enabled PAE support for
- this HVM instance. Valid values are true or
- false. If not specified, the value true will be
- used.
-
-
-
-
-
-
-
- kvm
-
-
-
-
- kernel_path
-
-
-
- Sets the path to the instance kernel, if not
- specified, the valee /boot/vmlinuz-2.6-xenU will
- be used.
-
-
-
-
-
- initrd_path
-
-
-
- Sets the path to the instance initrd, if not
- specified, no initrd will be used.
-
-
-
-
-
-
-
- fake
-
-
- There are currently no parameters for the fake
- hypervisor.
-
-
-
-
+ key=value pairs. The keys available for each hypervisors are
+ detailed int the
+ gnt-instance
+ 8 man page, in the
+ add command.
@@ -651,14 +454,21 @@
modify
+ -g vg-name
+ --no-lvm-storage
+ --enabled-hypervisors
hypervisors
+ --hypervisor-parameters
hv-params
+ --backend-parameters
be-params
+
+ -C candidate_pool_size
@@ -673,6 +483,18 @@
options are
described in the init command.
+
+
+ The options specifies the
+ candidate_pool_size cluster parameter. This
+ is the number of nodes that the master will try to keep as
+ master_candidates. For more details about
+ this role and other node roles, see the
+ ganeti7
+ . If you increase the size, the master will
+ automatically promote as many nodes as required and possible
+ to reach the intended number.
+
@@ -707,6 +529,29 @@
+
+ redist-conf
+
+ redist-conf
+ --submit
+
+
+
+ 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
+ verify complains about configuration
+ mismatches.
+
+
+
+ The 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
+ gnt-job info.
+
+
+ REMOVE-TAGS
diff --git a/man/gnt-debug.sgml b/man/gnt-debug.sgml
new file mode 100644
index 0000000000000000000000000000000000000000..26639d56405c11822717007a0fc83685cae55908
--- /dev/null
+++ b/man/gnt-debug.sgml
@@ -0,0 +1,181 @@
+
+
+ February 12, 2009">
+
+ 8">
+ gnt-debug">
+
+
+ Debian">
+ GNU">
+ GPL">
+
+]>
+
+
+
+
+ 2006
+ 2007
+ 2008
+ 2009
+ Google Inc.
+
+ &dhdate;
+
+
+ &dhucpackage;
+
+ &dhsection;
+ ganeti 2.0
+
+
+ &dhpackage;
+
+ debug commands
+
+
+
+ &dhpackage;
+
+ command
+ arguments...
+
+
+
+ DESCRIPTION
+
+
+ The &dhpackage; is used for debugging the
+ ganeti system.
+
+
+
+
+ COMMANDS
+
+
+ ALLOCATOR
+
+
+ allocator
+ --debug
+ --dir DIRECTION
+ --algorithm ALLOCATOR
+
+ --mode MODE
+ --mem MEMORY
+ --disks DISKS
+ --disk-template TEMPLATE
+ --nics NICS
+ --os-type OS
+ --vcpus VCPUS
+ --tags TAGS
+ instance
+
+
+
+ Executes a test run of the iallocator framework.
+
+
+
+ The command will build input for a given iallocator script
+ (named with the option), and
+ either show this input data (if
+ DIRECTION is
+ in) or run the iallocator script and show
+ its output (if DIRECTION is
+ out).
+
+
+
+ If the MODE is
+ allocate, then an instance definition is
+ built from the other arguments and sent to the script,
+ otherwise (MODE is
+ relocate) an existing instance name must
+ be passed as the first argument.
+
+
+
+ This build of ganeti will look for iallocator scripts in the
+ following directories: @CUSTOM_IALLOCATOR_SEARCH_PATH@;
+ for more details about this framework, see the HTML or PDF
+ documentation.
+
+
+
+ DELAY
+
+
+ delay
+ --debug
+ --no-master
+ -n NODE
+ duration
+
+
+
+ Run a test opcode (a sleep) on the master (internally in the
+ command) and on selected nodes (via an RPC call). This server
+ no other purpose but to execute a test operation.
+
+
+
+ The 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 is passed.
+
+
+
+ The delay argument will be
+ interpreted as a floating point number.
+
+
+
+
+
+ SUBMIT-JOB
+
+
+ submit-job
+
+ opcodes_file
+
+
+
+ This command builds a list of opcodes from a JSON-format file
+ and submits them as a single job to the master daemon. It can
+ be used to test some options that are not available via the
+ command line.
+
+
+
+
+
+
+ &footer;
+
+
+
+
diff --git a/man/gnt-instance.sgml b/man/gnt-instance.sgml
index e6d190ecec860a72d892103b4c4f16acd3b64147..c6c511c038e8b80e7a41ed25c58b8b2685886a6d 100644
--- a/man/gnt-instance.sgml
+++ b/man/gnt-instance.sgml
@@ -2,7 +2,7 @@
- May 29, 2008">
+ February 11, 2009">
8">
@@ -21,6 +21,7 @@
200620072008
+ 2009Google Inc.
&dhdate;
@@ -29,7 +30,7 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;
@@ -63,48 +64,18 @@
ADDadd
- -s disksize
- --swap-size disksize
- -m memsize
-
- -b bridge
- --mac MAC-address
-
-
- --hvm-boot-order boot-order
- --hvm-acpi ACPI-support
-
-
- --hvm-pae PAE-support
-
-
- --hvm-cdrom-image-path
- cdrom-image-path
+ --disk=N:size=VAL,mode=ro|rw
-
- --hvm-nic-type NICTYPE
-
-
- --hvm-disk-type
- DISKTYPE
-
-
- --vnc-bind-address
- vnc-bind-address
+
+ --net=N:options
+ --no-nics
+
-
- --kernel
- default
- kernel_path
-
+ -B BEPARAMS
- --initrd
- default
- none
- initrd_path
-
+ -H HYPERVISOR:option=value--file-storage-dir dir_path
@@ -130,159 +101,363 @@
-o os-type
+ --submit
+ instance
- Creates a new instance on the specified
- host. instance must be in DNS and
- resolve to a IP in the same network as the nodes in the
- cluster.
+ Creates a new instance on the specified host. The
+ instance argument must be in DNS,
+ but depending on the bridge setup, need not be in the same
+ network as the nodes in the cluster.
- The option specifies the disk size for
- the instance, in mebibytes (defaults to
- 20480MiB =
- 20GiB). You can also use one of the
- suffixes m, g or
+ The 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, 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
+ m, g or
t to specificy the exact the units used;
these suffixes map to mebibytes, gibibytes and tebibytes.
- The option specifies the swap
- disk size (in mebibytes) for the instance (the one presented
- as /dev/sdb). The
- default is 4096MiB. As for the disk
- size, you can specify other suffixes.
+ The minimum disk specification is therefore
+ --disk 0:size=20G, and a three-disk
+ instance can be specified as --disk 0:size=20G
+ --disk 1:size=4G --disk 2:size=100G.
- The option specifies the memory size for
- the instance, in mebibytes (defaults to 128 MiB). Again, you
- can use other suffixes (e.g. 2g).
+ The NICs of the instances can be specified via the
+ option. By default, one NIC is
+ created for the instance, with a random MAC, and connected
+ to the default bridge. Each NIC can take up to three
+ parameters (all optional):
+
+
+ mac
+
+ either a value or GENERATE
+ to generate a new unique MAC
+
+
+
+ ip
+
+ 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)
+
+
+
+ bridge
+
+ specifies the bridge to attach this NIC
+ to
+
+
+
- The options specifies the operating
- system to be installed. The available operating systems can
- be listed with gnt-os list.
+ Alternatively, if no network is desired for the instance, you
+ can prevent the default of one NIC with the
+ option.
- The option specifies the bridge to which the
- instance will be connected. (defaults to the cluster-wide default
- bridge specified at cluster initialization time).
+ The options specifies the operating
+ system to be installed. The available operating systems can
+ be listed with gnt-os list.
- The option specifies the MAC address
- of the ethernet interface for the instance. If this option
- is not specified, a new MAC address is generated randomly with
- the configured MAC prefix. The randomly generated MAC
- address is guaranteed to be unique among the instances of
- this cluster.
+ The option specifies the backend
+ parameters for the instance. If no such parameters are
+ specified, the values are inherited from the cluster. Possible
+ parameters are:
+
+
+ memory
+
+ the memory size of the instance; as usual,
+ suffixes can be used to denote the unit, otherwise the
+ value is taken in mebibites
+
+
+
+ vcpus
+
+ the number of VCPUs to assign to the instance
+ (if this value makes sense for the hypervisor)
+
+
+
+ auto_balance
+
+ whether the instance is considered in the N+1
+ cluster checks (enough redundancy in the cluster to
+ survive a node failure)
+
+
+
- The option specifies the
- boot device order for Xen HVM instances. The boot order is a
- string of letters listing the boot devices, with valid
- device letters being:
+ The 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 -H
+ NAME) the instance
+ will inherit the cluster options. The defaults below show
+ the cluster defaults at cluster creation time.
+ The possible hypervisor options are as follows:
- a
+ boot_order
+ Valid for the Xen HVM and KVM
+ hypervisors.
+
+ A string value denoting the boot order. This
+ has different meaning for the Xen HVM hypervisor and
+ for the KVM one.
+
+
+ For Xen HVM, The boot order is a string of letters
+ listing the boot devices, with valid device letters
+ being:
+
+
+
+ a
+
+
+ floppy drive
+
+
+
+
+ c
+
+
+ hard disk
+
+
+
+
+ d
+
+
+ CDROM drive
+
+
+
+
+ n
+
+
+ network boot (PXE)
+
+
+
+
+
+ The default is not to set an HVM boot order which is
+ interpreted as 'dc'.
+
+
+
+
+
+ cdrom_image_path
+
+ Valid for the Xen HVM and KVM hypervisors.
+
+ The path to a CDROM image to attach to the
+ instance.
+
+
+
+
+ nic_type
+
+ Valid for the Xen HVM and KVM hypervisors.
+
- floppy drive
+ This parameter determines the way the network cards
+ are presented to the instance. The possible options are:
+
+ rtl8139 (default for Xen HVM) (HVM & KVM)
+ ne2k_isa (HVM & KVM)
+ ne2k_pci (HVM & KVM)
+ i82551 (KVM)
+ i82557b (KVM)
+ i82559er (KVM)
+ pcnet (KVM)
+ e1000 (KVM)
+ paravirtual (default for KVM) (HVM & KVM)
+
- c
+ disk_type
+ Valid for the Xen HVM and KVM hypervisors.
+
- hard disk
+ This parameter determines the way the disks are
+ presented to the instance. The possible options are:
+
+ ioemu (default for HVM & KVM) (HVM & KVM)
+ ide (HVM & KVM)
+ scsi (KVM)
+ sd (KVM)
+ mtd (KVM)
+ pflash (KVM)
+
- d
+ vnc_bind_address
+ Valid for the Xen HVM and KVM hypervisors.
+
+ 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.
+
+
+
+
+ vnc_tls
+
+ Valid for the KVM hypervisor.
+
+ A boolean option that controls whether the
+ VNC connection is secured with TLS.
+
+
+
+
+ vnc_x509_path
+
+ Valid for the KVM hypervisor.
+
+ If is enabled, this
+ options specifies the path to the x509 certificate to
+ use.
+
+
+
+
+ vnc_x509_verify
+
+ Valid for the KVM hypervisor.
+
+
+
+
+ acpi
+
+ Valid for the Xen HVM and KVM hypervisors.
+
- CDROM drive
+ A boolean option that specifies if the hypervisor
+ should enable ACPI support for this instance. By
+ default, ACPI is disabled.
+
- n
+ pae
+ Valid for the Xen HVM and KVM hypervisors.
+
- network boot (PXE)
+ A boolean option that specifies if the hypervisor
+ should enabled PAE support for this instance. The
+ default is false, disabling PAE support.
-
-
-
- The default is not to set an HVM boot order which is
- interpreted as 'dc'. This option, like all options starting
- with 'hvm', is only relevant for Xen HVM instances and
- ignored by all other instance types.
-
+
+ kernel_path
+
+ Valid for the Xen PVM and KVM hypervisors.
-
- The option specifies if Xen
- should enable ACPI support for this HVM instance. Valid
- values are true or false. The default value is false,
- disabling ACPI support for this instance.
-
+
+ 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.
+
+
+
-
- The option specifies if Xen
- should enabled PAE support for this HVM instance. Valid
- values are true or false. The default is false, disabling
- PAE support for this instance.
-
+
+ initrd_path
+
+ Valid for the Xen PVM and KVM hypervisors.
-
- The option specifies the
- path to the file Xen uses to emulate a virtual CDROM drive
- for this HVM instance. Valid values are either an
- absolute path to an existing file or None, which disables
- virtual CDROM support for this instance. The default is
- None, disabling virtual CDROM support.
-
+
+ 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
+ is also specified.
+
+
+
-
- The specifies the NIC type
- Xen should use for this HVM instance. Valid choices are
- rtl8139, ne2k_pci, ne2k_isa and paravirtual with rtl8139
- as the default. The paravirtual setting is intended for use
- with the GPL PV drivers inside HVM Windows instances.
-
+
+ root_path
+
+ Valid for the Xen PVM and KVM hypervisors.
-
- The specifies the disk type
- Xen should use for the HVM instance. Valid choices are ioemu
- and paravirtual with ioemu as the default. The paravirtual
- setting is intended for use with the GPL PV drivers inside
- HVM Windows instances.
+
+ 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 is also
+ specified.
+
+
+
+
+
+ serial_console
+
+ Valid for the KVM hypervisor.
+
+ This boolean option specifies whether to
+ emulate a serial console for the instance.
+
+
+
- The option 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.
@@ -293,27 +468,6 @@
information please refer to the instance allocator documentation.
-
- The option allows the instance to
- use a custom kernel (if a filename is passed) or to use the
- default kernel (@CUSTOM_XEN_KERNEL@), if the
- string default is passed.
-
-
-
- The option is similar: it allows
- the instance to use a custom initrd (if a filename is
- passed) or to use the default initrd
- (@CUSTOM_XEN_INITRD@), if the string
- default is passed, or to disable the
- use of an initrd, if the string none is
- passed. Note that in the case the instance is set to use the
- default initrd and it doesn't exist, it will be silently
- ignored; if the instance is set to use a custom initrd and
- it doesn't exist, this will be treated as an error and will
- prevent the startup of the instance.
-
-
The options specifies the disk layout type for
the instance. The available choices are:
@@ -382,55 +536,195 @@
loop
- Kernel loopback driver.
+
+ 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.
+ blktap
- blktap driver.
+ 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.
+
- The loop 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.
-
-
-
- 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.
+ The 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
+ gnt-job info.
Example:
-# gnt-instance add -t file -s 30g -m 512 -o debian-etch \
+# 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 -s 30g -m 512 -o debian-etch \
+# 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 -s 30g -m 512 -o debian-etch \
+# 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
+
+ BATCH-CREATE
+
+ batch-create
+ instances_file.json
+
+
+
+ This command (similar to the Ganeti 1.2
+ batcher tool) submits multiple instance
+ creation jobs based on a definition file. The instance
+ configurations do not encompass all the possible options for
+ the add command, but only a subset.
+
+
+
+ The instance file should be a valid-formed JSON file,
+ containing a dictionary with instance name and instance
+ parameters. The accepted parameters are:
+
+
+
+ disk_size
+
+ The size of the disks of the instance.
+
+
+
+ disk_templace
+
+ The disk template to use for the instance,
+ the same as in the add
+ command.
+
+
+
+ backend
+
+ A dictionary of backend parameters.
+
+
+
+ hypervisor
+
+ 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.
+
+
+
+ mac, ip, bridge
+
+ Specifications for the one NIC that will be
+ created for the instance.
+
+
+
+ primary_node, secondary_node
+
+ The primary and optionally the secondary node
+ to use for the instance (in case an iallocator script
+ is not used).
+
+
+
+ iallocator
+
+ Instead of specifying the nodes, an
+ iallocator script can be used to automatically compute
+ them.
+
+
+
+ start
+
+ whether to start the instance
+
+
+
+ ip_check
+
+ Skip the check for already-in-use instance;
+ see the description in the add
+ command for details.
+
+
+
+ file_storage_dir, file_driver
+
+ Configuration for the file
+ disk type, see the add command for
+ details.
+
+
+
+
+
+
+ A simple definition for one instance can be (with most of
+ the parameters taken from the cluster defaults):
+
+{
+ "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}
+ }
+}
+
+
+
+
+ The command will display the job id for each submitted instance, as follows:
+
+# gnt-instance batch-create instances.json
+instance3: 11224
+instance5: 11225
+
+
+
+
+
REMOVEremove--ignore-failures
+ --submitinstance
@@ -451,6 +745,13 @@
stop at the first error.
+
+ The 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
+ gnt-job info.
+
+
Example:
@@ -467,13 +768,13 @@
--no-headers--separator=SEPARATOR-o [+]FIELD,...
+ instance
Shows the currently configured instances with memory usage,
- disk usage, the node they are running on, and the CPU time,
- counted in seconds, used by each instance since its latest
- restart.
+ disk usage, the node they are running on, and their run
+ status.
@@ -521,12 +822,6 @@
not)
-
- admin_ram
-
- the desired memory for the instance
-
- disk_template
@@ -570,19 +865,19 @@
ipthe ip address ganeti recognizes as associated with
- the instance interface
+ the first instance interface
mac
- the instance interface MAC address
+ the first instance interface MAC addressbridge
- bridge the instance is connected to
+ the bridge of the first instance NIC
@@ -595,7 +890,8 @@
sdb_size
- the size of the instance's second disk
+ the size of the instance's second disk, if
+ any
@@ -618,7 +914,129 @@
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 detect modifications
+ to track modifications
+
+
+
+ network_port
+
+ If the instance has a network port assigned
+ to it (e.g. for VNC connections), this will be shown,
+ otherwise - will be
+ displayed.
+
+
+
+ beparams
+
+ A text format of the entire beparams for the
+ instance. It's more useful to select individual fields
+ from this dictionary, see below.
+
+
+
+ disk.count
+
+ The number of instance disks.
+
+
+
+ disk.size/N
+
+ The size of the instance's Nth disk. This is
+ a more generic form of the sda_size
+ and sdb_size fields.
+
+
+
+ disk.sizes
+
+ A comma-separated list of the disk sizes for
+ this instance.
+
+
+
+ disk_usage
+
+ 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.
+
+
+
+ nic.mac/N
+
+ The MAC of the Nth instance NIC.
+
+
+
+ nic.ip/N
+
+ The IP address of the Nth instance NIC.
+
+
+
+ nic.bridge/N
+
+ The bridge the Nth instance NIC is attached
+ to.
+
+
+
+ nic.macs
+
+ A comma-separated list of all the MACs of the
+ instance's NICs.
+
+
+
+ nic.ips
+
+ A comma-separated list of all the IP
+ addresses of the instance's NICs.
+
+
+
+ nic.bridges
+
+ A comma-separated list of all the bridges of the
+ instance's NICs.
+
+
+
+ nic.count
+
+ The number of instance nics.
+
+
+
+ hv/NAME
+
+ The value of the hypervisor parameter called
+ NAME. For details of what
+ hypervisor parameters exist and their meaning, see the
+ add command.
+
+
+
+ be/memory
+
+ The configured memory for the instance.
+
+
+
+ be/vcpus
+
+ The configured number of VCPUs for the
+ instance.
+
+
+
+ be/auto_balance
+
+ Whether the instance is considered in N+1
+ checks.
@@ -626,7 +1044,7 @@
If the value of the option starts with the character
- +, the new fields will be added to the
+ +, 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.
@@ -687,99 +1105,70 @@
modify
- -m memsize
- -p vcpus
- -i ip
- -b bridge
- --mac MAC-address
- --hvm-boot-order boot-order
- --hvm-acpi ACPI-support
- --hvm-pae PAE-support
- --hvm-cdrom-image-path
- cdrom-image-path
- --hvm-nic-type NICTYPE
- --hvm-disk-type DISKTYPE
- --vnc-bind-address
- vnc-bind-address
-
- --kernel
- default
- kernel_path
-
+ -H HYPERVISOR_PARAMETERS
+
+ -B BACKEND_PARAMETERS
+
+
+ --net add:options
+ --net remove
+ --net N:options
+
+
+
+ --disk add:size=SIZE
+ --disk remove
+ --disk N:mode=MODE
+
+
- --initrd
- default
- none
- initrd_path
-
+ --submitinstance
- Modify the memory size, number of vcpus, ip address, MAC
- address and/or bridge for an instance.
+ Modifies the memory size, number of vcpus, ip address, MAC
+ address and/or bridge 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.
- The memory size is given in MiB. Note that you need to give
- at least one of the arguments, otherwise the command
- complains.
+ The option specifies hypervisor options
+ in the form of name=value[,...]. For details which options can be specified, see the add command.
- The ,
- and
- options are described in the add command.
+ The option
+ adds a disk to the instance. The will remove the last disk of the
+ instance. The
+ option will change the mode of the Nth disk of the instance
+ between read-only (ro) and read-write
+ (rw).
- Additionally, the HVM boot order can be reset to the default
- values by using .
+ The option will
+ add a new NIC to the instance. The available options are the
+ same as in the add command (mac, ip,
+ bridge). The will remove the
+ last NIC of the instance, while the
+ option will change the parameters of the Nth instance NIC.
- The option specifies if Xen
- should enable ACPI support for this HVM instance. Valid
- values are true or false.
-
-
-
- The option specifies if Xen
- should enabled PAE support for this HVM instance. Valid
- values are true or false.
-
-
-
- The specifies the
- path to the file xen uses to emulate a virtual CDROM drive
- for this HVM instance. Valid values are either an
- absolute path to an existing file or None, which disables
- virtual CDROM support for this instance.
-
-
-
- The specifies the NIC type
- Xen should use for this HVM instance. Valid choices are
- rtl8139, ne2k_pci, ne2k_isa and paravirtual with rtl8139
- as the default. The paravirtual setting is intended for use
- with the GPL PV drivers inside HVM Windows instances.
-
-
-
- The specifies the disk type
- Xen should use for the HVM instance. Valid choices are ioemu
- and paravirtual with ioemu as the default. The paravirtual
- setting is intended for use with the GPL PV drivers inside
- HVM Windows instances.
-
-
-
- The 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.
+ The 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
+ gnt-job info.
@@ -796,6 +1185,7 @@
-o os-type-f force--select-os
+ --submitinstance
@@ -811,6 +1201,15 @@
interactive OS reinstall. The user is prompted to select the OS
template from the list of available OS templates.
+
+
+ The 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
+ gnt-job info.
+
+
+
@@ -819,6 +1218,7 @@
rename--no-ip-check
+ --submitinstancenew_name
@@ -832,6 +1232,14 @@
instance is started). The IP test can be skipped if the
option is passed.
+
+
+ The 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
+ gnt-job info.
+
+
@@ -844,9 +1252,12 @@
startup
+ --extra=PARAMS--force
+ --force-multiple
+ --instance--node
@@ -855,6 +1266,8 @@
--all
+ --submit
+ name
@@ -923,6 +1336,19 @@
failing.
+
+ The will skip the
+ interactive confirmation in the case the more than one
+ instance will be affected.
+
+
+
+ The 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
+ gnt-job info.
+
+
Example:
@@ -940,6 +1366,8 @@
shutdown
+ --force-multiple
+ --instance--node
@@ -948,7 +1376,8 @@
--all
-
+ --submit
+ name
@@ -968,6 +1397,14 @@
actual instances being shutdown.
+
+ The 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
+ gnt-job info.
+
+
+
Example:
@@ -999,7 +1436,8 @@
--all
-
+ --submit
+ name
@@ -1029,9 +1467,9 @@
- Use the option to keep
- gnt-instance from asking for confirmation when more than one
- instance is affected.
+ The will skip the
+ interactive confirmation in the case the more than one
+ instance will be affected.
@@ -1052,16 +1490,18 @@
- Connects to the console of the given instance. If the instance
- is not up, an error is returned. Use the
- option to display the command instead of executing it.
+ Connects to the console of the given instance. If the
+ instance is not up, an error is returned. Use the
+ option to display the command
+ instead of executing it.
- 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 gnt-instance info.
+ 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
+ info command.
@@ -1082,20 +1522,21 @@
replace-disks
+ --submit-pinstancereplace-disks
-
+ --submit-sinstancereplace-disks
-
+ --submit--iallocator name--new-secondary NODE
@@ -1127,6 +1568,19 @@
otherwise the new secondary node will be the one chosen
manually via the option.
+
+
+ The 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
+ gnt-job info.
+
+
+
+ Note that it is not possible to select an offline or drained
+ node as a new secondary.
+
+
@@ -1134,6 +1588,7 @@
activate-disks
+ --submitinstance
@@ -1141,17 +1596,25 @@
successful, the command will show the location and name of
the block devices:
-node1.example.com:sda:/dev/drbd0
-node1.example.com:sdb:/dev/drbd1
+node1.example.com:disk/0:/dev/drbd0
+node1.example.com:disk/1:/dev/drbd1
In this example, node1.example.com is
the name of the node on which the devices have been
- activated. The sda and
- sdb are the names of the block devices
- inside the instance. /dev/drbd0 and
- /dev/drbd1 are the names of the block
- devices as visible on the node.
+ activated. The disk/0 and
+ disk/1 are the Ganeti-names of the
+ instance disks; how they are visible inside the instance is
+ hypervisor-specific. /dev/drbd0 and
+ /dev/drbd1 are the actual block devices
+ as visible on the node.
+
+
+
+ The 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
+ gnt-job info.
@@ -1165,6 +1628,7 @@ node1.example.com:sdb:/dev/drbd1
deactivate-disks
+ --submitinstance
@@ -1176,6 +1640,13 @@ node1.example.com:sdb:/dev/drbd1
breaking the replication.
+
+ The 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
+ gnt-job info.
+
+
@@ -1183,6 +1654,7 @@ node1.example.com:sdb:/dev/drbd1
grow-disk--no-wait-for-sync
+ --submitinstancediskamount
@@ -1223,8 +1695,8 @@ node1.example.com:sdb:/dev/drbd1
- The disk argument is either
- sda or sdb. The
+ The disk argument is the index of
+ the instance disk to grow. The
amount 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
@@ -1245,15 +1717,22 @@ node1.example.com:sdb:/dev/drbd1
option.
+
+ The 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
+ gnt-job info.
+
+
- Example (increase sda for instance1 by 16GiB):
+ Example (increase the first disk for instance1 by 16GiB):
-# gnt-instance grow-disk instance1.example.com sda 16g
+# gnt-instance grow-disk instance1.example.com 0 16g
- Also note that disk shrinking will not be supported; use
+ Also note that disk shrinking is not supported; use
gnt-backup export and then
gnt-backup import to reduce the disk size
of an instance.
@@ -1272,6 +1751,7 @@ node1.example.com:sdb:/dev/drbd1
failover-f--ignore-consistency
+ --submitinstance
@@ -1292,6 +1772,13 @@ node1.example.com:sdb:/dev/drbd1
parallel (on disconnected DRBD drives).
+
+ The 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
+ gnt-job info.
+
+
Example:
@@ -1300,6 +1787,84 @@ node1.example.com:sdb:/dev/drbd1
+
+ MIGRATE
+
+
+ migrate
+ -f
+ --cleanup
+ instance
+
+
+
+ migrate
+ -f
+ --non-live
+ instance
+
+
+
+ Migrate will move the instance to its secondary node without
+ shutdown. It only works for instances having the drbd8 disk
+ template type.
+
+
+
+ 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.
+
+
+
+ The option 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).
+
+
+
+ If the 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 is ignored.
+
+
+
+ The option will skip the prompting for
+ confirmation.
+
+
+ Example (and expected output):
+
+# 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
+#
+
+
+
+
diff --git a/man/gnt-job.sgml b/man/gnt-job.sgml
new file mode 100644
index 0000000000000000000000000000000000000000..bf81ec7062e1c476caa9564b87008556633845e7
--- /dev/null
+++ b/man/gnt-job.sgml
@@ -0,0 +1,255 @@
+
+
+ February 12, 2009">
+
+ 8">
+ gnt-job">
+
+
+ Debian">
+ GNU">
+ GPL">
+
+]>
+
+
+
+
+ 2008
+ 2009
+ Google Inc.
+
+ &dhdate;
+
+
+ &dhucpackage;
+
+ &dhsection;
+ ganeti 2.0
+
+
+ &dhpackage;
+
+ job commands
+
+
+
+ &dhpackage;
+
+ command
+ arguments...
+
+
+
+ DESCRIPTION
+
+
+ The &dhpackage; is used for examining and
+ manipulating the job queue.
+
+
+
+
+ COMMANDS
+
+
+ ARCHIVE
+
+ archive
+
+ id
+
+
+ This command can be used to archive job by their IDs. Only
+ jobs that have finished execution (i.e either
+ success, error or
+ canceled jobs).
+
+
+
+
+ AUTOARCHIVE
+
+ autoarchive
+
+ age
+ all
+
+
+
+
+ Archive jobs by their age. This command can archive jobs older
+ than age seconds, or alternatively
+ all finished jobs can be archived if the string all
+ is passed.
+
+
+
+
+ CANCEL
+
+ cancel
+ id
+
+
+
+ Cancel the job identified by the given
+ id. Only jobs that have not yet
+ started to run can be canceled; that is, jobs in either the
+ queued or waiting
+ state.
+
+
+
+
+ INFO
+
+ cancel
+ id
+
+
+
+ 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).
+
+
+
+
+
+ LIST
+
+ list
+ --no-headers
+ --separator=SEPARATOR
+
+ -o [+]FIELD,...
+
+
+
+
+ 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.
+
+
+
+ The option will skip the initial
+ header line. The option takes an
+ argument which denotes what will be used between the output
+ fields. Both these options are to help scripting.
+
+
+
+ The option takes a comma-separated list of
+ output fields. The available fields and their meaning are:
+
+
+ id
+
+ the job id
+
+
+
+ status
+
+ the status of the job
+
+
+
+ received_ts
+
+ the timestamp the job was received
+
+
+
+ start_ts
+
+ the timestamp when the job was started
+
+
+
+ end_ts
+
+ the timestamp when the job was ended
+
+
+
+ summary
+
+ a summary of the opcodes that define the job
+
+
+
+ ops
+
+ the list of opcodes defining the job
+
+
+
+ opresult
+
+ the list of opcode results
+
+
+
+ opstatus
+
+ the list of opcode statuses
+
+
+
+ oplog
+
+ the list of opcode logs
+
+
+
+ opstart
+
+ the list of opcode start times
+
+
+
+ opend
+
+ the list of opcode end times
+
+
+
+
+
+
+ If the value of the option starts with the character
+ +, 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.
+
+
+
+
+
+ &footer;
+
+
+
+
diff --git a/man/gnt-node.sgml b/man/gnt-node.sgml
index 5b1b46871d1af45975699b1c07db5c4993cf63d5..62355f08941d9e161c10a31391cd24fa2240b22f 100644
--- a/man/gnt-node.sgml
+++ b/man/gnt-node.sgml
@@ -2,7 +2,7 @@
- June 20, 2007">
+ February 12, 2009">
8">
@@ -21,6 +21,7 @@
200620072008
+ 2009Google Inc.
&dhdate;
@@ -29,7 +30,7 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;
@@ -94,8 +95,12 @@
- In case you're readding a node after hardware failure, you
- can use the parameter.
+ In case you're readding a node after hardware failure, you can
+ use the parameter. In this case, you
+ don't need to pass the secondary IP again, it will reused from
+ the cluster. Also, the drained and
+ offline flags of the node will be cleared
+ before re-adding it.
@@ -138,21 +143,39 @@
evacuate-f
- source_node
- destination_node
+
+ --iallocator NAME
+ --new-secondary destination_node
+
+ node
- This command will change the secondary node from the source
- node to the destination node for all instances having the
- source node as secondary. It works only for instances having
- a drbd disk template.
+ This command will move all secondary instances away from the
+ given node. It works only for instances having a drbd disk
+ template.
+
+
+
+ The new location for the instances can be specified in two ways:
+
+
+ as a single node for all instances, via the
+ option
+
+
+ or via the option,
+ giving a script name as parameter, so each instance will
+ be in turn placed on the (per the script) optimal
+ node
+
+
Example:
- # gnt-node evacuate node1.example.com node2.example.com
+ # gnt-node evacuate -I dumb node3.example.com
@@ -208,17 +231,19 @@
list
+ --sync
+ --no-headers--separator=SEPARATOR
+
+ --units=UNITS-o [+]FIELD,...
+
+ node
- Lists the nodes in the cluster. If you give the
- option, the output contains just
- the node name, primary ip and secondary ip. In case the
- secondary ip is the same as the primary one, it will be listed
- as "-".
+ Lists the nodes in the cluster.
@@ -228,6 +253,24 @@
fields. Both these options are to help scripting.
+
+ 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 is given, then the values
+ are shown in mebibytes to allow parsing by scripts. In both
+ cases, the option can be used to
+ enforce a given output unit.
+
+
+
+ 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 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).
+
+
The option takes a comma-separated list of
output fields. The available fields and their meaning are:
@@ -342,6 +385,44 @@
modifications
+
+ ctotal
+
+ the toal number of logical processors
+
+
+
+ cnodes
+
+ the number of NUMA domains on the node, if the
+ hypervisor can export this information
+
+
+
+ csockets
+
+ the number of physical CPU sockets, if the
+ hypervisor can export this information
+
+
+
+ master_candidate
+
+ whether the node is a master candidate or not
+
+
+
+ drained
+
+ whether the node is drained or not
+
+
+
+ offline
+
+ whether the node is offline or not
+
+
@@ -355,7 +436,7 @@
Note that some of this fields are known from the configuration
- of the cluster (
+ of the cluster (e.g. namepinstsinstpipsip and thus the master does
@@ -370,9 +451,14 @@
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
- (UML), whereas others have separate memory
+ (KVM), whereas others have separate memory
for the node and for the instances (Xen).
+
+
+ If no node names are given, then all nodes are
+ queried. Otherwise, only the given nodes will be listed.
+
@@ -386,6 +472,36 @@
List the tags of the given node.
+
+ MIGRATE
+
+ migrate
+ -f
+ --non-live
+ node
+
+
+
+ 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.
+
+
+
+ As for the gnt-instance migrate command,
+ the option can be given to do a
+ non-live migration.
+
+
+
+ Example:
+
+ # gnt-node migrate node1.example.com
+
+
+
+
+
REMOVE
@@ -456,6 +572,16 @@
fields. Both these options are to help scripting.
+
+ 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 is given, then the values
+ are shown in mebibytes to allow parsing by scripts. In both
+ cases, the option can be used to
+ enforce a given output unit.
+
+
The option takes a comma-separated list of
output fields. The available fields and their meaning are:
diff --git a/man/gnt-os.sgml b/man/gnt-os.sgml
index 0f41d64c6e669787d230bb5d62432884a9ab0899..3432a3d571a8784e9cd88ce2aee056145274edc7 100644
--- a/man/gnt-os.sgml
+++ b/man/gnt-os.sgml
@@ -2,7 +2,7 @@
- August 10, 2006">
+ February 12, 2009">
8">
@@ -20,6 +20,8 @@
20062007
+ 2008
+ 2009Google Inc.
&dhdate;
@@ -28,7 +30,7 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;