Создание виртуальных машин#
Ограничения
Наличие вычислительных серверов с разными типами ЦП может привести к проблемам при динамической миграции. Чтобы избежать этого, можно задать модель ЦП для всех новых ВМ, как описано в разделе Настройка режима эмуляции ЦП для вычислительного кластера. Либо можно создать размещение для каждой группы вычислительных серверов с одной моделью ЦП, следуя инструкциям в разделе Управление размещениями для вычислительных узлов.
Предварительные требования
Подготовлен источник гостевой ОС, как описано в разделе Подготовка загрузочного носителя для виртуальных машин.
Созданы одна или несколько вычислительных сетей автоматически в процессе развертывания вычислительного кластера или вручную с использованием инструкций из разделов Создание физических вычислительных сетей и Создание виртуальных вычислительных сетей.
[Необязательно] Настроены пользовательские группы безопасности, как указано в разделе Управление группами безопасности.
[Необязательно] Создан пользовательский тип ВМ, как описано в разделе Создание пользовательских типов виртуальных машин. Также можно использовать предварительно настроенные типы.
[Необязательно] В вычислительный кластер добавлен SSH-ключ, как показано в разделе Добавление ключей SSH для виртуальных машин. SSH-ключ можно указать только при создании ВМ из шаблона или загрузочного тома.
[Необязательно] Для томов создана пользовательская политика хранилища, как описано в разделе Управление политиками хранилища.
Создание виртуальной машины
На экране Виртуальные машины нажмите Создать виртуальную машину. Откроется окно, где нужно будет указать параметры ВМ.
Укажите имя новой ВМ.
Выберите загрузочный носитель ВМ.
Если у вас есть ISO-образ или шаблон.
Если у вас есть вычислительный загрузочный том.
Выберите Том В разделе Развернуть из, а затем нажмите Указать В разделе Тома.
В окне Тома нажмите Присоединить.
В окне Присоединить том найдите и выберите том и нажмите Присоединить.

Если вы присоединяете более одного тома, то первый присоединенный том становится загрузочным по умолчанию. Чтобы выбрать другой том в качестве загрузочного, сделайте его первым в списке, нажимая кнопку со стрелкой вверх.
Примечание
Если выбрать образ или том с назначенным размещением, то созданная ВМ унаследует это размещение.
После выбора загрузочного носителя необходимые для загрузки тома будут автоматически добавлены в раздел Тома.
Настройте диски ВМ.
В окне Тома убедитесь, что загрузочный том по умолчанию достаточно большой для размещения гостевой ОС. В противном случае нажмите значок многоточия и выберите Изменить. Измените размер тома и нажмите Сохранить.
[Необязательно] Добавьте дополнительные диски в ВМ путем создания или присоединения томов. Для этого щелкните по значку карандаша В разделе Тома, а затем нажмите Добавить или Присоединить в окне Тома.
Выберите тома, которые будут удалены при удалении ВМ. Для этого щелкните по значку карандаша В разделе Тома, нажмите значок многоточия напротив нужного тома и выберите Изменить. Включите параметр Удалить по завершении и нажмите Сохранить.
Завершив настройку дисков ВМ, нажмите Готово.
Выберите объем ОЗУ и ресурсов ЦП, которые будут выделены ВМ, В разделе Тип ВМ. В окне Тип ВМ выберите тип и нажмите Готово.
Важно
При выборе типа для ВМ убедитесь, что он удовлетворяет требованиям к оборудованию гостевой ОС.
Примечание
Если выбрать тип ВМ с назначенным размещением, то созданная ВМ унаследует это размещение.
Добавьте сетевые интерфейсы для ВМ В разделе Сети.
В окне Сетевые интерфейсы нажмите Добавить, чтобы присоединить сетевой интерфейс.
В окне Добавить сетевой интерфейс выберите вычислительную сеть, к которой следует подключиться, и укажите MAC-адрес, адреса IPv4 и/или IPv6 и группы безопасности. По умолчанию MAC-адрес и основной IP-адрес назначаются автоматически. Чтобы указать их вручную, снимите флажки Назначить автоматически и введите нужные адреса. При необходимости можно назначить сетевому интерфейсу дополнительные IP-адреса в разделе Вторичные IP-адреса. Учтите, что вторичный адрес IPv6 недоступен для подсети IPv6, которая работает в режиме SLAAC или DHCPv6 без отслеживания состояния.
Примечание
Вторичные IP-адреса, в отличие от основного, не будут автоматически назначены сетевому интерфейсу внутри гостевой ОС виртуальной машины. Их следует назначать вручную.
Если выбрана виртуальная сеть со включенным управлением IP-адресами.
В этом случае по умолчанию будет включена защита от спуфинга и выбрана группа безопасности default. Эта группа безопасности разрешает весь входящий и исходящий трафик на всех портах ВМ. При необходимости можно выбрать другую группу безопасности или несколько групп.
Чтобы отключить защиту от спуфинга, снимите все флажки и установите переключатель в положение "выкл". С отключенной защитой от спуфинга нельзя настроить группы безопасности.
Если выбрана виртуальная сеть с отключенным управлением IP-адресами.
В этом случае защита от спуфинга отключена по умолчанию и ее нельзя включить. Для такой сети нельзя настроить группы безопасности.
Указав параметры сетевого интерфейса, нажмите Добавить. Интерфейс появится в списке Сетевые интерфейсы.
[Необязательно] При необходимости измените IP-адреса и группы безопасности добавленных сетевых интерфейсов. Для этого щелкните по значку многоточия, выберите Изменить и задайте нужные параметры.
Завершив настройку сетевых интерфейсов ВМ, нажмите Готово.
Примечание
Включите EUI-64 в сетевых настройках ВМ для корректного назначения IP-адреса.
[Необязательно] Если вы выбрали загрузку из шаблона или тома, на котором установлены cloud-init и OpenSSH:
Важно
Поскольку у облачных образов нет пароля по умолчанию, доступ к ВМ, развернутым из этих образов, можно получить только с помощью метода аутентификации с ключом SSH.
Добавьте SSH-ключ в ВМ, чтобы она была доступна через SSH без пароля.
В окне Выберите SSH-ключ выберите ключ и нажмите Готово.
Добавьте пользовательские данные для настройки ВМ после запуска, например, для изменения пароля пользователя.
Введите скрипт cloud-config или скрипт оболочки в поле Скрипт настройки или укажите файл на локальном сервере, из которого следует загрузить скрипт.
Чтобы внедрить скрипт в виртуальную машину Windows, см. документацию по Cloudbase-Init. Например, можно задать новый пароль для учетной записи с помощью следующего скрипта:
#ps1 net user <username> <new_password>
[Необязательно] Задайте режим эмуляции ЦП виртуальной машины.
Режим эмуляции ЦП определяет, какая модель будет назначена и какие дополнительные функции будут доступны виртуальному ЦП. По умолчанию используется режим, заданный на уровне вычислительного кластера. Чтобы использовать другой режим, выполните следующее:
Нажмите на значок карандаша В разделе Режим эмуляции ЦП.
В окне Режим эмуляции ЦП установите переключатель Использовать персональные настройки в положение "вкл" и выберите нужный режим:
Host-model (по умолчанию) — модель и набор дополнительных функций виртуального ЦП подбираются таким образом, чтобы они наиболее точно соответствовали модели и дополнительным функциям ЦП вычислительного сервера, на котором размещена виртуальная машина (полное соответствие не гарантируется). Этот режим обеспечивает меньший уровень производительности и безопасности, чем режим host-passthrough, но предоставляет большую степень работоспособности горячих миграций виртуальных машин в случае, когда на вычислительных серверах используются незначительно отличающиеся модели ЦП.
Host-passthrough — виртуальной машине предоставляется виртуальный ЦП такой же модели и с такими же дополнительными функциями, как у ЦП вычислительного сервера, на котором размещена виртуальная машина. Этот режим обеспечивает наибольший уровень производительности и безопасности, но не гарантирует работоспособность горячих миграций виртуальных машин при использовании разных моделей ЦП на вычислительных серверах.
Custom — виртуальной машине предоставляется виртуальный ЦП указанной модели с указанными дополнительными функциями. Модель ЦП выбирается из списка моделей ЦП, совместимых со всеми вычислительными серверами (аналогично для дополнительных функций). Этот режим обеспечивает наименьший уровень производительности и безопасности, но гарантирует работоспособность горячих миграций виртуальных машин, даже если на вычислительных серверах используются разные модели ЦП.
Модели ЦП в списке отсортированы по новизне в порядке убывания. По умолчанию все дополнительные функции выбранной модели ЦП отключены.
Некоторые модели ЦП представлены в двух вариантах (например, Skylake-Server и Skylake-Server-IBRS). Наличие строки "IBRS" в названии модели ЦП означает, что включена защита от аппаратных уязвимостей Spectre и Meltdown. Хотя наличие этой защиты снижает производительность ЦП, в целях безопасности рекомендуется использовать модели ЦП с включенной защитой. Для доверенных приложений возможно использование моделей ЦП с отключенной защитой.

Нажмите Применить.
[Необязательно] В разделе Расширенные параметры выполните следующее:
Разрешите горячее подключение ресурсов ЦП и ОЗУ для ВМ, чтобы можно было изменить тип работающей ВМ. Горячее подключение также можно разрешить после создания ВМ.
Запретите автоматические перемещения ВМ, связанные с работой DRS, сняв установленный по умолчанию флажок Разрешить автоматические миграции для этой виртуальной машины. Снять флажок также можно после создания ВМ.
Настроив все параметры ВМ, нажмите Развернуть, чтобы создать и загрузить ВМ.
Если вы развертываете ВМ из 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]
[--allow-auto-migration <allow_auto_migration>]
[--cpu-emulation-mode <[key=value,…]>]
--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Разрешает изменение размера виртуальной машины в онлайн-режиме.
--allow-auto-migration <allow_auto_migration>Разрешает или запрещает автоматические перемещения ВМ, связанные с работой DRS (
true— разрешить илиfalse— запретить).--cpu-emulation-mode <[key=value,…]>Режим эмуляции ЦП виртуальных машин. Определяет, какая модель будет назначена и какие дополнительные функции будут доступны виртуальному ЦП.
По умолчанию для создаваемых ВМ используется режим эмуляции ЦП, указанный на уровне вычислительного кластера.
custom_cpu_settings: переопределить режим эмуляции ЦП на уровне ВМ (yesилиno).cpu_mode: режим эмуляции ЦП.host-model— модель и набор дополнительных функций виртуального ЦП подбираются таким образом, чтобы они наиболее точно соответствовали модели и дополнительным функциям ЦП вычислительного сервера, на котором размещена виртуальная машина (полное соответствие не гарантируется). Этот режим обеспечивает меньший уровень производительности и безопасности, чем режим host-passthrough, но предоставляет большую степень работоспособности горячих миграций виртуальных машин в случае, когда на вычислительных серверах используются незначительно отличающиеся модели ЦП.host-passthrough— виртуальной машине предоставляется виртуальный ЦП такой же модели и с такими же дополнительными функциями, как у ЦП вычислительного сервера, на котором размещена виртуальная машина. Этот режим обеспечивает наибольший уровень производительности и безопасности, но не гарантирует работоспособность горячих миграций виртуальных машин при использовании разных моделей ЦП на вычислительных серверах.custom— виртуальной машине предоставляется виртуальный ЦП указанной модели с указанными дополнительными функциями. Модель ЦП выбирается из списка моделей ЦП, совместимых со всеми вычислительными серверами (аналогично для дополнительных функций). Этот режим обеспечивает наименьший уровень производительности и безопасности, но гарантирует работоспособность горячих миграций виртуальных машин, даже если на вычислительных серверах используются разные модели ЦП.
cpu_model: модель ЦП. Параметр можно указать для режима эмуляции ЦПcustom. Список моделей ЦП, совместимых со всеми вычислительными серверами, можно получить с помощью командыvinfra service compute baseline-cpu. По умолчанию используется наиболее новая модель ЦП, совместимая со всеми вычислительными серверами.cpu_features: заключенный в одинарные кавычки список дополнительных функций ЦП через пробел. Параметр можно указать для режима эмуляции ЦПcustom, чтобы включить дополнительные функции для выбранной модели ЦП (по умолчанию все дополнительные функции отключены). Список дополнительных функций каждой модели ЦП можно получить с помощью командыvinfra service compute additional-cpu-features.
--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 |
+----------------------+--------------------------------------+
| allow_auto_migration | True |
| config_drive | |
| cpu_settings | custom_cpu_settings: false |
| created | 2024-06-07T08:10:06Z |
| description | |
| fault | |
| flavor | disk: 0 |
| | ephemeral: 0 |
| | extra_specs: {} |
| | original_name: tiny |
| | ram: 512 |
| | swap: 0 |
| | vcpus: 1 |
| ha_enabled | True |
| host | |
| host_status | |
| id | cb0c9268-e10c-46c4-a359-aaa1110f647e |
| key_name | |
| metadata | {} |
| name | myvm |
| networks | [] |
| placements | [] |
| power_state | NOSTATE |
| project_id | 7015a1fff4074eb38e2dd1fec9a0ebde |
| status | BUILD |
| task_state | scheduling |
| updated | 2024-06-07T08:10:07Z |
| user_data | |
| vm_state | building |
| volumes | [] |
+----------------------+--------------------------------------+
Новая виртуальная машина появится в выводе команды vinfra service compute server list:
# vinfra service compute server list
+--------------------------------------+------+-------------------+------------------------+
| id | name | status | host |
+--------------------------------------+------+-------------------+------------------------+
| cb0c9268-e10c-46c4-a359-aaa1110f647e | myvm | ACTIVE | node002.vstoragedomain |
+--------------------------------------+------+-------------------+------------------------+



