Создание виртуальных машин
Ограничения
-
Виртуальные машины по умолчанию создаются с той же моделью ЦП, что и у хоста. Наличие вычислительных серверов с разными типами ЦП может привести к проблемам при динамической миграции. Чтобы избежать этого, можно вручную задать модель ЦП для всех новых ВМ, как описано в разделе Настройка модели ЦП виртуальных машин. Либо можно создать размещение для каждой группы вычислительных серверов с одной моделью ЦП, следуя инструкциям в разделе Управление размещениями для вычислительных узлов.
Предварительные требования
- Подготовлен источник гостевой ОС, как описано в разделе Подготовка загрузочного носителя для виртуальных машин.
- Созданы одна или несколько вычислительных сетей автоматически в процессе развертывания вычислительного кластера или вручную с использованием инструкций из Создание физических вычислительных сетей и Создание виртуальных вычислительных сетей.
-
Настроены пользовательские группы безопасности, как указано в разделе Управление группами безопасности.
-
Создан пользовательский тип ВМ, как описано в разделе Создание пользовательских типов виртуальных машин. Также можно использовать предварительно настроенные типы.
-
В вычислительный кластер добавлен SSH-ключ, как показано в разделе Добавление ключей SSH для виртуальных машин. SSH-ключ можно указать только при создании ВМ из шаблона или загрузочного тома.
-
Для томов создана пользовательская политика хранилища, как описано в разделе Управление политиками хранения.
Чтобы создать виртуальную машину
Панель администратора
-
На экране Виртуальные машины нажмите Создать виртуальную машину. Откроется окно, где нужно будет указать параметры ВМ.
- Укажите имя новой ВМ.
-
Выберите загрузочный носитель ВМ.
-
Если у вас есть вычислительный загрузочный том
- Выберите Том в разделе Развернуть из, а затем нажмите Указать в разделе Тома.
- В окне Тома нажмите Присоединить.
-
В окне Присоединить том найдите и выберите том и нажмите Присоединить.
Если вы присоединяете более одного тома, то первый присоединенный том становится загрузочным по умолчанию. Чтобы выбрать другой том в качестве загрузочного, сделайте его первым в списке, нажимая кнопку со стрелкой вверх.
Если выбрать образ или том с назначенным размещением, то созданная ВМ унаследует это размещение.
После выбора загрузочного носителя необходимые для загрузки тома будут автоматически добавлены в раздел Тома.
-
Настройте диски ВМ.
- В окне Тома убедитесь, что загрузочный том по умолчанию достаточно большой для размещения гостевой ОС. В противном случае нажмите значок с многоточием и выберите Изменить. Измените размер тома и нажмите Сохранить.
-
Добавьте дополнительные диски в ВМ путем создания или присоединения томов. Для этого щелкните по значку карандаша в разделе Тома, а затем нажмите Добавить или Присоединить в окне Тома.
- Выберите тома, которые будут удалены при удалении ВМ. Для этого щелкните по значку карандаша в разделе Тома, нажмите значок с многоточием напротив нужного тома и выберите Изменить. Включите параметр Удалить по завершении и нажмите Сохранить.
- Завершив настройку дисков ВМ, нажмите Готово.
-
Выберите объем ОЗУ и ресурсов ЦП, которые будут выделены ВМ, в разделе Тип ВМ. В окне Тип ВМ выберите тип и нажмите Готово.
При выборе типа для ВМ убедитесь, что он удовлетворяет требованиям к оборудованию гостевой ОС.
Если выбрать тип ВМ с назначенным размещением, то созданная ВМ унаследует это размещение.
-
Добавьте сетевые интерфейсы для ВМ в разделе Сети.
- В окне Сетевые интерфейсы нажмите Добавить, чтобы присоединить сетевой интерфейс.
-
В окне Добавить сетевой интерфейс выберите вычислительную сеть, к которой следует подключиться, и укажите MAC-адрес, адреса IPv4 и/или IPv6 и группы безопасности. По умолчанию MAC-адрес и основной IP-адрес назначаются автоматически. Чтобы указать их вручную, снимите флажки Назначить автоматически и введите нужные адреса. При необходимости можно назначить сетевому интерфейсу дополнительные IP-адреса в разделе Вторичные IP-адреса. Учтите, что вторичный адрес IPv6 недоступен для подсети IPv6, которая работает в режиме SLAAC или DHCPv6 без отслеживания состояния.
Вторичные IP-адреса, в отличие от основного, не будут автоматически назначены сетевому интерфейсу внутри гостевой ОС виртуальной машины. Их следует назначать вручную.
-
Если выбрана виртуальная сеть со включенным управлением IP-адресами
В этом случае по умолчанию будет включена защита от спуфинга и выбрана группа безопасности default. Эта группа безопасности разрешает весь входящий и исходящий трафик на всех портах ВМ. При необходимости можно выбрать другую группу безопасности или несколько групп.
Чтобы отключить защиту от спуфинга, снимите все флажки и установите переключатель в положение «выкл». С отключенной защитой от спуфинга нельзя настроить группы безопасности.
-
Если выбрана виртуальная сеть с отключенным управлением IP-адресами
В этом случае защита от спуфинга отключена по умолчанию и ее нельзя включить. Для такой сети нельзя настроить группы безопасности.
Указав параметры сетевого интерфейса, нажмите Добавить. Интерфейс появится в списке Сетевые интерфейсы.
-
-
При необходимости измените IP-адреса и группы безопасности добавленных сетевых интерфейсов. Для этого щелкните по значку с многоточием, выберите Изменить и задайте нужные параметры.
- Завершив настройку сетевых интерфейсов ВМ, нажмите Готово.
Включите EUI-64 в сетевых настройках ВМ для корректного назначения IP-адреса.
-
Если вы выбрали загрузку из шаблона или тома, на котором установлены cloud-init и OpenSSH:
Поскольку у облачных образов нет пароля по умолчанию, доступ к ВМ, развернутым из этих образов, можно получить только с помощью метода аутентификации с ключом SSH.
-
Добавьте пользовательские данные для настройки ВМ после запуска, например, для изменения пароля пользователя.
Введите скрипт cloud-config или скрипт оболочки в поле Скрипт настройки или укажите файл на локальном сервере, из которого следует загрузить скрипт.
Чтобы внедрить скрипт в виртуальную машину Windows, см. документацию по Cloudbase-Init. Например, можно задать новый пароль для учетной записи с помощью следующего скрипта:
#ps1 net user <username> <new_password>
-
Разрешите горячее подключение ресурсов ЦП и ОЗУ для ВМ в разделе Расширенные параметры, чтобы можно было изменить тип работающей ВМ. Горячее подключение также можно разрешить после создания ВМ.
- Настроив все параметры ВМ, нажмите Развернуть, чтобы создать и загрузить ВМ.
Если вы развертываете ВМ из ISO-образа, потребуется установить гостевую ОС внутри ВМ с помощью встроенной консоли VNC. Виртуальные машины, созданные из шаблона или загрузочного тома, уже имеют предустановленную гостевую ОС.
Интерфейс командной строки
Используйте следующую команду:
vinfra service compute server create [--description <description>]
[--metadata <metadata>]
[--user-data <user-data>]
[--key-name <key-name>]
[--config-drive] [--count <count>]
[--ha-enabled {true,false}]
[--placements <placements>]
[--allow-live-resize]
--network id|<id=id[,key=value,…]>
--volume <source=source[,key=value,…]>
--flavor <flavor> <server-name>
--description <description>- Описание виртуальной машины
--metadata <metadata>- Метаданные виртуальной машины
--user-data <user-data>- Файл пользовательских данных
--key-name <key-name>- Пара ключей для внедрения
--config-drive- Использовать временный (эфемерный) диск
--count <count>- Если указано число и оно больше 1, то аргумент
имярассматривается как шаблон присвоения имен. --ha-enabled {true,false}- Включение или отключение высокой доступности для виртуальной машины.
--placements <placements>- Имена или идентификаторы размещений, в которые следует добавить виртуальную машину.
--allow-live-resize- Разрешает изменение размера виртуальной машины в онлайн-режиме.
--network id|<id=id[,key=value,…]>-
Создает виртуальную машину с заданной сетью. Укажите этот параметр несколько раз, чтобы создать несколько сетей.
id: присоединить сетевой интерфейс к указанной (по идентификатору или имени) сети- разделенные запятыми пары
key=valueс ключами (необязательно):mac: MAC-адрес для сетевого интерфейсаfixed-ip: фиксированный IP-адрес илиNoneдля автоматического выделения IP-адреса. Этот параметр можно использовать несколько раз.spoofing-protection-enable:: включение защиты от спуфинга пакетов на сетевом интерфейсеspoofing-protection-disable:: отключение защиты от спуфинга пакетов на сетевом интерфейсеsecurity-group: имя или идентификатор группы безопасности. Этот параметр можно использовать несколько раз.no-security-group: не использовать группу безопасности
--volume <source=source[,key=value,…]>-
Создает виртуальную машину с заданным томом. Укажите этот параметр несколько раз, чтобы создать несколько томов.
source: тип источника (volumeдля тома,imageдля образа,snapshotдля снимка илиblank— пустой)- разделенные запятыми пары
key=valueс ключами (необязательно):id: идентификатор или имя ресурса для указанного типа источника (требуется для источников типаvolume— том,image— образ иsnapshot— снимок)size: размер блочного устройства в гигабайтах (требуется для источников типаimage— образ иblank— пустой)boot-index: загрузочный индекс блочного устройства (требуется при наличии нескольких томов с типом источникаvolume)bus: тип контроллера блочного устройства (scsi)type: тип блочного устройства (diskилиcdrom)rm: удалить блочное устройство по завершении работы виртуальной машины (yesилиno)storage-policy: политика хранилища блочного устройства
--flavor <flavor>- Идентификатор или имя типа ВМ
<server-name>- Имя для виртуальной машины
Например, чтобы создать виртуальную машину myvm, основанную на образа cirros и типе ВМ tiny, и подключить ее к виртуальной сети private с фиксированным IP-адресом192.168.128.100, выполните:
# vinfra service compute server create myvm --network id=private,fixed-ip=192.168.128.100 \
--volume source=image,id=cirros,size=1 --flavor tiny
+--------------+--------------------------------------+
| Field | Value |
+--------------+--------------------------------------+
| config_drive | |
| created | 2019-05-29T11:24:04Z |
| description | |
| flavor | disk: 0 |
| | ephemeral: 0 |
| | extra_specs: {} |
| | original_name: tiny |
| | ram: 512 |
| | swap: 0 |
| | vcpus: 1 |
| ha_enabled | True |
| host | |
| id | 8cd29296-8bee-4efb-828d-0e522d816c6e |
| key_name | |
| metadata | {} |
| name | myvm |
| networks | [] |
| power_state | NOSTATE |
| project_id | b4267de6fd0c442da99542cd20f5932c |
| status | BUILD |
| task_state | scheduling |
| updated | 2019-05-29T11:24:21Z |
| user_data | |
| vm_state | building |
| volumes | [] |
+--------------+--------------------------------------+
Новая виртуальная машина появится в выводе команды vinfra service compute server list:
# vinfra service compute server list +--------------------------------------+------+--------+------------------------+ | id | name | status | host | +--------------------------------------+------+--------+------------------------+ | 8cd29296-8bee-4efb-828d-0e522d816c6e | myvm | BUILD | node002.vstoragedomain | +--------------------------------------+------+--------+------------------------+