^^^
| **add**
-| {-t|\--disk-template {diskless | file \| plain \| drbd \| rbd}}
-| {\--disk=*N*: {size=*VAL* \| adopt=*LV*}[,vg=*VG*][,metavg=*VG*][,mode=*ro\|rw*]
-| \| {size=*VAL*,provider=*PROVIDER*}[,param=*value*... ][,mode=*ro\|rw*]
+| {-t|\--disk-template {diskless \| file \| plain \| drbd \| rbd}}
+| {\--disk=*N*: {size=*VAL*[,spindles=*VAL*] \| adopt=*LV*}[,options...]
+| \| {size=*VAL*,provider=*PROVIDER*}[,param=*value*... ][,options...]
| \| {-s|\--os-size} *SIZE*}
| [\--no-ip-check] [\--no-name-check] [\--no-conflicts-check]
| [\--no-start] [\--no-install]
| [\--file-storage-dir *dir\_path*] [\--file-driver {loop \| blktap}]
| {{-n|\--node} *node[:secondary-node]* \| {-I|\--iallocator} *name*}
| {{-o|\--os-type} *os-type*}
-| [\--submit]
+| [\--submit] [\--print-job-id]
| [\--ignore-ipolicy]
| {*instance*}
The ``disk`` 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). The size is interpreted (when no unit is
+source needs to be given. The size is interpreted (when no unit is
given) in mebibytes. You can also use one of the suffixes *m*, *g* or
*t* to specify the exact the units used; these suffixes map to
-mebibytes, gibibytes and tebibytes. For LVM and DRBD devices, the LVM
-volume group can also be specified (via the ``vg`` key). For DRBD
-devices, a different VG can be specified for the metadata device using
-the ``metavg`` key. For ExtStorage devices, also the ``provider``
-option is mandatory, to specify which ExtStorage provider to use.
+mebibytes, gibibytes and tebibytes. Each disk can also take these
+parameters (all optional):
+
+spindles
+ How many spindles (physical disks on the node) the disk should span.
+
+mode
+ The access mode. Either ``ro`` (read-only) or the default ``rw``
+ (read-write).
+
+name
+ This option specifies a name for the disk, which can be used as a disk
+ identifier. An instance can not have two disks with the same name.
+
+vg
+ The LVM volume group. This works only for LVM and DRBD devices.
+
+metavg
+ This options specifies a different VG for the metadata device. This
+ works only for DRBD devices
When creating ExtStorage disks, also arbitrary parameters can be passed,
to the ExtStorage provider. Those parameters are passed as additional
different nodegroups to be connected to the same network in
different ways.
+name
+ this option specifies a name for the NIC, which can be used as a NIC
+ identifier. An instance can not have two NICs with the same name.
+
Of these "mode" and "link" are NIC parameters, and inherit their
default at cluster level. Alternatively, if no network is desired for
pae
Valid for the Xen HVM and KVM hypervisors.
- A boolean option that specifies if the hypervisor should enabled
+ A boolean option that specifies if the hypervisor should enable
PAE support for this instance. The default is false, disabling PAE
support.
+viridian
+ Valid for the Xen HVM hypervisor.
+
+ A boolean option that specifies if the hypervisor should enable
+ viridian (Hyper-V) for this instance. The default is false,
+ disabling viridian support.
+
use\_localtime
Valid for the Xen HVM and KVM hypervisors.
Path to the userspace KVM (or qemu) program.
+vnet\_hdr
+ Valid for the KVM hypervisor.
+
+ This boolean option determines whether the tap devices used by the
+ KVM paravirtual nics (virtio-net) will get created with VNET_HDR
+ (IFF_VNET_HDR) support.
+
+ If set to false, it effectively disables offloading on the virio-net
+ interfaces, which prevents host kernel tainting and log flooding,
+ when dealing with broken or malicious virtio-net drivers.
+
+ It is set to ``true`` by default.
+
The ``-O (--os-parameters)`` option allows customisation of the OS
parameters. The actual parameter names and values depends on the OS
being used, but the syntax is the same key=value. For example, setting
please refer to the instance allocator documentation.
The ``-t (--disk-template)`` options specifies the disk layout type
-for the instance. The available choices are:
+for the instance. If no disk template is specified, the default disk
+template is used. The default disk template is the first in the list
+of enabled disk templates, which can be adjusted cluster-wide with
+``gnt-cluster modify``. The available choices for disk templates are:
diskless
This creates an instance with no disks. Its useful for testing only
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:
-``@RPL_FILE_STORAGE_DIR@/mysubdir/instance1.example.com``. This
-option is only relevant for instances using the file storage backend.
+subdirectory + instance name. This option is only relevant for
+instances using the file storage backend.
The ``--file-driver`` specifies the driver to use for file-based
disks. Note that currently these drivers work with the xen hypervisor
REMOVE
^^^^^^
-**remove** [\--ignore-failures] [\--shutdown-timeout=*N*] [\--submit]
-[\--force] {*instance*}
+| **remove** [\--ignore-failures] [\--shutdown-timeout=*N*] [\--submit]
+| [\--print-job-id] [\--force] {*instance*}
Remove an instance. This will remove all data from the instance and
there is *no way back*. If you are not sure if you use an instance
| [{-H|\--hypervisor-parameters} *HYPERVISOR\_PARAMETERS*]
| [{-B|\--backend-parameters} *BACKEND\_PARAMETERS*]
| [{-m|\--runtime-memory} *SIZE*]
-| [\--net add*[:options]* \| \--net [*N*:]remove \| \--net *N:options*]
-| [\--disk add:size=*SIZE*[,vg=*VG*][,metavg=*VG*] \|
-| \--disk add:size=*SIZE*,provider=*PROVIDER*[,param=*value*... ] \|
-| \--disk [*N*:]remove \|
-| \--disk *N*:mode=*MODE*]
-| [{-t|\--disk-template} plain | {-t|\--disk-template} drbd -n *new_secondary*] [\--no-wait-for-sync]
+| [\--net add[:options...] \|
+| \--net [*N*:]add[,options...] \|
+| \--net [*ID*:]remove \|
+| \--net *ID*:modify[,options...]]
+| [\--disk add:size=*SIZE*[,options...] \|
+| \--disk *N*:add,size=*SIZE*[,options...] \|
+| \--disk *N*:add,size=*SIZE*,provider=*PROVIDER*[,options...][,param=*value*... ] \|
+| \--disk *ID*:modify[,options...]
+| \--disk [*ID*:]remove]
+| [{-t|\--disk-template} plain \| {-t|\--disk-template} drbd -n *new_secondary*] [\--no-wait-for-sync]
+| [\--new-primary=*node*]
| [\--os-type=*OS* [\--force-variant]]
| [{-O|\--os-parameters} *param*=*value*... ]
| [\--offline \| \--online]
-| [\--submit]
+| [\--submit] [\--print-job-id]
| [\--ignore-ipolicy]
| {*instance*}
memory to the given size (in MB if a different suffix is not specified),
by ballooning it up or down to the new value.
-The ``--disk add:size=``*SIZE* option adds a disk to the instance. The
-optional ``vg=``*VG* option specifies an LVM volume group other than the
-default volume group to create the disk on. For DRBD disks, the
-``metavg=``*VG* option specifies the volume group for the metadata
-device. When adding an ExtStorage disk the ``provider=``*PROVIDER*
+The ``--disk add:size=*SIZE*,[options..]`` option adds a disk to the
+instance, and ``--disk *N*:add:size=*SIZE*,[options..]`` will add a disk
+to the the instance at a specific index. The available options are the
+same as in the **add** command(``spindles``, ``mode``, ``name``, ``vg``,
+``metavg``). When adding an ExtStorage disk the ``provider=*PROVIDER*``
option is also mandatory and specifies the ExtStorage provider. Also,
for ExtStorage disks arbitrary parameters can be passed as additional
-comma separated options, same as in the **add** command. ``--disk``
-*N*``:add,size=``**SIZE** can be used to add a disk at a specific index.
-The ``--disk remove`` option will remove the last disk of the instance.
-Use ``--disk `` *N*``:remove`` to remove a disk by its index. The
-``--disk`` *N*``:mode=``*MODE* option will change the mode of the Nth
-disk of the instance between read-only (``ro``) and read-write (``rw``).
-
-The ``--net add:``*options* and ``--net`` *N*``:add,``*options* option
-will add a new network interface to the instance. The available options
-are the same as in the **add** command (``mac``, ``ip``, ``link``,
-``mode``, ``network``). The ``--net remove`` will remove the last network
-interface of the instance (``--net`` *N*``:remove`` for a specific index),
-while the ``--net`` *N*``:``*options* option will change the parameters of
-the Nth instance network interface.
+comma separated options, same as in the **add** command. -The ``--disk
+remove`` option will remove the last disk of the instance. Use ``--disk
+`` *ID*``:remove`` to remove a disk by its identifier. *ID* can be the
+index of the disk, the disks's name or the disks's UUID. The ``--disk
+*ID*:modify[,options...]`` will change the options of the disk.
+Available options are:
+
+mode
+ The access mode. Either ``ro`` (read-only) or the default ``rw`` (read-write).
+
+name
+ This option specifies a name for the disk, which can be used as a disk
+ identifier. An instance can not have two disks with the same name.
+
+The ``--net *N*:add[,options..]`` will add a new network interface to
+the instance. The available options are the same as in the **add**
+command (``mac``, ``ip``, ``link``, ``mode``, ``network``). The
+``--net *ID*,remove`` will remove the intances' NIC with *ID* identifier,
+which can be the index of the NIC, the NIC's name or the NIC's UUID.
+The ``--net *ID*:modify[,options..]`` option will change the parameters of
+the instance network interface with the *ID* identifier.
The option ``-o (--os-type)`` will change the OS name for the instance
(without reinstallation). In case an OS variant is specified that is
``--force-variant`` is passed. An invalid OS will also be refused,
unless the ``--force`` option is given.
+The option ``--new-primary`` will set the new primary node of an instance
+assuming the disks have already been moved manually. Unless the ``--force``
+option is given, it is verified that the instance is no longer running
+on its current primary node.
+
The ``--online`` and ``--offline`` options are used to transition an
instance into and out of the ``offline`` state. An instance can be
turned offline only if it was previously down. The ``--online`` option
| **reinstall** [{-o|\--os-type} *os-type*] [\--select-os] [-f *force*]
| [\--force-multiple]
| [\--instance \| \--node \| \--primary \| \--secondary \| \--all]
-| [{-O|\--os-parameters} *OS\_PARAMETERS*] [\--submit] {*instance*...}
+| [{-O|\--os-parameters} *OS\_PARAMETERS*] [\--submit] [\--print-job-id]
+| {*instance*...}
Reinstalls the operating system on the given instance(s). The
instance(s) must be stopped when running this command. If the ``-o
RENAME
^^^^^^
-| **rename** [\--no-ip-check] [\--no-name-check] [\--submit]
+| **rename** [\--no-ip-check] [\--no-name-check] [\--submit] [\--print-job-id]
| {*instance*} {*new\_name*}
Renames the given instance. The instance must be stopped when running
| \--tags \| \--node-tags \| \--pri-node-tags \| \--sec-node-tags]
| [{-H|\--hypervisor-parameters} ``key=value...``]
| [{-B|\--backend-parameters} ``key=value...``]
-| [\--submit] [\--paused]
+| [\--submit] [\--print-job-id] [\--paused]
| {*name*...}
Starts one or more instances, depending on the following options. The
| [\--force] [\--force-multiple] [\--ignore-offline] [\--no-remember]
| [\--instance \| \--node \| \--primary \| \--secondary \| \--all \|
| \--tags \| \--node-tags \| \--pri-node-tags \| \--sec-node-tags]
-| [\--submit]
+| [\--submit] [\--print-job-id]
| {*name*...}
Stops one or more instances. If the instance cannot be cleanly stopped
| [\--force-multiple]
| [\--instance \| \--node \| \--primary \| \--secondary \| \--all \|
| \--tags \| \--node-tags \| \--pri-node-tags \| \--sec-node-tags]
-| [\--submit]
+| [\--submit] [\--print-job-id]
| [*name*...]
Reboots one or more instances. The type of reboot depends on the value
REPLACE-DISKS
^^^^^^^^^^^^^
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy] {-p}
-[\--disks *idx*] {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy] {-p} [\--disks *idx*] {*instance*}
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy] {-s}
-[\--disks *idx*] {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy] {-s} [\--disks *idx*] {*instance*}
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy]
-{{-I\|\--iallocator} *name* \| {{-n|\--new-secondary} *node* } {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy]
+| {{-I\|\--iallocator} *name* \| {{-n|\--new-secondary} *node* } {*instance*}
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy]
-{-a\|\--auto} {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy] {-a\|\--auto} {*instance*}
This command is a generalized form for replacing disks. It is
currently only valid for the mirrored (DRBD) disk template.
ACTIVATE-DISKS
^^^^^^^^^^^^^^
-**activate-disks** [\--submit] [\--ignore-size] [\--wait-for-sync] {*instance*}
+| **activate-disks** [\--submit] [\--print-job-id] [\--ignore-size]
+| [\--wait-for-sync] {*instance*}
Activates the block devices of the given instance. If successful, the
command will show the location and name of the block devices::
DEACTIVATE-DISKS
^^^^^^^^^^^^^^^^
-**deactivate-disks** [-f] [\--submit] {*instance*}
+**deactivate-disks** [-f] [\--submit] [\--print-job-id] {*instance*}
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
GROW-DISK
^^^^^^^^^
-| **grow-disk** [\--no-wait-for-sync] [\--submit] [\--absolute]
+| **grow-disk** [\--no-wait-for-sync] [\--submit] [\--print-job-id]
+| [\--absolute]
| {*instance*} {*disk*} {*amount*}
Grows an instance's disk. This is only possible for instances having a
RECREATE-DISKS
^^^^^^^^^^^^^^
-| **recreate-disks** [\--submit]
+| **recreate-disks** [\--submit] [\--print-job-id]
| [{-n node1:[node2] \| {-I\|\--iallocator *name*}}]
-| [\--disk=*N*[:[size=*VAL*][,mode=*ro\|rw*]]] {*instance*}
+| [\--disk=*N*[:[size=*VAL*][,spindles=*VAL*][,mode=*ro\|rw*]]] {*instance*}
Recreates all or a subset of disks of the given instance.
If only a subset should be recreated, any number of ``disk`` options can
be specified. It expects a disk index and an optional list of disk
-parameters to change. Only ``size`` and ``mode`` can be changed while
-recreating disks. To recreate all disks while changing parameters on
-a subset only, a ``--disk`` option must be given for every disk of the
-instance.
+parameters to change. Only ``size``, ``spindles``, and ``mode`` can be
+changed while recreating disks. To recreate all disks while changing
+parameters on a subset only, a ``--disk`` option must be given for every
+disk of the instance.
Optionally the instance's disks can be recreated on different
nodes. This can be useful if, for example, the original nodes of the
| **failover** [-f] [\--ignore-consistency] [\--ignore-ipolicy]
| [\--shutdown-timeout=*N*]
| [{-n|\--target-node} *node* \| {-I|\--iallocator} *name*]
-| [\--submit]
+| [\--cleanup]
+| [\--submit] [\--print-job-id]
| {*instance*}
Failover will stop the instance (if running), change its primary node,
If ``--ignore-ipolicy`` is given any instance policy violations occuring
during this operation are ignored.
+If the ``--cleanup`` option is passed, the operation changes from
+performin a failover to attempting recovery from a failed previous failover.
+In this mode, Ganeti checks if the instance runs on the correct node (and
+updates its configuration if not) and ensures the instances' disks
+are configured correctly.
+
See **ganeti**\(7) for a description of ``--submit`` and other common
options.
| **migrate** [-f] [\--allow-failover] [\--non-live]
| [\--migration-mode=live\|non-live] [\--ignore-ipolicy]
-| [\--no-runtime-changes] [\--submit]
+| [\--no-runtime-changes] [\--submit] [\--print-job-id]
| [{-n|\--target-node} *node* \| {-I|\--iallocator} *name*] {*instance*}
-| **migrate** [-f] \--cleanup [\--submit] {*instance*}
+| **migrate** [-f] \--cleanup [\--submit] [\--print-job-id] {*instance*}
Migrate will move the instance to its secondary node without shutdown.
As with failover, it works for instances having the drbd disk template
^^^^
| **move** [-f] [\--ignore-consistency]
-| [-n *node*] [\--shutdown-timeout=*N*] [\--submit] [\--ignore-ipolicy]
+| [-n *node*] [\--shutdown-timeout=*N*] [\--submit] [\--print-job-id]
+| [\--ignore-ipolicy]
| {*instance*}
Move will move the instance to an arbitrary node in the cluster. This
CHANGE-GROUP
^^^^^^^^^^^^
-| **change-group** [\--submit]
+| **change-group** [\--submit] [\--print-job-id]
| [\--iallocator *NAME*] [\--to *GROUP*...] {*instance*}
This command moves an instance to another node group. The move is