Revision 9d0671ba

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

  
115 115

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

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

  
129 128
The ``-B`` option specifies the backend parameters for the
130 129
instance. If no such parameters are specified, the values are
......
144 143

  
145 144

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

  
153 152
The possible hypervisor options are as follows:
154 153

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

  
164

  
165

  
166 163
    a
167 164
        floppy drive
168 165

  
......
175 172
    n
176 173
        network boot (PXE)
177 174

  
175
    The default is not to set an HVM boot order which is interpreted
176
    as 'dc'.
178 177

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

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

  
187 183
blockdev\_prefix
188 184
    Valid for the Xen HVM and PVM hypervisors.
189 185

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

  
194 190
floppy\_image\_path
195 191
    Valid for the KVM hypervisor.
196 192

  
197
    The path to a floppy disk image to attach to the instance.
198
    This is useful to install Windows operating systems on Virt/IO disks because
199
    you can specify here the floppy for the drivers at installation time.
193
    The path to a floppy disk image to attach to the instance.  This
194
    is useful to install Windows operating systems on Virt/IO disks
195
    because you can specify here the floppy for the drivers at
196
    installation time.
200 197

  
201 198
cdrom\_image\_path
202 199
    Valid for the Xen HVM and KVM hypervisors.
......
216 213
    This parameter determines the way the network cards are presented
217 214
    to the instance. The possible options are:
218 215

  
219

  
220

  
221 216
    rtl8139 (default for Xen HVM) (HVM & KVM)
222 217
    ne2k\_isa (HVM & KVM)
223 218
    ne2k\_pci (HVM & KVM)
......
228 223
    e1000 (KVM)
229 224
    paravirtual (default for KVM) (HVM & KVM)
230 225

  
231

  
232 226
disk\_type
233 227
    Valid for the Xen HVM and KVM hypervisors.
234 228

  
235 229
    This parameter determines the way the disks are presented to the
236 230
    instance. The possible options are:
237 231

  
238

  
239

  
240
    ioemu (default for HVM & KVM) (HVM & KVM)
241
    ide (HVM & KVM)
242
    scsi (KVM)
243
    sd (KVM)
244
    mtd (KVM)
245
    pflash (KVM)
232
    - ioemu [default] (HVM & KVM)
233
    - ide (HVM & KVM)
234
    - scsi (KVM)
235
    - sd (KVM)
236
    - mtd (KVM)
237
    - pflash (KVM)
246 238

  
247 239

  
248 240
cdrom\_disk\_type
249 241
    Valid for the KVM hypervisor.
250 242

  
251
    This parameter determines the way the cdroms disks are presented to the
252
    instance. The default behavior is to get the same value of the eariler
253
    parameter (disk_type). The possible options are:
254

  
243
    This parameter determines the way the cdroms disks are presented
244
    to the instance. The default behavior is to get the same value of
245
    the eariler parameter (disk_type). The possible options are:
255 246

  
256

  
257
    paravirtual
258
    ide
259
    scsi
260
    sd
261
    mtd
262
    pflash
247
    - paravirtual
248
    - ide
249
    - scsi
250
    - sd
251
    - mtd
252
    - pflash
263 253

  
264 254

  
265 255
vnc\_bind\_address
......
312 302
    Valid for the Xen PVM and KVM hypervisors.
313 303

  
314 304
    This option specifies the path (on the node) to the kernel to boot
315
    the instance with. Xen PVM instances always require this, while for
316
    KVM if this option is empty, it will cause the machine to load the
317
    kernel from its disks.
305
    the instance with. Xen PVM instances always require this, while
306
    for KVM if this option is empty, it will cause the machine to load
307
    the kernel from its disks.
318 308

  
319 309
kernel\_args
320 310
    Valid for the Xen PVM and KVM hypervisors.
......
323 313
    loaded. device. This is always used for Xen PVM, while for KVM it
324 314
    is only used if the ``kernel_path`` option is also specified.
325 315

  
326
    The default setting for this value is simply ``"ro"``, which mounts
327
    the root disk (initially) in read-only one. For example, setting
328
    this to single will cause the instance to start in single-user
329
    mode.
316
    The default setting for this value is simply ``"ro"``, which
317
    mounts the root disk (initially) in read-only one. For example,
318
    setting this to single will cause the instance to start in
319
    single-user mode.
330 320

  
331 321
initrd\_path
332 322
    Valid for the Xen PVM and KVM hypervisors.
333 323

  
334 324
    This option specifies the path (on the node) to the initrd to boot
335
    the instance with. Xen PVM instances can use this always, while for
336
    KVM if this option is only used if the ``kernel_path`` option is
337
    also specified. You can pass here either an absolute filename (the
338
    path to the initrd) if you want to use an initrd, or use the format
339
    no\_initrd\_path for no initrd.
325
    the instance with. Xen PVM instances can use this always, while
326
    for KVM if this option is only used if the ``kernel_path`` option
327
    is also specified. You can pass here either an absolute filename
328
    (the path to the initrd) if you want to use an initrd, or use the
329
    format no\_initrd\_path for no initrd.
340 330

  
341 331
root\_path
342 332
    Valid for the Xen PVM and KVM hypervisors.
......
354 344
disk\_cache
355 345
    Valid for the KVM hypervisor.
356 346

  
357
    The disk cache mode. It can be either default to not pass any cache
358
    option to KVM, or one of the KVM cache modes: none (for direct
359
    I/O), writethrough (to use the host cache but report completion to
360
    the guest only when the host has committed the changes to disk) or
361
    writeback (to use the host cache and report completion as soon as
362
    the data is in the host cache). Note that there are special
363
    considerations for the cache mode depending on version of KVM used
364
    and disk type (always raw file under Ganeti), please refer to the
365
    KVM documentation for more details.
347
    The disk cache mode. It can be either default to not pass any
348
    cache option to KVM, or one of the KVM cache modes: none (for
349
    direct I/O), writethrough (to use the host cache but report
350
    completion to the guest only when the host has committed the
351
    changes to disk) or writeback (to use the host cache and report
352
    completion as soon as the data is in the host cache). Note that
353
    there are special considerations for the cache mode depending on
354
    version of KVM used and disk type (always raw file under Ganeti),
355
    please refer to the KVM documentation for more details.
366 356

  
367 357
security\_model
368 358
    Valid for the KVM hypervisor.
369 359

  
370
    The security model for kvm. Currently one of "none", "user" or
371
    "pool". Under "none", the default, nothing is done and instances
360
    The security model for kvm. Currently one of *none*, *user* or
361
    *pool*. Under *none*, the default, nothing is done and instances
372 362
    are run as the Ganeti daemon user (normally root).
373 363

  
374
    Under "user" kvm will drop privileges and become the user specified
375
    by the security\_domain parameter.
364
    Under *user* kvm will drop privileges and become the user
365
    specified by the security\_domain parameter.
376 366

  
377
    Under "pool" a global cluster pool of users will be used, making
367
    Under *pool* a global cluster pool of users will be used, making
378 368
    sure no two instances share the same user on the same node. (this
379 369
    mode is not implemented yet)
380 370

  
381 371
security\_domain
382 372
    Valid for the KVM hypervisor.
383 373

  
384
    Under security model "user" the username to run the instance under.
385
    It must be a valid username existing on the host.
374
    Under security model *user* the username to run the instance
375
    under.  It must be a valid username existing on the host.
386 376

  
387
    Cannot be set under security model "none" or "pool".
377
    Cannot be set under security model *none* or *pool*.
388 378

  
389 379
kvm\_flag
390 380
    Valid for the KVM hypervisor.
391 381

  
392
    If "enabled" the -enable-kvm flag is passed to kvm. If "disabled"
393
    -disable-kvm is passed. If unset no flag is passed, and the default
394
    running mode for your kvm binary will be used.
382
    If *enabled* the -enable-kvm flag is passed to kvm. If *disabled*
383
    -disable-kvm is passed. If unset no flag is passed, and the
384
    default running mode for your kvm binary will be used.
395 385

  
396 386
mem\_path
397 387
    Valid for the KVM hypervisor.
......
426 416
cpu\_mask
427 417
    Valid for the LXC hypervisor.
428 418

  
429
    The processes belonging to the given instance are only scheduled on
430
    the specified CPUs.
419
    The processes belonging to the given instance are only scheduled
420
    on the specified CPUs.
431 421

  
432
    The parameter format is a comma-separated list of CPU IDs or CPU ID
433
    ranges. The ranges are defined by a lower and higher boundary,
422
    The parameter format is a comma-separated list of CPU IDs or CPU
423
    ID ranges. The ranges are defined by a lower and higher boundary,
434 424
    separated by a dash. The boundaries are inclusive.
435 425

  
436 426
usb\_mouse
......
449 439
    gnt-instance add -O dhcp=yes ...
450 440

  
451 441

  
452
The ``--iallocator`` option specifies the instance allocator plugin
453
to use. If you pass in this option the allocator will select nodes
454
for this instance automatically, so you don't need to pass them
455
with the ``-n`` option. For more information please refer to the
456
instance allocator documentation.
442
The ``--iallocator`` option specifies the instance allocator plugin to
443
use. If you pass in this option the allocator will select nodes for
444
this instance automatically, so you don't need to pass them with the
445
``-n`` option. For more information please refer to the instance
446
allocator documentation.
457 447

  
458 448
The ``-t`` options specifies the disk layout type for the instance.
459 449
The available choices are:
460 450

  
461

  
462

  
463 451
diskless
464 452
    This creates an instance with no disks. Its useful for testing only
465 453
    (or other special cases).
......
490 478
option is only relevant for instances using the file storage backend.
491 479

  
492 480
The ``--file-driver`` specifies the driver to use for file-based
493
disks. Note that currently these drivers work with the xen
494
hypervisor only. This option is only relevant for instances using
495
the file storage backend. The available choices are:
496

  
497

  
481
disks. Note that currently these drivers work with the xen hypervisor
482
only. This option is only relevant for instances using the file
483
storage backend. The available choices are:
498 484

  
499 485
loop
500
    Kernel loopback driver. This driver uses loopback devices to access
501
    the filesystem within the file. However, running I/O intensive
502
    applications in your instance using the loop driver might result in
503
    slowdowns. Furthermore, if you use the loopback driver consider
504
    increasing the maximum amount of loopback devices (on most systems
505
    it's 8) using the max\_loop param.
486
    Kernel loopback driver. This driver uses loopback devices to
487
    access the filesystem within the file. However, running I/O
488
    intensive applications in your instance using the loop driver
489
    might result in slowdowns. Furthermore, if you use the loopback
490
    driver consider increasing the maximum amount of loopback devices
491
    (on most systems it's 8) using the max\_loop param.
506 492

  
507 493
blktap
508
    The blktap driver (for Xen hypervisors). In order to be able to use
509
    the blktap driver you should check if the 'blktapctrl' user space
510
    disk agent is running (usually automatically started via xend).
511
    This user-level disk I/O interface has the advantage of better
512
    performance. Especially if you use a network file system (e.g. NFS)
513
    to store your instances this is the recommended choice.
494
    The blktap driver (for Xen hypervisors). In order to be able to
495
    use the blktap driver you should check if the 'blktapctrl' user
496
    space disk agent is running (usually automatically started via
497
    xend).  This user-level disk I/O interface has the advantage of
498
    better performance. Especially if you use a network file system
499
    (e.g. NFS) to store your instances this is the recommended choice.
514 500

  
515 501

  
516
The ``--submit`` option is used to send the job to the master
517
daemon but not wait for its completion. The job ID will be shown so
518
that it can be examined via **gnt-job info**.
502
The ``--submit`` option is used to send the job to the master daemon
503
but not wait for its completion. The job ID will be shown so that it
504
can be examined via **gnt-job info**.
519 505

  
520 506
Example::
521 507

  
......
536 522

  
537 523
This command (similar to the Ganeti 1.2 **batcher** tool) submits
538 524
multiple instance creation jobs based on a definition file. The
539
instance configurations do not encompass all the possible options
540
for the **add** command, but only a subset.
525
instance configurations do not encompass all the possible options for
526
the **add** command, but only a subset.
541 527

  
542 528
The instance file should be a valid-formed JSON file, containing a
543 529
dictionary with instance name and instance parameters. The accepted
544 530
parameters are:
545 531

  
546

  
547

  
548 532
disk\_size
549 533
    The size of the disks of the instance.
550 534

  
......
631 615

  
632 616
Remove an instance. This will remove all data from the instance and
633 617
there is *no way back*. If you are not sure if you use an instance
634
again, use **shutdown** first and leave it in the shutdown state
635
for a while.
618
again, use **shutdown** first and leave it in the shutdown state for a
619
while.
636 620

  
637 621
The ``--ignore-failures`` option will cause the removal to proceed
638 622
even in the presence of errors during the removal of the instance
639
(e.g. during the shutdown or the disk removal). If this option is
640
not given, the command will stop at the first error.
623
(e.g. during the shutdown or the disk removal). If this option is not
624
given, the command will stop at the first error.
641 625

  
642 626
The ``--shutdown-timeout`` is used to specify how much time to wait
643 627
before forcing the shutdown (e.g. ``xm destroy`` in Xen, killing the
644 628
kvm process for KVM, etc.). By default two minutes are given to each
645 629
instance to stop.
646 630

  
647
The ``--submit`` option is used to send the job to the master
648
daemon but not wait for its completion. The job ID will be shown so
649
that it can be examined via **gnt-job info**.
631
The ``--submit`` option is used to send the job to the master daemon
632
but not wait for its completion. The job ID will be shown so that it
633
can be examined via **gnt-job info**.
650 634

  
651 635
Example::
652 636

  
......
670 654

  
671 655
The units used to display the numeric values in the output varies,
672 656
depending on the options given. By default, the values will be
673
formatted in the most appropriate unit. If the ``--separator``
674
option is given, then the values are shown in mebibytes to allow
675
parsing by scripts. In both cases, the ``--units`` option can be
676
used to enforce a given output unit.
657
formatted in the most appropriate unit. If the ``--separator`` option
658
is given, then the values are shown in mebibytes to allow parsing by
659
scripts. In both cases, the ``--units`` option can be used to enforce
660
a given output unit.
677 661

  
678 662
The ``-v`` option activates verbose mode, which changes the display of
679 663
special field states (see **ganeti(7)**).
680 664

  
681
The ``-o`` option takes a comma-separated list of output fields.
682
The available fields and their meaning are:
665
The ``-o`` option takes a comma-separated list of output fields. The
666
available fields and their meaning are:
683 667

  
684 668

  
685 669
name
......
838 822

  
839 823

  
840 824
If the value of the option starts with the character ``+``, the new
841
field(s) will be added to the default list. This allows to quickly
842
see the default list plus a few other fields, instead of retyping
843
the entire list of fields.
825
field(s) will be added to the default list. This allows to quickly see
826
the default list plus a few other fields, instead of retyping the
827
entire list of fields.
844 828

  
845 829
There is a subtle grouping about the available output fields: all
846 830
fields except for ``oper_state``, ``oper_ram``, ``oper_vcpus`` and
847
``status`` are configuration value and not run-time values. So if
848
you don't select any of the these fields, the query will be
849
satisfied instantly from the cluster configuration, without having
850
to ask the remote nodes for the data. This can be helpful for big
851
clusters when you only want some data and it makes sense to specify
852
a reduced set of output fields.
831
``status`` are configuration value and not run-time values. So if you
832
don't select any of the these fields, the query will be satisfied
833
instantly from the cluster configuration, without having to ask the
834
remote nodes for the data. This can be helpful for big clusters when
835
you only want some data and it makes sense to specify a reduced set of
836
output fields.
853 837

  
854 838
The default output field list is: name, os, pnode, admin\_state,
855 839
oper\_state, oper\_ram.
......
869 853
**info** [-s \| --static] [--roman] {--all \| *instance*}
870 854

  
871 855
Show detailed information about the given instance(s). This is
872
different from **list** as it shows detailed data about the
873
instance's disks (especially useful for the drbd disk template).
856
different from **list** as it shows detailed data about the instance's
857
disks (especially useful for the drbd disk template).
874 858

  
875 859
If the option ``-s`` is used, only information available in the
876 860
configuration file is returned, without querying nodes, making the
......
879 863
Use the ``--all`` to get info about all instances, rather than
880 864
explicitly passing the ones you're interested in.
881 865

  
882
The ``--roman`` option can be used to cause envy among people who
883
like ancient cultures, but are stuck with non-latin-friendly
884
cluster virtualization technologies.
866
The ``--roman`` option can be used to cause envy among people who like
867
ancient cultures, but are stuck with non-latin-friendly cluster
868
virtualization technologies.
885 869

  
886 870
MODIFY
887 871
^^^^^^
......
925 909
The ``--net add:``*options* option will add a new NIC to the
926 910
instance. The available options are the same as in the **add** command
927 911
(mac, ip, link, mode). The ``--net remove`` will remove the last NIC
928
of the instance, while the ``--net`` *N*:*options* option will
929
change the parameters of the Nth instance NIC.
912
of the instance, while the ``--net`` *N*:*options* option will change
913
the parameters of the Nth instance NIC.
930 914

  
931 915
The option ``--os-type`` will change the OS name for the instance
932
(without reinstallation). In case an OS variant is specified that
933
is not found, then by default the modification is refused, unless
916
(without reinstallation). In case an OS variant is specified that is
917
not found, then by default the modification is refused, unless
934 918
``--force-variant`` is passed. An invalid OS will also be refused,
935 919
unless the ``--force`` option is given.
936 920

  
937
The ``--submit`` option is used to send the job to the master
938
daemon but not wait for its completion. The job ID will be shown so
939
that it can be examined via **gnt-job info**.
921
The ``--submit`` option is used to send the job to the master daemon
922
but not wait for its completion. The job ID will be shown so that it
923
can be examined via **gnt-job info**.
940 924

  
941 925
All the changes take effect at the next restart. If the instance is
942 926
running, there is no effect on the instance.
......
961 945
Since this is a potentially dangerous command, the user will be
962 946
required to confirm this action, unless the ``-f`` flag is passed.
963 947
When multiple instances are selected (either by passing multiple
964
arguments or by using the ``--node``, ``--primary``,
965
``--secondary`` or ``--all`` options), the user must pass the
966
``--force-multiple`` options to skip the interactive confirmation.
948
arguments or by using the ``--node``, ``--primary``, ``--secondary``
949
or ``--all`` options), the user must pass the ``--force-multiple``
950
options to skip the interactive confirmation.
967 951

  
968
The ``--submit`` option is used to send the job to the master
969
daemon but not wait for its completion. The job ID will be shown so
970
that it can be examined via **gnt-job info**.
952
The ``--submit`` option is used to send the job to the master daemon
953
but not wait for its completion. The job ID will be shown so that it
954
can be examined via **gnt-job info**.
971 955

  
972 956
RENAME
973 957
^^^^^^
......
975 959
| **rename** [--no-ip-check] [--no-name-check] [--submit]
976 960
| {*instance*} {*new\_name*}
977 961

  
978
Renames the given instance. The instance must be stopped when
979
running this command. The requirements for the new name are the
980
same as for adding an instance: the new name must be resolvable and
981
the IP it resolves to must not be reachable (in order to prevent
982
duplicate IPs the next time the instance is started). The IP test
983
can be skipped if the ``--no-ip-check`` option is passed.
962
Renames the given instance. The instance must be stopped when running
963
this command. The requirements for the new name are the same as for
964
adding an instance: the new name must be resolvable and the IP it
965
resolves to must not be reachable (in order to prevent duplicate IPs
966
the next time the instance is started). The IP test can be skipped if
967
the ``--no-ip-check`` option is passed.
984 968

  
985
The ``--no-name-check`` skips the check for the new instance name
986
via the resolver (e.g. in DNS or /etc/hosts, depending on your
987
setup). Since the name check is used to compute the IP address, if
988
you pass this option you must also pass the ``--no-ip-check``
989
option.
969
The ``--no-name-check`` skips the check for the new instance name via
970
the resolver (e.g. in DNS or /etc/hosts, depending on your
971
setup). Since the name check is used to compute the IP address, if you
972
pass this option you must also pass the ``--no-ip-check`` option.
990 973

  
991
The ``--submit`` option is used to send the job to the master
992
daemon but not wait for its completion. The job ID will be shown so
993
that it can be examined via **gnt-job info**.
974
The ``--submit`` option is used to send the job to the master daemon
975
but not wait for its completion. The job ID will be shown so that it
976
can be examined via **gnt-job info**.
994 977

  
995 978
Starting/stopping/connecting to console
996 979
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
1007 990
| [--submit]
1008 991
| {*name*...}
1009 992

  
1010
Starts one or more instances, depending on the following options.
1011
The four available modes are:
1012

  
993
Starts one or more instances, depending on the following options.  The
994
four available modes are:
1013 995

  
1014 996
--instance
1015 997
    will start the instances given as arguments (at least one argument
......
1048 1030

  
1049 1031

  
1050 1032
Note that although you can pass more than one selection option, the
1051
last one wins, so in order to guarantee the desired result, don't
1052
pass more than one such option.
1033
last one wins, so in order to guarantee the desired result, don't pass
1034
more than one such option.
1053 1035

  
1054 1036
Use ``--force`` to start even if secondary disks are failing.
1055
``--ignore-offline`` can be used to ignore offline primary nodes
1056
and mark the instance as started even if the primary is not
1057
available.
1037
``--ignore-offline`` can be used to ignore offline primary nodes and
1038
mark the instance as started even if the primary is not available.
1058 1039

  
1059
The ``--force-multiple`` will skip the interactive confirmation in
1060
the case the more than one instance will be affected.
1040
The ``--force-multiple`` will skip the interactive confirmation in the
1041
case the more than one instance will be affected.
1061 1042

  
1062
The ``-H`` and ``-B`` options specify temporary hypervisor and
1063
backend parameters that can be used to start an instance with
1064
modified parameters. They can be useful for quick testing without
1065
having to modify an instance back and forth, e.g.::
1043
The ``-H`` and ``-B`` options specify temporary hypervisor and backend
1044
parameters that can be used to start an instance with modified
1045
parameters. They can be useful for quick testing without having to
1046
modify an instance back and forth, e.g.::
1066 1047

  
1067 1048
    # gnt-instance start -H root_args="single" instance1
1068 1049
    # gnt-instance start -B memory=2048 instance2
1069 1050

  
1070 1051

  
1071
The first form will start the instance instance1 in single-user
1072
mode, and the instance instance2 with 2GB of RAM (this time only,
1073
unless that is the actual instance memory size already). Note that
1074
the values override the instance parameters (and not extend them):
1075
an instance with "root\_args=ro" when started with -H
1076
root\_args=single will result in "single", not "ro single".
1077
The ``--submit`` option is used to send the job to the master
1078
daemon but not wait for its completion. The job ID will be shown so
1079
that it can be examined via **gnt-job info**.
1052
The first form will start the instance instance1 in single-user mode,
1053
and the instance instance2 with 2GB of RAM (this time only, unless
1054
that is the actual instance memory size already). Note that the values
1055
override the instance parameters (and not extend them): an instance
1056
with "root\_args=ro" when started with -H root\_args=single will
1057
result in "single", not "ro single".  The ``--submit`` option is used
1058
to send the job to the master daemon but not wait for its
1059
completion. The job ID will be shown so that it can be examined via
1060
**gnt-job info**.
1080 1061

  
1081 1062
Example::
1082 1063

  
......
1096 1077
| [--submit]
1097 1078
| {*name*...}
1098 1079

  
1099
Stops one or more instances. If the instance cannot be cleanly
1100
stopped during a hardcoded interval (currently 2 minutes), it will
1101
forcibly stop the instance (equivalent to switching off the power
1102
on a physical machine).
1080
Stops one or more instances. If the instance cannot be cleanly stopped
1081
during a hardcoded interval (currently 2 minutes), it will forcibly
1082
stop the instance (equivalent to switching off the power on a physical
1083
machine).
1103 1084

  
1104 1085
The ``--timeout`` is used to specify how much time to wait before
1105 1086
forcing the shutdown (e.g. ``xm destroy`` in Xen, killing the kvm
......
1108 1089

  
1109 1090
The ``--instance``, ``--node``, ``--primary``, ``--secondary``,
1110 1091
``--all``, ``--tags``, ``--node-tags``, ``--pri-node-tags`` and
1111
``--sec-node-tags`` options are similar as for the **startup**
1112
command and they influence the actual instances being shutdown.
1092
``--sec-node-tags`` options are similar as for the **startup** command
1093
and they influence the actual instances being shutdown.
1113 1094

  
1114
The ``--submit`` option is used to send the job to the master
1115
daemon but not wait for its completion. The job ID will be shown so
1116
that it can be examined via **gnt-job info**.
1095
The ``--submit`` option is used to send the job to the master daemon
1096
but not wait for its completion. The job ID will be shown so that it
1097
can be examined via **gnt-job info**.
1117 1098

  
1118
``--ignore-offline`` can be used to ignore offline primary nodes
1119
and force the instance to be marked as stopped. This option should
1120
be used with care as it can lead to an inconsistent cluster state.
1099
``--ignore-offline`` can be used to ignore offline primary nodes and
1100
force the instance to be marked as stopped. This option should be used
1101
with care as it can lead to an inconsistent cluster state.
1121 1102

  
1122 1103
Example::
1123 1104

  
......
1138 1119
| [--submit]
1139 1120
| [*name*...]
1140 1121

  
1141
Reboots one or more instances. The type of reboot depends on the
1142
value of ``--type``. A soft reboot does a hypervisor reboot, a hard
1143
reboot does a instance stop, recreates the hypervisor config for
1144
the instance and starts the instance. A full reboot does the
1145
equivalent of **gnt-instance shutdown && gnt-instance startup**.
1146
The default is hard reboot.
1122
Reboots one or more instances. The type of reboot depends on the value
1123
of ``--type``. A soft reboot does a hypervisor reboot, a hard reboot
1124
does a instance stop, recreates the hypervisor config for the instance
1125
and starts the instance. A full reboot does the equivalent of
1126
**gnt-instance shutdown && gnt-instance startup**.  The default is
1127
hard reboot.
1147 1128

  
1148
For the hard reboot the option ``--ignore-secondaries`` ignores
1149
errors for the secondary node while re-assembling the instance
1150
disks.
1129
For the hard reboot the option ``--ignore-secondaries`` ignores errors
1130
for the secondary node while re-assembling the instance disks.
1151 1131

  
1152 1132
The ``--instance``, ``--node``, ``--primary``, ``--secondary``,
1153 1133
``--all``, ``--tags``, ``--node-tags``, ``--pri-node-tags`` and
1154
``--sec-node-tags`` options are similar as for the **startup**
1155
command and they influence the actual instances being rebooted.
1134
``--sec-node-tags`` options are similar as for the **startup** command
1135
and they influence the actual instances being rebooted.
1156 1136

  
1157 1137
The ``--shutdown-timeout`` is used to specify how much time to wait
1158 1138
before forcing the shutdown (xm destroy in xen, killing the kvm
1159
process, for kvm). By default two minutes are given to each
1160
instance to stop.
1139
process, for kvm). By default two minutes are given to each instance
1140
to stop.
1161 1141

  
1162
The ``--force-multiple`` will skip the interactive confirmation in
1163
the case the more than one instance will be affected.
1142
The ``--force-multiple`` will skip the interactive confirmation in the
1143
case the more than one instance will be affected.
1164 1144

  
1165 1145
Example::
1166 1146

  
......
1173 1153

  
1174 1154
**console** [--show-cmd] {*instance*}
1175 1155

  
1176
Connects to the console of the given instance. If the instance is
1177
not up, an error is returned. Use the ``--show-cmd`` option to
1178
display the command instead of executing it.
1156
Connects to the console of the given instance. If the instance is not
1157
up, an error is returned. Use the ``--show-cmd`` option to display the
1158
command instead of executing it.
1179 1159

  
1180
For HVM instances, this will attempt to connect to the serial
1181
console of the instance. To connect to the virtualized "physical"
1182
console of a HVM instance, use a VNC client with the connection
1183
info from the **info** command.
1160
For HVM instances, this will attempt to connect to the serial console
1161
of the instance. To connect to the virtualized "physical" console of a
1162
HVM instance, use a VNC client with the connection info from the
1163
**info** command.
1184 1164

  
1185 1165
Example::
1186 1166

  
......
1208 1188
This command is a generalized form for replacing disks. It is
1209 1189
currently only valid for the mirrored (DRBD) disk template.
1210 1190

  
1211
The first form (when passing the ``-p`` option) will replace the
1212
disks on the primary, while the second form (when passing the
1213
``-s`` option will replace the disks on the secondary node. For
1214
these two cases (as the node doesn't change), it is possible to
1215
only run the replace for a subset of the disks, using the option
1216
``--disks`` which takes a list of comma-delimited disk indices
1217
(zero-based), e.g. 0,2 to replace only the first and third disks.
1191
The first form (when passing the ``-p`` option) will replace the disks
1192
on the primary, while the second form (when passing the ``-s`` option
1193
will replace the disks on the secondary node. For these two cases (as
1194
the node doesn't change), it is possible to only run the replace for a
1195
subset of the disks, using the option ``--disks`` which takes a list
1196
of comma-delimited disk indices (zero-based), e.g. 0,2 to replace only
1197
the first and third disks.
1218 1198

  
1219 1199
The third form (when passing either the ``--iallocator`` or the
1220 1200
``--new-secondary`` option) is designed to change secondary node of
1221
the instance. Specifying ``--iallocator`` makes the new secondary
1222
be selected automatically by the specified allocator plugin,
1223
otherwise the new secondary node will be the one chosen manually
1224
via the ``--new-secondary`` option.
1201
the instance. Specifying ``--iallocator`` makes the new secondary be
1202
selected automatically by the specified allocator plugin, otherwise
1203
the new secondary node will be the one chosen manually via the
1204
``--new-secondary`` option.
1225 1205

  
1226
The fourth form (when using ``--auto``) will automatically
1227
determine which disks of an instance are faulty and replace them
1228
within the same node. The ``--auto`` option works only when an
1229
instance has only faulty disks on either the primary or secondary
1230
node; it doesn't work when both sides have faulty disks.
1206
The fourth form (when using ``--auto``) will automatically determine
1207
which disks of an instance are faulty and replace them within the same
1208
node. The ``--auto`` option works only when an instance has only
1209
faulty disks on either the primary or secondary node; it doesn't work
1210
when both sides have faulty disks.
1231 1211

  
1232
The ``--submit`` option is used to send the job to the master
1233
daemon but not wait for its completion. The job ID will be shown so
1234
that it can be examined via **gnt-job info**.
1212
The ``--submit`` option is used to send the job to the master daemon
1213
but not wait for its completion. The job ID will be shown so that it
1214
can be examined via **gnt-job info**.
1235 1215

  
1236 1216
The ``--early-release`` changes the code so that the old storage on
1237 1217
secondary node(s) is removed early (before the resync is completed)
1238 1218
and the internal Ganeti locks for the current (and new, if any)
1239 1219
secondary node are also released, thus allowing more parallelism in
1240
the cluster operation. This should be used only when recovering
1241
from a disk failure on the current secondary (thus the old storage
1242
is already broken) or when the storage on the primary node is known
1243
to be fine (thus we won't need the old storage for potential
1244
recovery).
1220
the cluster operation. This should be used only when recovering from a
1221
disk failure on the current secondary (thus the old storage is already
1222
broken) or when the storage on the primary node is known to be fine
1223
(thus we won't need the old storage for potential recovery).
1245 1224

  
1246
Note that it is not possible to select an offline or drained node
1247
as a new secondary.
1225
Note that it is not possible to select an offline or drained node as a
1226
new secondary.
1248 1227

  
1249 1228
ACTIVATE-DISKS
1250 1229
^^^^^^^^^^^^^^
1251 1230

  
1252 1231
**activate-disks** [--submit] [--ignore-size] {*instance*}
1253 1232

  
1254
Activates the block devices of the given instance. If successful,
1255
the command will show the location and name of the block devices::
1233
Activates the block devices of the given instance. If successful, the
1234
command will show the location and name of the block devices::
1256 1235

  
1257 1236
    node1.example.com:disk/0:/dev/drbd0
1258 1237
    node1.example.com:disk/1:/dev/drbd1
1259 1238

  
1260 1239

  
1261
In this example, *node1.example.com* is the name of the node on
1262
which the devices have been activated. The *disk/0* and *disk/1*
1263
are the Ganeti-names of the instance disks; how they are visible
1264
inside the instance is hypervisor-specific. */dev/drbd0* and
1265
*/dev/drbd1* are the actual block devices as visible on the node.
1266
The ``--submit`` option is used to send the job to the master
1267
daemon but not wait for its completion. The job ID will be shown so
1268
that it can be examined via **gnt-job info**.
1240
In this example, *node1.example.com* is the name of the node on which
1241
the devices have been activated. The *disk/0* and *disk/1* are the
1242
Ganeti-names of the instance disks; how they are visible inside the
1243
instance is hypervisor-specific. */dev/drbd0* and */dev/drbd1* are the
1244
actual block devices as visible on the node.  The ``--submit`` option
1245
is used to send the job to the master daemon but not wait for its
1246
completion. The job ID will be shown so that it can be examined via
1247
**gnt-job info**.
1269 1248

  
1270 1249
The ``--ignore-size`` option can be used to activate disks ignoring
1271 1250
the currently configured size in Ganeti. This can be used in cases
1272 1251
where the configuration has gotten out of sync with the real-world
1273
(e.g. after a partially-failed grow-disk operation or due to
1274
rounding in LVM devices). This should not be used in normal cases,
1275
but only when activate-disks fails without it.
1252
(e.g. after a partially-failed grow-disk operation or due to rounding
1253
in LVM devices). This should not be used in normal cases, but only
1254
when activate-disks fails without it.
1276 1255

  
1277
Note that it is safe to run this command while the instance is
1278
already running.
1256
Note that it is safe to run this command while the instance is already
1257
running.
1279 1258

  
1280 1259
DEACTIVATE-DISKS
1281 1260
^^^^^^^^^^^^^^^^
1282 1261

  
1283 1262
**deactivate-disks** [-f] [--submit] {*instance*}
1284 1263

  
1285
De-activates the block devices of the given instance. Note that if
1286
you run this command for an instance with a drbd disk template,
1287
while it is running, it will not be able to shutdown the block
1288
devices on the primary node, but it will shutdown the block devices
1289
on the secondary nodes, thus breaking the replication.
1264
De-activates the block devices of the given instance. Note that if you
1265
run this command for an instance with a drbd disk template, while it
1266
is running, it will not be able to shutdown the block devices on the
1267
primary node, but it will shutdown the block devices on the secondary
1268
nodes, thus breaking the replication.
1290 1269

  
1291 1270
The ``-f``/``--force`` option will skip checks that the instance is
1292 1271
down; in case the hypervisor is confused and we can't talk to it,
......
1295 1274
the disks. This can still fail due to the instance actually running or
1296 1275
other issues.
1297 1276

  
1298
The ``--submit`` option is used to send the job to the master
1299
daemon but not wait for its completion. The job ID will be shown so
1300
that it can be examined via **gnt-job info**.
1277
The ``--submit`` option is used to send the job to the master daemon
1278
but not wait for its completion. The job ID will be shown so that it
1279
can be examined via **gnt-job info**.
1301 1280

  
1302 1281
GROW-DISK
1303 1282
^^^^^^^^^
......
1305 1284
**grow-disk** [--no-wait-for-sync] [--submit] {*instance*} {*disk*}
1306 1285
{*amount*}
1307 1286

  
1308
Grows an instance's disk. This is only possible for instances
1309
having a plain or drbd disk template.
1287
Grows an instance's disk. This is only possible for instances having a
1288
plain or drbd disk template.
1310 1289

  
1311
Note that this command only change the block device size; it will
1312
not grow the actual filesystems, partitions, etc. that live on that
1290
Note that this command only change the block device size; it will not
1291
grow the actual filesystems, partitions, etc. that live on that
1313 1292
disk. Usually, you will need to:
1314 1293

  
1315

  
1316

  
1317

  
1318 1294
#. use **gnt-instance grow-disk**
1319 1295

  
1320 1296
#. reboot the instance (later, at a convenient time)
......
1323 1299
   xfs\_growfs(8) to resize the filesystem, or use fdisk(8) to change
1324 1300
   the partition table on the disk
1325 1301

  
1326

  
1327 1302
The *disk* argument is the index of the instance disk to grow. The
1328
*amount* argument is given either as a number (and it represents
1329
the amount to increase the disk with in mebibytes) or can be given
1330
similar to the arguments in the create instance operation, with a
1331
suffix denoting the unit.
1303
*amount* argument is given either as a number (and it represents the
1304
amount to increase the disk with in mebibytes) or can be given similar
1305
to the arguments in the create instance operation, with a suffix
1306
denoting the unit.
1332 1307

  
1333
Note that the disk grow operation might complete on one node but
1334
fail on the other; this will leave the instance with
1335
different-sized LVs on the two nodes, but this will not create
1336
problems (except for unused space).
1308
Note that the disk grow operation might complete on one node but fail
1309
on the other; this will leave the instance with different-sized LVs on
1310
the two nodes, but this will not create problems (except for unused
1311
space).
1337 1312

  
1338
If you do not want gnt-instance to wait for the new disk region to
1339
be synced, use the ``--no-wait-for-sync`` option.
1313
If you do not want gnt-instance to wait for the new disk region to be
1314
synced, use the ``--no-wait-for-sync`` option.
1340 1315

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

  
1345 1320
Example (increase the first disk for instance1 by 16GiB)::
1346 1321

  
1347 1322
    # gnt-instance grow-disk instance1.example.com 0 16g
1348 1323

  
1349 1324

  
1350
Also note that disk shrinking is not supported; use
1351
**gnt-backup export** and then **gnt-backup import** to reduce the
1352
disk size of an instance.
1325
Also note that disk shrinking is not supported; use **gnt-backup
1326
export** and then **gnt-backup import** to reduce the disk size of an
1327
instance.
1353 1328

  
1354 1329
RECREATE-DISKS
1355 1330
^^^^^^^^^^^^^^
......
1360 1335
disks (if the option ``disks`` is passed, which must be a
1361 1336
comma-separated list of disk indices, starting from zero).
1362 1337

  
1363
Note that this functionality should only be used for missing disks;
1364
if any of the given disks already exists, the operation will fail.
1365
While this is suboptimal, recreate-disks should hopefully not be
1366
needed in normal operation and as such the impact of this is low.
1338
Note that this functionality should only be used for missing disks; if
1339
any of the given disks already exists, the operation will fail.  While
1340
this is suboptimal, recreate-disks should hopefully not be needed in
1341
normal operation and as such the impact of this is low.
1367 1342

  
1368
The ``--submit`` option is used to send the job to the master
1369
daemon but not wait for its completion. The job ID will be shown so
1370
that it can be examined via **gnt-job info**.
1343
The ``--submit`` option is used to send the job to the master daemon
1344
but not wait for its completion. The job ID will be shown so that it
1345
can be examined via **gnt-job info**.
1371 1346

  
1372 1347
Recovery
1373 1348
~~~~~~~~
......
1381 1356
Failover will fail the instance over its secondary node. This works
1382 1357
only for instances having a drbd disk template.
1383 1358

  
1384
Normally the failover will check the consistency of the disks
1385
before failing over the instance. If you are trying to migrate
1386
instances off a dead node, this will fail. Use the
1387
``--ignore-consistency`` option for this purpose. Note that this
1388
option can be dangerous as errors in shutting down the instance
1389
will be ignored, resulting in possibly having the instance running
1390
on two machines in parallel (on disconnected DRBD drives).
1359
Normally the failover will check the consistency of the disks before
1360
failing over the instance. If you are trying to migrate instances off
1361
a dead node, this will fail. Use the ``--ignore-consistency`` option
1362
for this purpose. Note that this option can be dangerous as errors in
1363
shutting down the instance will be ignored, resulting in possibly
1364
having the instance running on two machines in parallel (on
1365
disconnected DRBD drives).
1391 1366

  
1392 1367
The ``--shutdown-timeout`` is used to specify how much time to wait
1393 1368
before forcing the shutdown (xm destroy in xen, killing the kvm
1394
process, for kvm). By default two minutes are given to each
1395
instance to stop.
1369
process, for kvm). By default two minutes are given to each instance
1370
to stop.
1396 1371

  
1397
The ``--submit`` option is used to send the job to the master
1398
daemon but not wait for its completion. The job ID will be shown so
1399
that it can be examined via **gnt-job info**.
1372
The ``--submit`` option is used to send the job to the master daemon
1373
but not wait for its completion. The job ID will be shown so that it
1374
can be examined via **gnt-job info**.
1400 1375

  
1401 1376
Example::
1402 1377

  
......
1412 1387
{*instance*}
1413 1388

  
1414 1389
Migrate will move the instance to its secondary node without
1415
shutdown. It only works for instances having the drbd8 disk
1416
template type.
1390
shutdown. It only works for instances having the drbd8 disk template
1391
type.
1417 1392

  
1418
The migration command needs a perfectly healthy instance, as we
1419
rely on the dual-master capability of drbd8 and the disks of the
1420
instance are not allowed to be degraded.
1393
The migration command needs a perfectly healthy instance, as we rely
1394
on the dual-master capability of drbd8 and the disks of the instance
1395
are not allowed to be degraded.
1421 1396

  
1422 1397
The ``--non-live`` and ``--migration-mode=non-live`` options will
1423 1398
switch (for the hypervisors that support it) between a "fully live"
1424
(i.e. the interruption is as minimal as possible) migration and one
1425
in which the instance is frozen, its state saved and transported to
1426
the remote node, and then resumed there. This all depends on the
1427
hypervisor support for two different methods. In any case, it is
1428
not an error to pass this parameter (it will just be ignored if the
1429
hypervisor doesn't support it). The option
1430
``--migration-mode=live`` option will request a fully-live
1431
migration. The default, when neither option is passed, depends on
1432
the hypervisor parameters (and can be viewed with the
1433
**gnt-cluster info** command).
1399
(i.e. the interruption is as minimal as possible) migration and one in
1400
which the instance is frozen, its state saved and transported to the
1401
remote node, and then resumed there. This all depends on the
1402
hypervisor support for two different methods. In any case, it is not
1403
an error to pass this parameter (it will just be ignored if the
1404
hypervisor doesn't support it). The option ``--migration-mode=live``
1405
option will request a fully-live migration. The default, when neither
1406
option is passed, depends on the hypervisor parameters (and can be
1407
viewed with the **gnt-cluster info** command).
1434 1408

  
1435 1409
If the ``--cleanup`` option is passed, the operation changes from
1436
migration to attempting recovery from a failed previous migration.
1437
In this mode, Ganeti checks if the instance runs on the correct
1438
node (and updates its configuration if not) and ensures the
1439
instances's disks are configured correctly. In this mode, the
1440
``--non-live`` option is ignored.
1410
migration to attempting recovery from a failed previous migration.  In
1411
this mode, Ganeti checks if the instance runs on the correct node (and
1412
updates its configuration if not) and ensures the instances's disks
1413
are configured correctly. In this mode, the ``--non-live`` option is
1414
ignored.
1441 1415

  
1442 1416
The option ``-f`` will skip the prompting for confirmation.
1443 1417

  
......
1467 1441
**move** [-f] [-n *node*] [--shutdown-timeout=*N*] [--submit]
1468 1442
{*instance*}
1469 1443

  
1470
Move will move the instance to an arbitrary node in the cluster.
1471
This works only for instances having a plain or file disk
1472
template.
1444
Move will move the instance to an arbitrary node in the cluster.  This
1445
works only for instances having a plain or file disk template.
1473 1446

  
1474
Note that since this operation is done via data copy, it will take
1475
a long time for big disks (similar to replace-disks for a drbd
1447
Note that since this operation is done via data copy, it will take a
1448
long time for big disks (similar to replace-disks for a drbd
1476 1449
instance).
1477 1450

  
1478 1451
The ``--shutdown-timeout`` is used to specify how much time to wait
......
1480 1453
kvm process for KVM, etc.). By default two minutes are given to each
1481 1454
instance to stop.
1482 1455

  
1483
The ``--submit`` option is used to send the job to the master
1484
daemon but not wait for its completion. The job ID will be shown so
1485
that it can be examined via **gnt-job info**.
1456
The ``--submit`` option is used to send the job to the master daemon
1457
but not wait for its completion. The job ID will be shown so that it
1458
can be examined via **gnt-job info**.
1486 1459

  
1487 1460
Example::
1488 1461

  
......
1500 1473
Add tags to the given instance. If any of the tags contains invalid
1501 1474
characters, the entire operation will abort.
1502 1475

  
1503
If the ``--from`` option is given, the list of tags will be
1504
extended with the contents of that file (each line becomes a tag).
1505
In this case, there is not need to pass tags on the command line
1506
(if you do, both sources will be used). A file name of ``-`` will be
1507
interpreted as stdin.
1476
If the ``--from`` option is given, the list of tags will be extended
1477
with the contents of that file (each line becomes a tag).  In this
1478
case, there is not need to pass tags on the command line (if you do,
1479
both sources will be used). A file name of ``-`` will be interpreted
1480
as stdin.
1508 1481

  
1509 1482
LIST-TAGS
1510 1483
^^^^^^^^^

Also available in: Unified diff