Управление экземплярами ВМ в интерфейсе командной строки#

Создание экземпляра ВМ#

Для создания экземпляра ВМ предварительно необходимо подготовить шаблон ВМ.

Для развертывания ВМ из шаблона можно воспользоваться командой:

onetemplate instantiate <идентификатор_шаблона> [<файл_параметров>]

где <файл_параметров> — файл в котором перечислены параметры ВМ, заменяющие значения, которые были определены в шаблоне. Кроме того, возможно вместо файла параметров в команде в качестве аргумента указывать новые значения параметров.

Примечание

Примеры:

  1. Развертывание ВМ из шаблона с идентификатором 2, при этом для ВМ будет выделено 3 ГБ оперативной памяти:

onetemplate instantiate 2 --memory 3072

Пример вывода после выполнения команды:

VM ID: 1
  1. Просмотр перечня ВМ.

Пример вывода после выполнения команды onevm list:

ID USER      GROUP           NAME       STAT CPU   MEM HOST             TIME
1  brestadm brestadm test-vm-1    prol 0.25 3G  172.16.1.210      0d 00h00

С помощью аргумента --multiple <количество_ВМ> можно создать более одного экземпляра одновременно. При этом наименования ВМ будут иметь вид: <наименование_шаблона>-<идентификатор_ВМ>.

Примечание

Пример

Развертывание двух ВМ из шаблона с идентификатором 0:

onetemplate instantiate 0 --multiple 2

Отображение существующих ВМ#

Для отображения существующих ВМ необходимо использовать команду onevm list.

Пример вывода после выполнения команды:

ID      USER         GROUP        NAME          STAT     CPU      MEM     HOST             TIME
1       oneadmin     brestadm     test-vm-1     poff     0.25     3G      172.16.1.210     0d 14h53

Кроме того, можно использовать команду onevm top для непрерывного отображения ВМ.

Для просмотра полной информации о ВМ необходимо использовать команду:

onevm show <идентификатор_ВМ>

Пример вывода после выполнения команды onevm show 2:

VIRTUAL MACHINE 1 INFORMATION
ID               : 1
NAME             : test-vm-1
USER             : oneadmin
GROUP            : brestadmins
STATE            : POWEROFF
LCM_STATE        : LCM_INIT
LOCK             : None
RESCHED          : No
HOST             : 172.16.1.210
CLUSTER ID       : 0
CLUSTER          : default
START TIME       : 07/18 19:05:39
END TIME         : -
DEPLOY ID        : 3b4d40f7-55c0-4ba6-9bcf-2e627c744179

VIRTUAL MACHINE MONITORING
ID               : 1
TIMESTAMP        : 1658214069

PERMISSIONS
OWNER            : um-
GROUP            : ---
OTHER            : ---

Удаление экземпляров ВМ#

Удаление экземпляра ВМ из любого состояния выполняется командой:

onevm terminate <идентификатор_ВМ>

В качестве идентификатора ВМ можно указать перечень идентификаторов, разделенных запятыми или диапазон идентификаторов (в качестве разделителя используются две точки — «..»).

Команда onevm terminate корректно отключает и удаляет работающие ВМ, отправляя сигнал ACPI. После отключения ВМ освободятся ресурсы (образы, сети и др.), которые использовались ВМ, сервер виртуализации будет очищен, а постоянный диск будет перемещен в хранилище образов.

Если по истечении определенного времени после выполнения команды onevm terminate ВМ все еще работает, т.е. ОС виртуальной машины игнорирует сигналы ACPI, служба сервера управления снова присвоит ВМ статус RUNNING.

Если экземпляр ВМ находится в статусе RUNNING, для завершения его работы в команде можно указать аргумент --hard. В этом случае экземпляр ВМ будет удален незамедлительно. Следует использовать данный аргумент команды, если ВМ не поддерживает ACPI.

Приостановка экземпляров ВМ#

Существует два способа временно остановить выполнение ВМ: с сохранением состояния и без сохранения. Для приостановки ВМ используются следующие команды:

  • onevm suspend — краткосрочная приостановка: состояние ВМ, в т.ч. выделенные ресурсы, сохраняется на задействованном сервере виртуализации. При возобновлении работы приостановленной ВМ выполняется ее незамедлительное развертывание на том же сервере виртуализации;

  • onevm poweroff — долгосрочная приостановка: корректно выключает электропитание работающей ВМ, отправляя сигнал ACPI, при этом состояние ВМ не сохраняется. Возобновления работы ВМ осуществляется на том же сервере виртуализации. Использование с командой аргумента --hard позволяет незамедлительно отключить электропитание ВМ. Использование данной опции актуально, если ВМ не поддерживает ACPI.

Примечание

В случае запуска процедуры выключения в ОС виртуальной машины, в ПВ состояние ВМ также будет установлено как POWEROFF.

Возможно запланировать долгосрочную приостановку. В этом случае ресурсы сервера виртуализации, которые использовала ВМ, будут освобождены, а сервер виртуализации очищен. Любой диск будет сохранен в хранилище образов. Следующие команды применяются при необходимости сохранить выделенные ресурсы сети и памяти, например, IP-адреса, постоянные образы диска:

  • undeploy — корректно выключает работающую ВМ, отправляя сигнал ACPI. Диски ВМ перемещаются в хранилище образов. При возобновлении ВМ, развертывание которой было отменено, она перейдет в состояние ожидания, а планировщик выберет место для ее повторного развертывания;

  • undeploy --hard — аналогично команде undeploy, но работающая ВМ удаляется незамедлительно;

  • stop — аналогично команде undeploy, но также сохраняется состояние ВМ для последующего возобновления;

  • resume — возобновляет работу ВМ при успешной остановке или приостановке их работы, а также ВМ, развертывание которых было отменено или электропитание которых было отключено.

Запуск экземпляров ВМ#

Чтобы возобновить работу ВМ при успешной остановки или приостановки их работы, а также запустить ВМ, развертывание которых было отменено или электропитание которых было отключено, необходимо выполнить команду: .. code-block:: bash

onevm resume <идентификатор_ВМ>

В качестве идентификатора ВМ можно указать перечень идентификаторов, разделенных запятыми или диапазон идентификаторов (в качестве разделителя используются две точки — «..»).

Перезагрузка экземпляров ВМ#

Для перезагрузки ВМ используются следующие команды:

  • reboot — корректная перезагрузка работающей ВМ, отправляя сигнал ACPI;

  • reboot --hard — принудительная перезагрузка работающей ВМ, актуально, если ВМ не поддерживает ACPI.

Отсрочка развертывания экземпляров ВМ#

Возможно отсрочить развертывание ожидающей ВМ, например, после ее создания или возобновления, используя команду hold. Команда переводит ВМ в состояние удержания. Планировщик не будет выполнять развертывание ВМ, находящейся в состоянии удержания. Также можно создавать ВМ непосредственно на удержании с помощью команд: onetemplate instantiate -hold или onevm create -hold.

Возобновление развертывания ВМ осуществляется с помощью команды release. Команда разблокирует ВМ, находящуюся на удержании, и переведет ее в состояние ожидания. Возможно автоматически разблокировать ВМ, запланировав выполнение данной команды.