Statistics
| Branch: | Tag: | Revision:

root / man / gnt-instance.rst @ b82c5ff5

History | View | Annotate | Download (49 kB)

1
gnt-instance(8) Ganeti | Version @GANETI_VERSION@
2
=================================================
3

    
4
Name
5
----
6

    
7
gnt-instance - Ganeti instance administration
8

    
9
Synopsis
10
--------
11

    
12
**gnt-instance** {command} [arguments...]
13

    
14
DESCRIPTION
15
-----------
16

    
17
The **gnt-instance** command is used for instance administration in
18
the Ganeti system.
19

    
20
COMMANDS
21
--------
22

    
23
Creation/removal/querying
24
~~~~~~~~~~~~~~~~~~~~~~~~~
25

    
26
ADD
27
^^^
28

    
29
| **add**
30
| {-t {diskless | file \| plain \| drbd}}
31
| {--disk=*N*: {size=*VAL* \| adopt=*LV*}[,vg=*VG*][,mode=*ro\|rw*]
32
|  \| -s *SIZE*}
33
| [--no-ip-check] [--no-name-check] [--no-start] [--no-install]
34
| [--net=*N* [:options...] \| --no-nics]
35
| [-B *BEPARAMS*]
36
| [-H *HYPERVISOR* [: option=*value*... ]]
37
| [--file-storage-dir *dir\_path*] [--file-driver {loop \| blktap}]
38
| {-n *node[:secondary-node]* \| --iallocator *name*}
39
| {-o *os-type*}
40
| [--submit]
41
| {*instance*}
42

    
43
Creates a new instance on the specified host. The *instance* argument
44
must be in DNS, but depending on the bridge/routing setup, need not be
45
in the same network as the nodes in the cluster.
46

    
47
The ``disk`` option specifies the parameters for the disks of the
48
instance. The numbering of disks starts at zero, and at least one disk
49
needs to be passed. For each disk, either the size or the adoption
50
source needs to be given, and optionally the access mode (read-only or
51
the default of read-write) and LVM volume group can also be specified.
52
The size is interpreted (when no unit is given) in mebibytes. You can
53
also use one of the suffixes *m*, *g* or *t* to specify the exact the
54
units used; these suffixes map to mebibytes, gibibytes and tebibytes.
55

    
56
When using the ``adopt`` key in the disk definition, Ganeti will
57
reuse those volumes (instead of creating new ones) as the
58
instance's disks. Ganeti will rename these volumes to the standard
59
format, and (without installing the OS) will use them as-is for the
60
instance. This allows migrating instances from non-managed mode
61
(e.q. plain KVM with LVM) to being managed via Ganeti. Note that
62
this works only for the \`plain' disk template (see below for
63
template details).
64

    
65
Alternatively, a single-disk instance can be created via the ``-s``
66
option which takes a single argument, the size of the disk. This is
67
similar to the Ganeti 1.2 version (but will only create one disk).
68

    
69
The minimum disk specification is therefore ``--disk 0:size=20G`` (or
70
``-s 20G`` when using the ``-s`` option), and a three-disk instance
71
can be specified as ``--disk 0:size=20G --disk 1:size=4G --disk
72
2:size=100G``.
73

    
74
The ``--no-ip-check`` skips the checks that are done to see if the
75
instance's IP is not already alive (i.e. reachable from the master
76
node).
77

    
78
The ``--no-name-check`` skips the check for the instance name via
79
the resolver (e.g. in DNS or /etc/hosts, depending on your setup).
80
Since the name check is used to compute the IP address, if you pass
81
this option you must also pass the ``--no-ip-check`` option.
82

    
83
If you don't wat the instance to automatically start after
84
creation, this is possible via the ``--no-start`` option. This will
85
leave the instance down until a subsequent **gnt-instance start**
86
command.
87

    
88
The NICs of the instances can be specified via the ``--net``
89
option. By default, one NIC is created for the instance, with a
90
random MAC, and set up according the the cluster level nic
91
parameters. Each NIC can take these parameters (all optional):
92

    
93

    
94

    
95
mac
96
    either a value or 'generate' to generate a new unique MAC
97

    
98
ip
99
    specifies the IP address assigned to the instance from the Ganeti
100
    side (this is not necessarily what the instance will use, but what
101
    the node expects the instance to use)
102

    
103
mode
104
    specifies the connection mode for this nic: routed or bridged.
105

    
106
link
107
    in bridged mode specifies the bridge to attach this NIC to, in
108
    routed mode it's intended to differentiate between different
109
    routing tables/instance groups (but the meaning is dependent on the
110
    network script, see gnt-cluster(8) for more details)
111

    
112

    
113
Of these "mode" and "link" are nic parameters, and inherit their
114
default at cluster level.
115
Alternatively, if no network is desired for the instance, you can
116
prevent the default of one NIC with the ``--no-nics`` option.
117

    
118
The ``-o`` options specifies the operating system to be installed.
119
The available operating systems can be listed with **gnt-os list**.
120
Passing ``--no-install`` will however skip the OS installation,
121
allowing a manual import if so desired. Note that the
122
no-installation mode will automatically disable the start-up of the
123
instance (without an OS, it most likely won't be able to start-up
124
successfully).
125

    
126
The ``-B`` option specifies the backend parameters for the
127
instance. If no such parameters are specified, the values are
128
inherited from the cluster. Possible parameters are:
129

    
130

    
131

    
132
memory
133
    the memory size of the instance; as usual, suffixes can be used to
134
    denote the unit, otherwise the value is taken in mebibites
135

    
136
vcpus
137
    the number of VCPUs to assign to the instance (if this value makes
138
    sense for the hypervisor)
139

    
140
auto\_balance
141
    whether the instance is considered in the N+1 cluster checks
142
    (enough redundancy in the cluster to survive a node failure)
143

    
144

    
145
The ``-H`` option specified the hypervisor to use for the instance
146
(must be one of the enabled hypervisors on the cluster) and
147
optionally custom parameters for this instance. If not other
148
options are used (i.e. the invocation is just -H *NAME*) the
149
instance will inherit the cluster options. The defaults below show
150
the cluster defaults at cluster creation time.
151

    
152
The possible hypervisor options are as follows:
153

    
154

    
155

    
156
boot\_order
157
    Valid for the Xen HVM and KVM hypervisors.
158

    
159
    A string value denoting the boot order. This has different meaning
160
    for the Xen HVM hypervisor and for the KVM one.
161

    
162
    For Xen HVM, The boot order is a string of letters listing the boot
163
    devices, with valid device letters being:
164

    
165

    
166

    
167
    a
168
        floppy drive
169

    
170
    c
171
        hard disk
172

    
173
    d
174
        CDROM drive
175

    
176
    n
177
        network boot (PXE)
178

    
179

    
180
    The default is not to set an HVM boot order which is interpreted as
181
    'dc'.
182

    
183
    For KVM the boot order is either "cdrom", "disk" or "network".
184
    Please note that older versions of KVM couldn't netboot from virtio
185
    interfaces. This has been fixed in more recent versions and is
186
    confirmed to work at least with qemu-kvm 0.11.1.
187

    
188
blockdev\_prefix
189
    Valid for the Xen HVM and PVM hypervisors.
190

    
191
    Relevant to nonpvops guest kernels, in which the disk device names are
192
    given by the host.  Allows to specify 'xvd', which helps run Red Hat based
193
    installers, driven by anaconda.
194

    
195
cdrom\_image\_path
196
    Valid for the Xen HVM and KVM hypervisors.
197

    
198
    The path to a CDROM image to attach to the instance.
199

    
200
nic\_type
201
    Valid for the Xen HVM and KVM hypervisors.
202

    
203
    This parameter determines the way the network cards are presented
204
    to the instance. The possible options are:
205

    
206

    
207

    
208
    rtl8139 (default for Xen HVM) (HVM & KVM)
209
    ne2k\_isa (HVM & KVM)
210
    ne2k\_pci (HVM & KVM)
211
    i82551 (KVM)
212
    i82557b (KVM)
213
    i82559er (KVM)
214
    pcnet (KVM)
215
    e1000 (KVM)
216
    paravirtual (default for KVM) (HVM & KVM)
217

    
218

    
219
disk\_type
220
    Valid for the Xen HVM and KVM hypervisors.
221

    
222
    This parameter determines the way the disks are presented to the
223
    instance. The possible options are:
224

    
225

    
226

    
227
    ioemu (default for HVM & KVM) (HVM & KVM)
228
    ide (HVM & KVM)
229
    scsi (KVM)
230
    sd (KVM)
231
    mtd (KVM)
232
    pflash (KVM)
233

    
234

    
235
vnc\_bind\_address
236
    Valid for the Xen HVM and KVM hypervisors.
237

    
238
    Specifies the address that the VNC listener for this instance
239
    should bind to. Valid values are IPv4 addresses. Use the address
240
    0.0.0.0 to bind to all available interfaces (this is the default)
241
    or specify the address of one of the interfaces on the node to
242
    restrict listening to that interface.
243

    
244
vnc\_tls
245
    Valid for the KVM hypervisor.
246

    
247
    A boolean option that controls whether the VNC connection is
248
    secured with TLS.
249

    
250
vnc\_x509\_path
251
    Valid for the KVM hypervisor.
252

    
253
    If ``vnc_tls`` is enabled, this options specifies the path to the
254
    x509 certificate to use.
255

    
256
vnc\_x509\_verify
257
    Valid for the KVM hypervisor.
258

    
259
acpi
260
    Valid for the Xen HVM and KVM hypervisors.
261

    
262
    A boolean option that specifies if the hypervisor should enable
263
    ACPI support for this instance. By default, ACPI is disabled.
264

    
265
pae
266
    Valid for the Xen HVM and KVM hypervisors.
267

    
268
    A boolean option that specifies if the hypervisor should enabled
269
    PAE support for this instance. The default is false, disabling PAE
270
    support.
271

    
272
use\_localtime
273
    Valid for the Xen HVM and KVM hypervisors.
274

    
275
    A boolean option that specifies if the instance should be started
276
    with its clock set to the localtime of the machine (when true) or
277
    to the UTC (When false). The default is false, which is useful for
278
    Linux/Unix machines; for Windows OSes, it is recommended to enable
279
    this parameter.
280

    
281
kernel\_path
282
    Valid for the Xen PVM and KVM hypervisors.
283

    
284
    This option specifies the path (on the node) to the kernel to boot
285
    the instance with. Xen PVM instances always require this, while for
286
    KVM if this option is empty, it will cause the machine to load the
287
    kernel from its disks.
288

    
289
kernel\_args
290
    Valid for the Xen PVM and KVM hypervisors.
291

    
292
    This options specifies extra arguments to the kernel that will be
293
    loaded. device. This is always used for Xen PVM, while for KVM it
294
    is only used if the ``kernel_path`` option is also specified.
295

    
296
    The default setting for this value is simply ``"ro"``, which mounts
297
    the root disk (initially) in read-only one. For example, setting
298
    this to single will cause the instance to start in single-user
299
    mode.
300

    
301
initrd\_path
302
    Valid for the Xen PVM and KVM hypervisors.
303

    
304
    This option specifies the path (on the node) to the initrd to boot
305
    the instance with. Xen PVM instances can use this always, while for
306
    KVM if this option is only used if the ``kernel_path`` option is
307
    also specified. You can pass here either an absolute filename (the
308
    path to the initrd) if you want to use an initrd, or use the format
309
    no\_initrd\_path for no initrd.
310

    
311
root\_path
312
    Valid for the Xen PVM and KVM hypervisors.
313

    
314
    This options specifies the name of the root device. This is always
315
    needed for Xen PVM, while for KVM it is only used if the
316
    ``kernel_path`` option is also specified.
317

    
318
serial\_console
319
    Valid for the KVM hypervisor.
320

    
321
    This boolean option specifies whether to emulate a serial console
322
    for the instance.
323

    
324
disk\_cache
325
    Valid for the KVM hypervisor.
326

    
327
    The disk cache mode. It can be either default to not pass any cache
328
    option to KVM, or one of the KVM cache modes: none (for direct
329
    I/O), writethrough (to use the host cache but report completion to
330
    the guest only when the host has committed the changes to disk) or
331
    writeback (to use the host cache and report completion as soon as
332
    the data is in the host cache). Note that there are special
333
    considerations for the cache mode depending on version of KVM used
334
    and disk type (always raw file under Ganeti), please refer to the
335
    KVM documentation for more details.
336

    
337
security\_model
338
    Valid for the KVM hypervisor.
339

    
340
    The security model for kvm. Currently one of "none", "user" or
341
    "pool". Under "none", the default, nothing is done and instances
342
    are run as the Ganeti daemon user (normally root).
343

    
344
    Under "user" kvm will drop privileges and become the user specified
345
    by the security\_domain parameter.
346

    
347
    Under "pool" a global cluster pool of users will be used, making
348
    sure no two instances share the same user on the same node. (this
349
    mode is not implemented yet)
350

    
351
security\_domain
352
    Valid for the KVM hypervisor.
353

    
354
    Under security model "user" the username to run the instance under.
355
    It must be a valid username existing on the host.
356

    
357
    Cannot be set under security model "none" or "pool".
358

    
359
kvm\_flag
360
    Valid for the KVM hypervisor.
361

    
362
    If "enabled" the -enable-kvm flag is passed to kvm. If "disabled"
363
    -disable-kvm is passed. If unset no flag is passed, and the default
364
    running mode for your kvm binary will be used.
365

    
366
mem\_path
367
    Valid for the KVM hypervisor.
368

    
369
    This option passes the -mem-path argument to kvm with the path (on
370
    the node) to the mount point of the hugetlbfs file system, along
371
    with the -mem-prealloc argument too.
372

    
373
use\_chroot
374
    Valid for the KVM hypervisor.
375

    
376
    This boolean option determines wether to run the KVM instance in a
377
    chroot directory.
378

    
379
    If it is set to ``true``, an empty directory is created before
380
    starting the instance and its path is passed via the -chroot flag
381
    to kvm. The directory is removed when the instance is stopped.
382

    
383
    It is set to ``false`` by default.
384

    
385
migration\_downtime
386
    Valid for the KVM hypervisor.
387

    
388
    The maximum amount of time (in ms) a KVM instance is allowed to be
389
    frozen during a live migration, in order to copy dirty memory
390
    pages. Default value is 30ms, but you may need to increase this
391
    value for busy instances.
392

    
393
    This option is only effective with kvm versions >= 87 and qemu-kvm
394
    versions >= 0.11.0.
395

    
396
cpu\_mask
397
    Valid for the LXC hypervisor.
398

    
399
    The processes belonging to the given instance are only scheduled on
400
    the specified CPUs.
401

    
402
    The parameter format is a comma-separated list of CPU IDs or CPU ID
403
    ranges. The ranges are defined by a lower and higher boundary,
404
    separated by a dash. The boundaries are inclusive.
405

    
406
usb\_mouse
407
    Valid for the KVM hypervisor.
408

    
409
    This option specifies the usb mouse type to be used. It can be
410
    "mouse" or "tablet". When using VNC it's recommended to set it to
411
    "tablet".
412

    
413

    
414
The ``--iallocator`` option specifies the instance allocator plugin
415
to use. If you pass in this option the allocator will select nodes
416
for this instance automatically, so you don't need to pass them
417
with the ``-n`` option. For more information please refer to the
418
instance allocator documentation.
419

    
420
The ``-t`` options specifies the disk layout type for the instance.
421
The available choices are:
422

    
423

    
424

    
425
diskless
426
    This creates an instance with no disks. Its useful for testing only
427
    (or other special cases).
428

    
429
file
430
    Disk devices will be regular files.
431

    
432
plain
433
    Disk devices will be logical volumes.
434

    
435
drbd
436
    Disk devices will be drbd (version 8.x) on top of lvm volumes.
437

    
438

    
439
The optional second value of the ``--node`` is used for the drbd
440
template type and specifies the remote node.
441

    
442
If you do not want gnt-instance to wait for the disk mirror to be
443
synced, use the ``--no-wait-for-sync`` option.
444

    
445
The ``--file-storage-dir`` specifies the relative path under the
446
cluster-wide file storage directory to store file-based disks. It is
447
useful for having different subdirectories for different
448
instances. The full path of the directory where the disk files are
449
stored will consist of cluster-wide file storage directory + optional
450
subdirectory + instance name. Example:
451
``@RPL_FILE_STORAGE_DIR@``*/mysubdir/instance1.example.com*. This
452
option is only relevant for instances using the file storage backend.
453

    
454
The ``--file-driver`` specifies the driver to use for file-based
455
disks. Note that currently these drivers work with the xen
456
hypervisor only. This option is only relevant for instances using
457
the file storage backend. The available choices are:
458

    
459

    
460

    
461
loop
462
    Kernel loopback driver. This driver uses loopback devices to access
463
    the filesystem within the file. However, running I/O intensive
464
    applications in your instance using the loop driver might result in
465
    slowdowns. Furthermore, if you use the loopback driver consider
466
    increasing the maximum amount of loopback devices (on most systems
467
    it's 8) using the max\_loop param.
468

    
469
blktap
470
    The blktap driver (for Xen hypervisors). In order to be able to use
471
    the blktap driver you should check if the 'blktapctrl' user space
472
    disk agent is running (usually automatically started via xend).
473
    This user-level disk I/O interface has the advantage of better
474
    performance. Especially if you use a network file system (e.g. NFS)
475
    to store your instances this is the recommended choice.
476

    
477

    
478
The ``--submit`` option is used to send the job to the master
479
daemon but not wait for its completion. The job ID will be shown so
480
that it can be examined via **gnt-job info**.
481

    
482
Example::
483

    
484
    # gnt-instance add -t file --disk 0:size=30g -B memory=512 -o debian-etch \
485
      -n node1.example.com --file-storage-dir=mysubdir instance1.example.com
486
    # gnt-instance add -t plain --disk 0:size=30g -B memory=512 -o debian-etch \
487
      -n node1.example.com instance1.example.com
488
    # gnt-instance add -t plain --disk 0:size=30g --disk 1:size=100g,vg=san \
489
      -B memory=512 -o debian-etch -n node1.example.com instance1.example.com
490
    # gnt-instance add -t drbd --disk 0:size=30g -B memory=512 -o debian-etch \
491
      -n node1.example.com:node2.example.com instance2.example.com
492

    
493

    
494
BATCH-CREATE
495
^^^^^^^^^^^^
496

    
497
**batch-create** {instances\_file.json}
498

    
499
This command (similar to the Ganeti 1.2 **batcher** tool) submits
500
multiple instance creation jobs based on a definition file. The
501
instance configurations do not encompass all the possible options
502
for the **add** command, but only a subset.
503

    
504
The instance file should be a valid-formed JSON file, containing a
505
dictionary with instance name and instance parameters. The accepted
506
parameters are:
507

    
508

    
509

    
510
disk\_size
511
    The size of the disks of the instance.
512

    
513
disk\_template
514
    The disk template to use for the instance, the same as in the
515
    **add** command.
516

    
517
backend
518
    A dictionary of backend parameters.
519

    
520
hypervisor
521
    A dictionary with a single key (the hypervisor name), and as value
522
    the hypervisor options. If not passed, the default hypervisor and
523
    hypervisor options will be inherited.
524

    
525
mac, ip, mode, link
526
    Specifications for the one NIC that will be created for the
527
    instance. 'bridge' is also accepted as a backwards compatibile
528
    key.
529

    
530
nics
531
    List of nics that will be created for the instance. Each entry
532
    should be a dict, with mac, ip, mode and link as possible keys.
533
    Please don't provide the "mac, ip, mode, link" parent keys if you
534
    use this method for specifying nics.
535

    
536
primary\_node, secondary\_node
537
    The primary and optionally the secondary node to use for the
538
    instance (in case an iallocator script is not used).
539

    
540
iallocator
541
    Instead of specifying the nodes, an iallocator script can be used
542
    to automatically compute them.
543

    
544
start
545
    whether to start the instance
546

    
547
ip\_check
548
    Skip the check for already-in-use instance; see the description in
549
    the **add** command for details.
550

    
551
name\_check
552
    Skip the name check for instances; see the description in the
553
    **add** command for details.
554

    
555
file\_storage\_dir, file\_driver
556
    Configuration for the file disk type, see the **add** command for
557
    details.
558

    
559

    
560
A simple definition for one instance can be (with most of the
561
parameters taken from the cluster defaults)::
562

    
563
    {
564
      "instance3": {
565
        "template": "drbd",
566
        "os": "debootstrap",
567
        "disk_size": ["25G"],
568
        "iallocator": "dumb"
569
      },
570
      "instance5": {
571
        "template": "drbd",
572
        "os": "debootstrap",
573
        "disk_size": ["25G"],
574
        "iallocator": "dumb",
575
        "hypervisor": "xen-hvm",
576
        "hvparams": {"acpi": true},
577
        "backend": {"memory": 512}
578
      }
579
    }
580

    
581
The command will display the job id for each submitted instance, as
582
follows::
583

    
584
    # gnt-instance batch-create instances.json
585
    instance3: 11224
586
    instance5: 11225
587

    
588
REMOVE
589
^^^^^^
590

    
591
**remove** [--ignore-failures] [--shutdown-timeout=*N*] [--submit]
592
{*instance*}
593

    
594
Remove an instance. This will remove all data from the instance and
595
there is *no way back*. If you are not sure if you use an instance
596
again, use **shutdown** first and leave it in the shutdown state
597
for a while.
598

    
599
The ``--ignore-failures`` option will cause the removal to proceed
600
even in the presence of errors during the removal of the instance
601
(e.g. during the shutdown or the disk removal). If this option is
602
not given, the command will stop at the first error.
603

    
604
The ``--shutdown-timeout`` is used to specify how much time to wait
605
before forcing the shutdown (e.g. ``xm destroy`` in Xen, killing the
606
kvm process for KVM, etc.). By default two minutes are given to each
607
instance to stop.
608

    
609
The ``--submit`` option is used to send the job to the master
610
daemon but not wait for its completion. The job ID will be shown so
611
that it can be examined via **gnt-job info**.
612

    
613
Example::
614

    
615
    # gnt-instance remove instance1.example.com
616

    
617

    
618
LIST
619
^^^^
620

    
621
| **list**
622
| [--no-headers] [--separator=*SEPARATOR*] [--units=*UNITS*]
623
| [-o *[+]FIELD,...*] [instance...]
624

    
625
Shows the currently configured instances with memory usage, disk
626
usage, the node they are running on, and their run status.
627

    
628
The ``--no-headers`` option will skip the initial header line. The
629
``--separator`` option takes an argument which denotes what will be
630
used between the output fields. Both these options are to help
631
scripting.
632

    
633
The units used to display the numeric values in the output varies,
634
depending on the options given. By default, the values will be
635
formatted in the most appropriate unit. If the ``--separator``
636
option is given, then the values are shown in mebibytes to allow
637
parsing by scripts. In both cases, the ``--units`` option can be
638
used to enforce a given output unit.
639

    
640
The ``-o`` option takes a comma-separated list of output fields.
641
The available fields and their meaning are:
642

    
643

    
644

    
645
name
646
    the instance name
647

    
648
os
649
    the OS of the instance
650

    
651
pnode
652
    the primary node of the instance
653

    
654
snodes
655
    comma-separated list of secondary nodes for the instance; usually
656
    this will be just one node
657

    
658
admin\_state
659
    the desired state of the instance (either "yes" or "no" denoting
660
    the instance should run or not)
661

    
662
disk\_template
663
    the disk template of the instance
664

    
665
oper\_state
666
    the actual state of the instance; can be one of the values
667
    "running", "stopped", "(node down)"
668

    
669
status
670
    combined form of admin\_state and oper\_stat; this can be one of:
671
    ERROR\_nodedown if the node of the instance is down, ERROR\_down if
672
    the instance should run but is down, ERROR\_up if the instance
673
    should be stopped but is actually running, ADMIN\_down if the
674
    instance has been stopped (and is stopped) and running if the
675
    instance is set to be running (and is running)
676

    
677
oper\_ram
678
    the actual memory usage of the instance as seen by the hypervisor
679

    
680
oper\_vcpus
681
    the actual number of VCPUs the instance is using as seen by the
682
    hypervisor
683

    
684
ip
685
    the ip address Ganeti recognizes as associated with the first
686
    instance interface
687

    
688
mac
689
    the first instance interface MAC address
690

    
691
nic\_mode
692
    the mode of the first instance NIC (routed or bridged)
693

    
694
nic\_link
695
    the link of the first instance NIC
696

    
697
sda\_size
698
    the size of the instance's first disk
699

    
700
sdb\_size
701
    the size of the instance's second disk, if any
702

    
703
vcpus
704
    the number of VCPUs allocated to the instance
705

    
706
tags
707
    comma-separated list of the instances's tags
708

    
709
serial\_no
710
    the so called 'serial number' of the instance; this is a numeric
711
    field that is incremented each time the instance is modified, and
712
    it can be used to track modifications
713

    
714
ctime
715
    the creation time of the instance; note that this field contains
716
    spaces and as such it's harder to parse
717

    
718
    if this attribute is not present (e.g. when upgrading from older
719
    versions), then "N/A" will be shown instead
720

    
721
mtime
722
    the last modification time of the instance; note that this field
723
    contains spaces and as such it's harder to parse
724

    
725
    if this attribute is not present (e.g. when upgrading from older
726
    versions), then "N/A" will be shown instead
727

    
728
uuid
729
    Show the UUID of the instance (generated automatically by Ganeti)
730

    
731
network\_port
732
    If the instance has a network port assigned to it (e.g. for VNC
733
    connections), this will be shown, otherwise - will be displayed.
734

    
735
beparams
736
    A text format of the entire beparams for the instance. It's more
737
    useful to select individual fields from this dictionary, see
738
    below.
739

    
740
disk.count
741
    The number of instance disks.
742

    
743
disk.size/N
744
    The size of the instance's Nth disk. This is a more generic form of
745
    the sda\_size and sdb\_size fields.
746

    
747
disk.sizes
748
    A comma-separated list of the disk sizes for this instance.
749

    
750
disk\_usage
751
    The total disk space used by this instance on each of its nodes.
752
    This is not the instance-visible disk size, but the actual disk
753
    "cost" of the instance.
754

    
755
nic.mac/N
756
    The MAC of the Nth instance NIC.
757

    
758
nic.ip/N
759
    The IP address of the Nth instance NIC.
760

    
761
nic.mode/N
762
    The mode of the Nth instance NIC
763

    
764
nic.link/N
765
    The link of the Nth instance NIC
766

    
767
nic.macs
768
    A comma-separated list of all the MACs of the instance's NICs.
769

    
770
nic.ips
771
    A comma-separated list of all the IP addresses of the instance's
772
    NICs.
773

    
774
nic.modes
775
    A comma-separated list of all the modes of the instance's NICs.
776

    
777
nic.links
778
    A comma-separated list of all the link parameters of the instance's
779
    NICs.
780

    
781
nic.count
782
    The number of instance nics.
783

    
784
hv/*NAME*
785
    The value of the hypervisor parameter called *NAME*. For details of
786
    what hypervisor parameters exist and their meaning, see the **add**
787
    command.
788

    
789
be/memory
790
    The configured memory for the instance.
791

    
792
be/vcpus
793
    The configured number of VCPUs for the instance.
794

    
795
be/auto\_balance
796
    Whether the instance is considered in N+1 checks.
797

    
798

    
799
If the value of the option starts with the character ``+``, the new
800
field(s) will be added to the default list. This allows to quickly
801
see the default list plus a few other fields, instead of retyping
802
the entire list of fields.
803

    
804
There is a subtle grouping about the available output fields: all
805
fields except for ``oper_state``, ``oper_ram``, ``oper_vcpus`` and
806
``status`` are configuration value and not run-time values. So if
807
you don't select any of the these fields, the query will be
808
satisfied instantly from the cluster configuration, without having
809
to ask the remote nodes for the data. This can be helpful for big
810
clusters when you only want some data and it makes sense to specify
811
a reduced set of output fields.
812

    
813
The default output field list is: name, os, pnode, admin\_state,
814
oper\_state, oper\_ram.
815

    
816

    
817
LIST-FIELDS
818
~~~~~~~~~~
819

    
820
**list-fields** [field...]
821

    
822
Lists available fields for instances.
823

    
824

    
825
INFO
826
^^^^
827

    
828
**info** [-s \| --static] [--roman] {--all \| *instance*}
829

    
830
Show detailed information about the given instance(s). This is
831
different from **list** as it shows detailed data about the
832
instance's disks (especially useful for the drbd disk template).
833

    
834
If the option ``-s`` is used, only information available in the
835
configuration file is returned, without querying nodes, making the
836
operation faster.
837

    
838
Use the ``--all`` to get info about all instances, rather than
839
explicitly passing the ones you're interested in.
840

    
841
The ``--roman`` option can be used to cause envy among people who
842
like ancient cultures, but are stuck with non-latin-friendly
843
cluster virtualization technologies.
844

    
845
MODIFY
846
^^^^^^
847

    
848
| **modify**
849
| [-H *HYPERVISOR\_PARAMETERS*]
850
| [-B *BACKEND\_PARAMETERS*]
851
| [--net add*[:options]* \| --net remove \| --net *N:options*]
852
| [--disk add:size=*SIZE*[,vg=*VG*] \| --disk remove \|
853
|  --disk *N*:mode=*MODE*]
854
| [-t plain | -t drbd -n *new_secondary*]
855
| [--os-name=*OS* [--force-variant]]
856
| [--submit]
857
| {*instance*}
858

    
859
Modifies the memory size, number of vcpus, ip address, MAC address
860
and/or nic parameters for an instance. It can also add and remove
861
disks and NICs to/from the instance. Note that you need to give at
862
least one of the arguments, otherwise the command complains.
863

    
864
The ``-H`` option specifies hypervisor options in the form of
865
name=value[,...]. For details which options can be specified, see
866
the **add** command.
867

    
868
The ``-t`` option will change the disk template of the instance.
869
Currently only conversions between the plain and drbd disk templates
870
are supported, and the instance must be stopped before attempting the
871
conversion. When changing from the plain to the drbd disk template, a
872
new secondary node must be specified via the ``-n`` option.
873

    
874
The ``--disk add:size=``*SIZE* option adds a disk to the instance. The
875
optional ``vg=``*VG* option specifies LVM volume group other than default
876
vg to create disk on. The ``--disk remove`` option will remove the last
877
disk of the instance. The ``--disk`` *N*``:mode=``*MODE* option will change
878
the mode of the Nth disk of the instance between read-only (``ro``) and
879
read-write (``rw``).
880

    
881
The ``--net add:``*options* option will add a new NIC to the
882
instance. The available options are the same as in the **add** command
883
(mac, ip, link, mode). The ``--net remove`` will remove the last NIC
884
of the instance, while the ``--net`` *N*:*options* option will
885
change the parameters of the Nth instance NIC.
886

    
887
The option ``--os-name`` will change the OS name for the instance
888
(without reinstallation). In case an OS variant is specified that
889
is not found, then by default the modification is refused, unless
890
``--force-variant`` is passed. An invalid OS will also be refused,
891
unless the ``--force`` option is given.
892

    
893
The ``--submit`` option is used to send the job to the master
894
daemon but not wait for its completion. The job ID will be shown so
895
that it can be examined via **gnt-job info**.
896

    
897
All the changes take effect at the next restart. If the instance is
898
running, there is no effect on the instance.
899

    
900
REINSTALL
901
^^^^^^^^^
902

    
903
| **reinstall** [-o *os-type*] [--select-os] [-f *force*]
904
| [--force-multiple]
905
| [--instance \| --node \| --primary \| --secondary \| --all]
906
| [-O *OS\_PARAMETERS*] [--submit] {*instance*...}
907

    
908
Reinstalls the operating system on the given instance(s). The
909
instance(s) must be stopped when running this command. If the
910
``--os-type`` is specified, the operating system is changed.
911

    
912
The ``--select-os`` option switches to an interactive OS reinstall.
913
The user is prompted to select the OS template from the list of
914
available OS templates. OS parameters can be overridden using
915
``-O``.
916

    
917
Since this is a potentially dangerous command, the user will be
918
required to confirm this action, unless the ``-f`` flag is passed.
919
When multiple instances are selected (either by passing multiple
920
arguments or by using the ``--node``, ``--primary``,
921
``--secondary`` or ``--all`` options), the user must pass the
922
``--force-multiple`` options to skip the interactive confirmation.
923

    
924
The ``--submit`` option is used to send the job to the master
925
daemon but not wait for its completion. The job ID will be shown so
926
that it can be examined via **gnt-job info**.
927

    
928
RENAME
929
^^^^^^
930

    
931
| **rename** [--no-ip-check] [--no-name-check] [--submit]
932
| {*instance*} {*new\_name*}
933

    
934
Renames the given instance. The instance must be stopped when
935
running this command. The requirements for the new name are the
936
same as for adding an instance: the new name must be resolvable and
937
the IP it resolves to must not be reachable (in order to prevent
938
duplicate IPs the next time the instance is started). The IP test
939
can be skipped if the ``--no-ip-check`` option is passed.
940

    
941
The ``--no-name-check`` skips the check for the new instance name
942
via the resolver (e.g. in DNS or /etc/hosts, depending on your
943
setup). Since the name check is used to compute the IP address, if
944
you pass this option you must also pass the ``--no-ip-check``
945
option.
946

    
947
The ``--submit`` option is used to send the job to the master
948
daemon but not wait for its completion. The job ID will be shown so
949
that it can be examined via **gnt-job info**.
950

    
951
Starting/stopping/connecting to console
952
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
953

    
954
STARTUP
955
^^^^^^^
956

    
957
| **startup**
958
| [--force] [--ignore-offline]
959
| [--force-multiple]
960
| [--instance \| --node \| --primary \| --secondary \| --all \|
961
| --tags \| --node-tags \| --pri-node-tags \| --sec-node-tags]
962
| [-H ``key=value...``] [-B ``key=value...``]
963
| [--submit]
964
| {*name*...}
965

    
966
Starts one or more instances, depending on the following options.
967
The four available modes are:
968

    
969

    
970
--instance
971
    will start the instances given as arguments (at least one argument
972
    required); this is the default selection
973

    
974
--node
975
    will start the instances who have the given node as either primary
976
    or secondary
977

    
978
--primary
979
    will start all instances whose primary node is in the list of nodes
980
    passed as arguments (at least one node required)
981

    
982
--secondary
983
    will start all instances whose secondary node is in the list of
984
    nodes passed as arguments (at least one node required)
985

    
986
--all
987
    will start all instances in the cluster (no arguments accepted)
988

    
989
--tags
990
    will start all instances in the cluster with the tags given as
991
    arguments
992

    
993
--node-tags
994
    will start all instances in the cluster on nodes with the tags
995
    given as arguments
996

    
997
--pri-node-tags
998
    will start all instances in the cluster on primary nodes with the
999
    tags given as arguments
1000

    
1001
--sec-node-tags
1002
    will start all instances in the cluster on secondary nodes with the
1003
    tags given as arguments
1004

    
1005

    
1006
Note that although you can pass more than one selection option, the
1007
last one wins, so in order to guarantee the desired result, don't
1008
pass more than one such option.
1009

    
1010
Use ``--force`` to start even if secondary disks are failing.
1011
``--ignore-offline`` can be used to ignore offline primary nodes
1012
and mark the instance as started even if the primary is not
1013
available.
1014

    
1015
The ``--force-multiple`` will skip the interactive confirmation in
1016
the case the more than one instance will be affected.
1017

    
1018
The ``-H`` and ``-B`` options specify temporary hypervisor and
1019
backend parameters that can be used to start an instance with
1020
modified parameters. They can be useful for quick testing without
1021
having to modify an instance back and forth, e.g.::
1022

    
1023
    # gnt-instance start -H root_args="single" instance1
1024
    # gnt-instance start -B memory=2048 instance2
1025

    
1026

    
1027
The first form will start the instance instance1 in single-user
1028
mode, and the instance instance2 with 2GB of RAM (this time only,
1029
unless that is the actual instance memory size already). Note that
1030
the values override the instance parameters (and not extend them):
1031
an instance with "root\_args=ro" when started with -H
1032
root\_args=single will result in "single", not "ro single".
1033
The ``--submit`` option is used to send the job to the master
1034
daemon but not wait for its completion. The job ID will be shown so
1035
that it can be examined via **gnt-job info**.
1036

    
1037
Example::
1038

    
1039
    # gnt-instance start instance1.example.com
1040
    # gnt-instance start --node node1.example.com node2.example.com
1041
    # gnt-instance start --all
1042

    
1043

    
1044
SHUTDOWN
1045
^^^^^^^^
1046

    
1047
| **shutdown**
1048
| [--timeout=*N*]
1049
| [--force-multiple] [--ignore-offline]
1050
| [--instance \| --node \| --primary \| --secondary \| --all \|
1051
| --tags \| --node-tags \| --pri-node-tags \| --sec-node-tags]
1052
| [--submit]
1053
| {*name*...}
1054

    
1055
Stops one or more instances. If the instance cannot be cleanly
1056
stopped during a hardcoded interval (currently 2 minutes), it will
1057
forcibly stop the instance (equivalent to switching off the power
1058
on a physical machine).
1059

    
1060
The ``--timeout`` is used to specify how much time to wait before
1061
forcing the shutdown (e.g. ``xm destroy`` in Xen, killing the kvm
1062
process for KVM, etc.). By default two minutes are given to each
1063
instance to stop.
1064

    
1065
The ``--instance``, ``--node``, ``--primary``, ``--secondary``,
1066
``--all``, ``--tags``, ``--node-tags``, ``--pri-node-tags`` and
1067
``--sec-node-tags`` options are similar as for the **startup**
1068
command and they influence the actual instances being shutdown.
1069

    
1070
The ``--submit`` option is used to send the job to the master
1071
daemon but not wait for its completion. The job ID will be shown so
1072
that it can be examined via **gnt-job info**.
1073

    
1074
``--ignore-offline`` can be used to ignore offline primary nodes
1075
and force the instance to be marked as stopped. This option should
1076
be used with care as it can lead to an inconsistent cluster state.
1077

    
1078
Example::
1079

    
1080
    # gnt-instance shutdown instance1.example.com
1081
    # gnt-instance shutdown --all
1082

    
1083

    
1084
REBOOT
1085
^^^^^^
1086

    
1087
| **reboot**
1088
| [--type=*REBOOT-TYPE*]
1089
| [--ignore-secondaries]
1090
| [--shutdown-timeout=*N*]
1091
| [--force-multiple]
1092
| [--instance \| --node \| --primary \| --secondary \| --all \|
1093
| --tags \| --node-tags \| --pri-node-tags \| --sec-node-tags]
1094
| [--submit]
1095
| [*name*...]
1096

    
1097
Reboots one or more instances. The type of reboot depends on the
1098
value of ``--type``. A soft reboot does a hypervisor reboot, a hard
1099
reboot does a instance stop, recreates the hypervisor config for
1100
the instance and starts the instance. A full reboot does the
1101
equivalent of **gnt-instance shutdown && gnt-instance startup**.
1102
The default is hard reboot.
1103

    
1104
For the hard reboot the option ``--ignore-secondaries`` ignores
1105
errors for the secondary node while re-assembling the instance
1106
disks.
1107

    
1108
The ``--instance``, ``--node``, ``--primary``, ``--secondary``,
1109
``--all``, ``--tags``, ``--node-tags``, ``--pri-node-tags`` and
1110
``--sec-node-tags`` options are similar as for the **startup**
1111
command and they influence the actual instances being rebooted.
1112

    
1113
The ``--shutdown-timeout`` is used to specify how much time to wait
1114
before forcing the shutdown (xm destroy in xen, killing the kvm
1115
process, for kvm). By default two minutes are given to each
1116
instance to stop.
1117

    
1118
The ``--force-multiple`` will skip the interactive confirmation in
1119
the case the more than one instance will be affected.
1120

    
1121
Example::
1122

    
1123
    # gnt-instance reboot instance1.example.com
1124
    # gnt-instance reboot --type=full instance1.example.com
1125

    
1126

    
1127
CONSOLE
1128
^^^^^^^
1129

    
1130
**console** [--show-cmd] {*instance*}
1131

    
1132
Connects to the console of the given instance. If the instance is
1133
not up, an error is returned. Use the ``--show-cmd`` option to
1134
display the command instead of executing it.
1135

    
1136
For HVM instances, this will attempt to connect to the serial
1137
console of the instance. To connect to the virtualized "physical"
1138
console of a HVM instance, use a VNC client with the connection
1139
info from the **info** command.
1140

    
1141
Example::
1142

    
1143
    # gnt-instance console instance1.example.com
1144

    
1145

    
1146
Disk management
1147
~~~~~~~~~~~~~~~
1148

    
1149
REPLACE-DISKS
1150
^^^^^^^^^^^^^
1151

    
1152
**replace-disks** [--submit] [--early-release] {-p} [--disks *idx*]
1153
{*instance*}
1154

    
1155
**replace-disks** [--submit] [--early-release] {-s} [--disks *idx*]
1156
{*instance*}
1157

    
1158
**replace-disks** [--submit] [--early-release] {--iallocator *name*
1159
\| --new-secondary *NODE*} {*instance*}
1160

    
1161
**replace-disks** [--submit] [--early-release] {--auto}
1162
{*instance*}
1163

    
1164
This command is a generalized form for replacing disks. It is
1165
currently only valid for the mirrored (DRBD) disk template.
1166

    
1167
The first form (when passing the ``-p`` option) will replace the
1168
disks on the primary, while the second form (when passing the
1169
``-s`` option will replace the disks on the secondary node. For
1170
these two cases (as the node doesn't change), it is possible to
1171
only run the replace for a subset of the disks, using the option
1172
``--disks`` which takes a list of comma-delimited disk indices
1173
(zero-based), e.g. 0,2 to replace only the first and third disks.
1174

    
1175
The third form (when passing either the ``--iallocator`` or the
1176
``--new-secondary`` option) is designed to change secondary node of
1177
the instance. Specifying ``--iallocator`` makes the new secondary
1178
be selected automatically by the specified allocator plugin,
1179
otherwise the new secondary node will be the one chosen manually
1180
via the ``--new-secondary`` option.
1181

    
1182
The fourth form (when using ``--auto``) will automatically
1183
determine which disks of an instance are faulty and replace them
1184
within the same node. The ``--auto`` option works only when an
1185
instance has only faulty disks on either the primary or secondary
1186
node; it doesn't work when both sides have faulty disks.
1187

    
1188
The ``--submit`` option is used to send the job to the master
1189
daemon but not wait for its completion. The job ID will be shown so
1190
that it can be examined via **gnt-job info**.
1191

    
1192
The ``--early-release`` changes the code so that the old storage on
1193
secondary node(s) is removed early (before the resync is completed)
1194
and the internal Ganeti locks for the current (and new, if any)
1195
secondary node are also released, thus allowing more parallelism in
1196
the cluster operation. This should be used only when recovering
1197
from a disk failure on the current secondary (thus the old storage
1198
is already broken) or when the storage on the primary node is known
1199
to be fine (thus we won't need the old storage for potential
1200
recovery).
1201

    
1202
Note that it is not possible to select an offline or drained node
1203
as a new secondary.
1204

    
1205
ACTIVATE-DISKS
1206
^^^^^^^^^^^^^^
1207

    
1208
**activate-disks** [--submit] [--ignore-size] {*instance*}
1209

    
1210
Activates the block devices of the given instance. If successful,
1211
the command will show the location and name of the block devices::
1212

    
1213
    node1.example.com:disk/0:/dev/drbd0
1214
    node1.example.com:disk/1:/dev/drbd1
1215

    
1216

    
1217
In this example, *node1.example.com* is the name of the node on
1218
which the devices have been activated. The *disk/0* and *disk/1*
1219
are the Ganeti-names of the instance disks; how they are visible
1220
inside the instance is hypervisor-specific. */dev/drbd0* and
1221
*/dev/drbd1* are the actual block devices as visible on the node.
1222
The ``--submit`` option is used to send the job to the master
1223
daemon but not wait for its completion. The job ID will be shown so
1224
that it can be examined via **gnt-job info**.
1225

    
1226
The ``--ignore-size`` option can be used to activate disks ignoring
1227
the currently configured size in Ganeti. This can be used in cases
1228
where the configuration has gotten out of sync with the real-world
1229
(e.g. after a partially-failed grow-disk operation or due to
1230
rounding in LVM devices). This should not be used in normal cases,
1231
but only when activate-disks fails without it.
1232

    
1233
Note that it is safe to run this command while the instance is
1234
already running.
1235

    
1236
DEACTIVATE-DISKS
1237
^^^^^^^^^^^^^^^^
1238

    
1239
**deactivate-disks** [--submit] {*instance*}
1240

    
1241
De-activates the block devices of the given instance. Note that if
1242
you run this command for an instance with a drbd disk template,
1243
while it is running, it will not be able to shutdown the block
1244
devices on the primary node, but it will shutdown the block devices
1245
on the secondary nodes, thus breaking the replication.
1246

    
1247
The ``--submit`` option is used to send the job to the master
1248
daemon but not wait for its completion. The job ID will be shown so
1249
that it can be examined via **gnt-job info**.
1250

    
1251
GROW-DISK
1252
^^^^^^^^^
1253

    
1254
**grow-disk** [--no-wait-for-sync] [--submit] {*instance*} {*disk*}
1255
{*amount*}
1256

    
1257
Grows an instance's disk. This is only possible for instances
1258
having a plain or drbd disk template.
1259

    
1260
Note that this command only change the block device size; it will
1261
not grow the actual filesystems, partitions, etc. that live on that
1262
disk. Usually, you will need to:
1263

    
1264

    
1265

    
1266

    
1267
#. use **gnt-instance grow-disk**
1268

    
1269
#. reboot the instance (later, at a convenient time)
1270

    
1271
#. use a filesystem resizer, such as ext2online(8) or
1272
   xfs\_growfs(8) to resize the filesystem, or use fdisk(8) to change
1273
   the partition table on the disk
1274

    
1275

    
1276
The *disk* argument is the index of the instance disk to grow. The
1277
*amount* argument is given either as a number (and it represents
1278
the amount to increase the disk with in mebibytes) or can be given
1279
similar to the arguments in the create instance operation, with a
1280
suffix denoting the unit.
1281

    
1282
Note that the disk grow operation might complete on one node but
1283
fail on the other; this will leave the instance with
1284
different-sized LVs on the two nodes, but this will not create
1285
problems (except for unused space).
1286

    
1287
If you do not want gnt-instance to wait for the new disk region to
1288
be synced, use the ``--no-wait-for-sync`` option.
1289

    
1290
The ``--submit`` option is used to send the job to the master
1291
daemon but not wait for its completion. The job ID will be shown so
1292
that it can be examined via **gnt-job info**.
1293

    
1294
Example (increase the first disk for instance1 by 16GiB)::
1295

    
1296
    # gnt-instance grow-disk instance1.example.com 0 16g
1297

    
1298

    
1299
Also note that disk shrinking is not supported; use
1300
**gnt-backup export** and then **gnt-backup import** to reduce the
1301
disk size of an instance.
1302

    
1303
RECREATE-DISKS
1304
^^^^^^^^^^^^^^
1305

    
1306
**recreate-disks** [--submit] [--disks=``indices``] {*instance*}
1307

    
1308
Recreates the disks of the given instance, or only a subset of the
1309
disks (if the option ``disks`` is passed, which must be a
1310
comma-separated list of disk indices, starting from zero).
1311

    
1312
Note that this functionality should only be used for missing disks;
1313
if any of the given disks already exists, the operation will fail.
1314
While this is suboptimal, recreate-disks should hopefully not be
1315
needed in normal operation and as such the impact of this is low.
1316

    
1317
The ``--submit`` option is used to send the job to the master
1318
daemon but not wait for its completion. The job ID will be shown so
1319
that it can be examined via **gnt-job info**.
1320

    
1321
Recovery
1322
~~~~~~~~
1323

    
1324
FAILOVER
1325
^^^^^^^^
1326

    
1327
**failover** [-f] [--ignore-consistency] [--shutdown-timeout=*N*]
1328
[--submit] {*instance*}
1329

    
1330
Failover will fail the instance over its secondary node. This works
1331
only for instances having a drbd disk template.
1332

    
1333
Normally the failover will check the consistency of the disks
1334
before failing over the instance. If you are trying to migrate
1335
instances off a dead node, this will fail. Use the
1336
``--ignore-consistency`` option for this purpose. Note that this
1337
option can be dangerous as errors in shutting down the instance
1338
will be ignored, resulting in possibly having the instance running
1339
on two machines in parallel (on disconnected DRBD drives).
1340

    
1341
The ``--shutdown-timeout`` is used to specify how much time to wait
1342
before forcing the shutdown (xm destroy in xen, killing the kvm
1343
process, for kvm). By default two minutes are given to each
1344
instance to stop.
1345

    
1346
The ``--submit`` option is used to send the job to the master
1347
daemon but not wait for its completion. The job ID will be shown so
1348
that it can be examined via **gnt-job info**.
1349

    
1350
Example::
1351

    
1352
    # gnt-instance failover instance1.example.com
1353

    
1354

    
1355
MIGRATE
1356
^^^^^^^
1357

    
1358
**migrate** [-f] {--cleanup} {*instance*}
1359

    
1360
**migrate** [-f] [--non-live] [--migration-mode=live\|non-live]
1361
{*instance*}
1362

    
1363
Migrate will move the instance to its secondary node without
1364
shutdown. It only works for instances having the drbd8 disk
1365
template type.
1366

    
1367
The migration command needs a perfectly healthy instance, as we
1368
rely on the dual-master capability of drbd8 and the disks of the
1369
instance are not allowed to be degraded.
1370

    
1371
The ``--non-live`` and ``--migration-mode=non-live`` options will
1372
switch (for the hypervisors that support it) between a "fully live"
1373
(i.e. the interruption is as minimal as possible) migration and one
1374
in which the instance is frozen, its state saved and transported to
1375
the remote node, and then resumed there. This all depends on the
1376
hypervisor support for two different methods. In any case, it is
1377
not an error to pass this parameter (it will just be ignored if the
1378
hypervisor doesn't support it). The option
1379
``--migration-mode=live`` option will request a fully-live
1380
migration. The default, when neither option is passed, depends on
1381
the hypervisor parameters (and can be viewed with the
1382
**gnt-cluster info** command).
1383

    
1384
If the ``--cleanup`` option is passed, the operation changes from
1385
migration to attempting recovery from a failed previous migration.
1386
In this mode, Ganeti checks if the instance runs on the correct
1387
node (and updates its configuration if not) and ensures the
1388
instances's disks are configured correctly. In this mode, the
1389
``--non-live`` option is ignored.
1390

    
1391
The option ``-f`` will skip the prompting for confirmation.
1392

    
1393
Example (and expected output)::
1394

    
1395
    # gnt-instance migrate instance1
1396
    Migrate will happen to the instance instance1. Note that migration is
1397
    **experimental** in this version. This might impact the instance if
1398
    anything goes wrong. Continue?
1399
    y/[n]/?: y
1400
    * checking disk consistency between source and target
1401
    * ensuring the target is in secondary mode
1402
    * changing disks into dual-master mode
1403
     - INFO: Waiting for instance instance1 to sync disks.
1404
     - INFO: Instance instance1's disks are in sync.
1405
    * migrating instance to node2.example.com
1406
    * changing the instance's disks on source node to secondary
1407
     - INFO: Waiting for instance instance1 to sync disks.
1408
     - INFO: Instance instance1's disks are in sync.
1409
    * changing the instance's disks to single-master
1410
    #
1411

    
1412

    
1413
MOVE
1414
^^^^
1415

    
1416
**move** [-f] [-n *node*] [--shutdown-timeout=*N*] [--submit]
1417
{*instance*}
1418

    
1419
Move will move the instance to an arbitrary node in the cluster.
1420
This works only for instances having a plain or file disk
1421
template.
1422

    
1423
Note that since this operation is done via data copy, it will take
1424
a long time for big disks (similar to replace-disks for a drbd
1425
instance).
1426

    
1427
The ``--shutdown-timeout`` is used to specify how much time to wait
1428
before forcing the shutdown (e.g. ``xm destroy`` in XEN, killing the
1429
kvm process for KVM, etc.). By default two minutes are given to each
1430
instance to stop.
1431

    
1432
The ``--submit`` option is used to send the job to the master
1433
daemon but not wait for its completion. The job ID will be shown so
1434
that it can be examined via **gnt-job info**.
1435

    
1436
Example::
1437

    
1438
    # gnt-instance move -n node3.example.com instance1.example.com
1439

    
1440

    
1441
TAGS
1442
~~~~
1443

    
1444
ADD-TAGS
1445
^^^^^^^^
1446

    
1447
**add-tags** [--from *file*] {*instancename*} {*tag*...}
1448

    
1449
Add tags to the given instance. If any of the tags contains invalid
1450
characters, the entire operation will abort.
1451

    
1452
If the ``--from`` option is given, the list of tags will be
1453
extended with the contents of that file (each line becomes a tag).
1454
In this case, there is not need to pass tags on the command line
1455
(if you do, both sources will be used). A file name of - will be
1456
interpreted as stdin.
1457

    
1458
LIST-TAGS
1459
^^^^^^^^^
1460

    
1461
**list-tags** {*instancename*}
1462

    
1463
List the tags of the given instance.
1464

    
1465
REMOVE-TAGS
1466
^^^^^^^^^^^
1467

    
1468
**remove-tags** [--from *file*] {*instancename*} {*tag*...}
1469

    
1470
Remove tags from the given instance. If any of the tags are not
1471
existing on the node, the entire operation will abort.
1472

    
1473
If the ``--from`` option is given, the list of tags to be removed will
1474
be extended with the contents of that file (each line becomes a tag).
1475
In this case, there is not need to pass tags on the command line (if
1476
you do, tags from both sources will be removed). A file name of - will
1477
be interpreted as stdin.