Виртуальная машина (ВМ) — программная система, эмулирующая работу физического сервера. ВМ создаются и функционируют на узлах кластера VMmanager. Каждая ВМ запускается в изолированной среде и не влияет на работу других ВМ на узле.

Платформа поддерживает два способа создания ВМ:

При создании ВМ учитывайте свободные ресурсы на узлах кластера. ВМ будет создана, даже если это задействует все ресурсы узла.

Создание на основе рекомендуемой конфигурации


Чтобы создать ВМ:

  1. Перейдите в Виртуальные машиныСоздать VM → вкладка Рекомендуемые конфигурации.
  2. Выберите Кластер, в котором будет создана ВМ.
  3. Выберите Операционную систему для установки на ВМ. Чтобы создать виртуальную машину без операционной системы, нажмите Без ОС.
  4. Чтобы создать ВМ с подключённым ISO-образом:
    1. Нажмите кнопку Выбрать ISO-образ.
    2. Выберите метод загрузки образа:
      • Из репозитория — выберите ISO-образ из подключённого репозитория; 
      • Локальный файл — выберите файл образа в формате iso на локальном компьютере;
      • URL образа — введите URL, по которому доступен образ. Образ может быть доступен по протоколу HTTP(S) или FTP.
    3. Для загрузки из локального файла или URL:
      1. Выберите Тип ОС:
        • Linux;
        • Windows;
        • FreeBSD;
        • другая ОС.
      2. Укажите Теги образа, если на этой ВМ требуется запуск скриптов. Скрипт будет запускаться на ВМ, если хотя бы один из его тегов совпадает с тегом ОС.
    4. Чтобы не загружать ВМ из образа после подключения, отключите опцию Загрузить виртуальную машину с ISO.
    5. Нажмите кнопку Загрузить образ. ВМ будет создана из шаблона NoOS с подключённым ISO-образом.

  5. Выберите Конфигурацию ВМ из списка. Чтобы создать собственную конфигурацию, нажмите Своя конфигурация и укажите её параметры. Описание параметров см. в статье Конфигурации виртуальных машин.

  6. Выберите Приложения и скрипты, которые будут запущены на ВМ после установки операционной системы. Подробнее см. в статье Создание скрипта для ВМ.
    Если для выбранного скрипта создан шаблон письма, вы можете включить опцию Отправить письмо, которое привязано к скрипту, выбрать язык письма и указать получателя. Подробнее см. в статье Шаблоны писем в скриптах.
    Чтобы выбрать несколько скриптов:
    1. Нажмите Выбрать другой или несколько.
    2. Выберите нужные скрипты.
    3. Укажите параметры скриптов.
    4. Выберите последовательность запуска скриптов в колонке Приоритет запуска. Чтобы изменить приоритет, перетащите название скрипта на нужную позицию.
    5. Нажмите Выбрать .. скриптов.
  7. Выберите Узел кластера для размещения ВМ. Если выбрать вариант Автоматически , то платформа определит узел с учётом настроек распределения ВМ в кластере и фильтров распределения. Подробнее см. в статьях Выбор узла кластера для ВМ и Управление серверами кластера. Если конфигурация ВМ не соответствует фильтрам распределения для узлов кластера, создание ВМ завершится с ошибкой "Cannot find node with matching host filter program". В этом случае выберите узел для ВМ вручную.

    С вариантом Выбрать автоматически создание ВМ с несколькими сетевыми интерфейсами недоступно.

  8. Если узел кластера был выбран вручную, настройте Распределение дисков VM по хранилищам узла кластера. Чтобы изменить расположение диска, перетащите его в нужное хранилище.
  9. Задайте Настройки сети для каждого интерфейса ВМ. Чтобы изменить настройки основного интерфейса, нажмите . Для настройки дополнительного интерфейса выберите его параметры и нажмите Добавить интерфейс. Чтобы удалить интерфейс, нажмите .
    Чтобы настроить сетевой интерфейс:

    1. Выберите Тип сети:
    2. Если для интерфейса требуется задать определённый MAC-адрес, введите его. При пустом значении платформа сгенерирует MAC-адрес автоматически.
    3. Для основной и дополнительной сети:
      1. В поле Подключить к бриджу выберите бридж, к которому интерфейс надо подключить. Если в кластере один бридж, он будет выбран автоматически. 

        Бридж — это сетевой мост, используемый на узле кластера. Каждый бридж может использоваться только в одном виртуальном интерфейсе. Подробнее см. в статье Настройки сети на узле кластера.

      2. Выберите Тип сетевого устройства — модель виртуальной сетевой карты:
        • virtio — подходит для большинства ОС;
        • e1000 — для ВМ, установленной из ISO-образа;
        • e1000e;
        • rtl8139. 

      3. Чтобы не назначать IP-адрес интерфейсу основной или дополнительной сети, включите опцию Создать интерфейс без IP-адреса
        Для корректной работы с интерфейсом на ВМ без IP-адреса будет отключён антиспуфинг.
      4. Выберите, как Добавить IP-адрес или подсеть:
        • Из пула IPv4:
          1. Выберите Пул IP-адресов, из которого будут назначены адреса для ВМ.
          2. Выберите или введите нужное Количество IP-адресов. ВМ может быть выдано не более 10 IP-адресов;
        • Из пула IPv6:
          1. Выберите Пул IP-адресов, из которого будут назначены адреса для ВМ.
          2. Введите Префикс подсети от /32 до /125;
        • Вручную:
          1. Введите IPv4-адрес или IPv6-подсеть. Для IPv4-адреса используйте формат x.x.x.x, для IPv6-подсети — формат x:x:x:x:x:x:x:x/yy, где /yy — префикс подсети от /32 до /125;
        • Через DHCP — IP-адрес будет выдан внешним DHCP-сервером. Платформа не будет учитывать этот адрес, управлять им и отображать в интерфейсе. Посмотреть сетевые настройки ВМ вы сможете только в гостевой ОС или логах DHCP-сервера. DHCP-сервер должен быть корректно настроен и находиться в одном L2-сегменте сети с ВМ.
          Если адрес ВМ выделяется через DHCP, то для корректной работы с интерфейсом на ВМ будет отключён антиспуфинг.
    4. Для виртуальной сети:
      1. Выберите Тип сетевого устройства — модель виртуальной сетевой карты:
        • virtio — подходит для большинства ОС;
        • e1000 — для ВМ, установленной из ISO-образа;
        • e1000e;
        • rtl8139.
      2. Выберите Виртуальную сеть.
      3. Выберите Локальную сеть в виртуальной сети.
      4. Выберите или введите нужное Количество IP-адресов. ВМ может быть выдано не более 10 IP-адресов;
    5. Нажмите кнопку Создать (Сохранить).

  10. Задайте Параметры ВМ:
    1. Выберите Количество VM — от 1 до 5: 

      Одновременное создание более одной ВМ с подключённым ISO-образом недоступно.

      • при создании одной ВМ:
        1. Укажите Название VM или нажмите Генерировать, чтобы автоматически создать новое.
        2. Укажите Домен для ВМ. В домене должно быть не менее двух частей, разделённых точкой. Например, example.com.
      • при создании от двух до пяти ВМ их названия и доменные имена будут сформированы автоматически. Нажмите Г енерировать, чтобы автоматически создать новые наименования, или Изменить, чтобы ввести названия и домены вручную.
    2. Выберите Владельца ВМ.
    3. Чтобы платформа отправила владельцу ВМ письмо с настройками доступа, включите опцию Отправлять письмо с паролем.
    4. Введите Пароль для доступа к VM или нажмите Генерировать, чтобы автоматически создать новый пароль. Созданный пароль вы можете скопировать в буфер обмена.
    5. Укажите произвольное Примечание.
  11. Нажмите кнопку Создать VM.

Создание из образа


Перед созданием ВМ подготовьте нужный образ. Подробнее см. в статье Пользовательские образы виртуальных машин.

Если исходный образ был создан с ОС, установленной из ISO-образа, то задание сетевых настроек при создании ВМ будет недоступно.

Чтобы создать ВМ:

  1. Перейдите в Виртуальные машиныСоздать VM → вкладка Образы VM → выберите образ из списка.
  2. Чтобы создать связанный клон, включите опцию  создать как связанный клон. Подробнее см. в статье Связанные клоны.
  3. Если нужно изменить конфигурацию, укажите:
    1. vCPU — количество процессоров, шт.
    2. RAM — объём оперативной памяти, Мбайт.
    3. Storage — объём дискового пространства, Гбайт.
  4. Выберите Владельца виртуальной машины.
  5. Введите Пароль для доступа к VM или нажмите Генерировать, чтобы автоматически создать новый пароль. Созданный пароль вы можете скопировать в буфер обмена. 

    Если при создании образа с ОС Windows был использован собственный файл ответов, то поле Пароль для доступа к VM не будет отображено. ВМ будет создана с паролем из файла ответов. Подробнее см. в статье Файлы ответов для образов с ОС Windows.

  6. Чтобы платформа отправила владельцу ВМ письмо с настройками доступа, включите опцию Отправлять письмо с паролем.
  7. Выберите Узел кластера для размещения ВМ. С вариантом Выбрать а втоматически платформа определит узел с учётом настроек распределения ВМ в кластере и фильтров распределения. Подробнее см. в статьях Выбор узла кластера для ВМ и Управление серверами кластера. Если конфигурация ВМ не соответствует фильтрам распределения для узлов кластера, создание ВМ завершится с ошибкой "Cannot find node with matching host filter program". В этом случае выберите узел для ВМ вручную. 

    С вариантом Выбрать автоматически создание ВМ с несколькими сетевыми интерфейсами недоступно.

  8. Если узел кластера был выбран вручную, выберите Хранилища для дисков ВМ.

    Выбор хранилищ недоступен, если образ ВМ находится в NAS.

  9. Задайте Настройки сети для каждого интерфейса ВМ. Чтобы изменить настройки основного интерфейса, нажмите . Для настройки дополнительного интерфейса выберите его параметры и нажмите Добавить интерфейс. Чтобы удалить интерфейс, нажмите .
    Чтобы настроить сетевой интерфейс:
    1. Выберите Тип сети:
    2. Если для интерфейса требуется задать определённый MAC-адрес, введите его. При пустом значении платформа сгенерирует MAC-адрес автоматически.
    3. Для основной и дополнительной сети:
      1. В поле Подключить к бриджу выберите бридж, к которому интерфейс надо подключить. Если в кластере один бридж, он будет выбран автоматически. 

        Бридж — это сетевой мост, используемый на узле кластера. Каждый бридж может использоваться только в одном виртуальном интерфейсе. Подробнее см. в статье Настройки сети на узле кластера.

      2. Выберите Тип сетевого устройства — модель виртуальной сетевой карты:
        • virtio — подходит для большинства ОС;
        • e1000 — для ВМ, установленной из ISO-образа;
        • e1000e;
        • rtl8139. 

      3. Чтобы не назначать IP-адрес интерфейсу основной или дополнительной сети, включите опцию Создать интерфейс без IP-адреса
        Для корректной работы с интерфейсом на ВМ без IP-адреса будет отключён антиспуфинг.
      4. Выберите, как Добавить IP-адрес или подсеть:
        • Из пула IPv4:
          1. Выберите Пул IP-адресов, из которого будут назначены адреса для ВМ.
          2. Выберите или введите нужное Количество IP-адресов. ВМ может быть выдано не более 10 IP-адресов;
        • Из пула IPv6:
          1. Выберите Пул IP-адресов, из которого будут назначены адреса для ВМ.
          2. Введите Префикс подсети от /32 до /125;
        • Вручную:
          1. Введите IPv4-адрес или IPv6-подсеть. Для IPv4-адреса используйте формат x.x.x.x, для IPv6-подсети — формат x:x:x:x:x:x:x:x/yy, где /yy — префикс подсети от /32 до /125;
        • Через DHCP — IP-адрес будет выдан внешним DHCP-сервером. Платформа не будет учитывать этот адрес, управлять им и отображать в интерфейсе. Посмотреть сетевые настройки ВМ вы сможете только в гостевой ОС или логах DHCP-сервера. DHCP-сервер должен быть корректно настроен и находиться в одном L2-сегменте сети с ВМ.
          Если адрес ВМ выделяется через DHCP, то для корректной работы с интерфейсом на ВМ будет отключён антиспуфинг.
    4. Для виртуальной сети:
      1. Выберите Тип сетевого устройства — модель виртуальной сетевой карты:
        • virtio — подходит для большинства ОС;
        • e1000 — для ВМ, установленной из ISO-образа;
        • e1000e;
        • rtl8139.
      2. Выберите Виртуальную сеть.
      3. Выберите Локальную сеть в виртуальной сети.
      4. Выберите или введите нужное Количество IP-адресов. ВМ может быть выдано не более 10 IP-адресов;
    5. Нажмите кнопку Создать (Сохранить).

  10. Укажите Количество VM — от 1 до 5:

    • при создании одной ВМ:
      1. Укажите Название VM или нажмите Генерировать, чтобы автоматически создать новое.
      2. Укажите Домен для ВМ. В домене должно быть не менее двух частей, разделённых точкой. Например, example.com.
    • при создании от двух до пяти ВМ их названия и доменные имена будут сформированы автоматически. Нажмите Г енерировать, чтобы автоматически создать новые наименования, или Изменить, чтобы ввести названия и домены вручную.
  11. Нажмите Создать.

Доступы к виртуальной машине


Если при создании ВМ была включена опция Отправлять письмо с паролем , платформа отправит владельцу ВМ письмо с данными для подключения.

Имя пользователя для подключения к ВМ берётся из шаблона ОС. Значения по умолчанию:

  • для ОС семейства Unix — root;
  • для ОС семейства Windows — Admin или Administrator.

Параллельное создание ВМ


Платформа может создавать несколько ВМ одновременно. Существует ограничение на параллельное создание ВМ с одинаковой группой ОС на одном узле кластера. По умолчанию одновременно могут создаваться не более пяти таких ВМ. Чтобы изменить это значение:

  1. Если на сервере не установлена утилита curl, установите её: 
    dnf install curl || apt install curl
    BASH
  2. Получите токен авторизации:
    curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://example.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
    CODE

    example.com — доменное имя или IP-адрес сервера с платформой

    admin_email — email администратора платформы

    admin_pass — пароль администратора платформы

    В ответ придёт сообщение вида:

    Пример ответа в JSON

    {
      "confirmed": true,
      "expires_at": null,
      "id": "6",
      "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a"
    }
    CODE

    Сохраните полученное значение параметра token — токен авторизации.

  3. Выполните API-запрос: 

    curl -k -H "x-xsrf-token: <token>" -X POST "https://domain.com/vm/v3/setting/max_concurrent_host_create_tasks_per_node" -d '{"value":"<max_number>"}'
    BASH

    <token> — токен авторизации

    domain.com — доменное имя или IP-адрес сервера с платформой

    <max_number> — максимальное количество ВМ

    Увеличение этого параметра повысит нагрузку на платформу и узлы кластера.