Product SiteDocumentation Site

31.4. Создание ВМ из шаблонов

В OpenNebula ВМ создаются на основе шаблонов с помощью команды:
$ onetemplate instantiate <ID_или_имя_шаблона>
Эта команда развёртывает один экземпляр ВМ. Для создания нескольких экземпляров используется опция --multiple:
$ onetemplate instantiate my-template --multiple 3
VM IDs: 10, 11, 12

Примечание

Новые ВМ сначала находятся в состоянии pending (pend) до тех пор, пока планировщик не подберёт подходящий узел для размещения.
Пользователи могут частично изменять параметры шаблона при создании ВМ, если соответствующие атрибуты не ограничены в конфигурации OpenNebula.
Администратор может запретить изменение критических параметров, указав их в файле /etc/one/oned.conf, например:
VM_RESTRICTED_ATTR = "CPU"
VM_RESTRICTED_ATTR = "VPU"
VM_RESTRICTED_ATTR = "NIC"
Пример шаблона ВМ:
CPU = "1"
VCPU = "1"
MEMORY = "512"

DISK = [
IMAGE = "BaseOS" ]

NIC = [
NETWORK_ID = "0" ]
При указанных ограничениях пользователь может:
  • изменить объём оперативной памяти (MEMORY);
  • добавить новые диски.
Пользователь не может:
  • изменить или удалить параметры CPU и VCPU;
  • изменить или удалить существующие сетевые интерфейсы (NIC).
Пример корректного вызова:
$ onetemplate instantiate 0  \
  --memory 1G \
  --disk "SL"

Примечание

При переопределении дисков с помощью команды onetemplate instantiate все исходные диски шаблона заменяются. Чтобы сохранить оригинальный диск и добавить новый, необходимо указать все диски явно:
$ onetemplate instantiate 0  \
  --memory 1G \
  --disk "BaseOS, SL"
Планировщик OpenNebula автоматически развёртывает ВМ на одном из доступных узлов, если они соответствуют заданным требованиям.
Администратор может принудительно запустить развёртывание ВМ на конкретном узле с помощью команды:
$ onevm deploy <ID_ВМ> <ID_узла>
Задать владельца и группу ВМ можно при её создании (требуются права администратора):
$ onetemplate instantiate <Шаблон> \
  --as_uid <ID_пользователя> \
  --as_gid <ID_группы>