VMmanager

Подключение ISO-образа

Вы можете подключить ISO-образ к виртуальной машине (ВМ). Например, для установки собственной операционной системы (ОС). ISO-образ можно загрузить из репозитория, публичного URL или локального компьютера.

При установке ОС из ISO-образа для ВМ будет недоступно:

  • изменение пароля;
  • обезличивание при создании пользовательских образов;
  • запуск скриптов.

Чтобы резервная копия для такой ВМ создавалась корректно, перейдите в Виртуальные машины → выберите ВМ → Меню  Параметры VM Тонкие настройки Ресурсы и ограничения → параметр Раздел для увеличения и укажите раздел, на котором находится корневая файловая система.

Управление ISO-образами

Чтобы подключить ISO-образ:

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

    Чтобы посмотреть процесс загрузки образа, нажмите на статус ВМ. Индикатор загрузки откроется в выдвижной панели. В этой панели вы можете Отменить загрузку.
    Если ISO-образ загружается с локального компьютера, при обновлении или закрытии страницы в браузере загрузка прервётся.

Чтобы отключить ISO-образ:

  1. Перейдите в Виртуальные машины → выберите ВМ → меню Отключить ISO-образ.
  2. Включите опцию ОС переустановлена, если вы установили ОС из этого ISO-образа.
  3. Нажмите кнопку Отключить. VMmanager отключит ISO-образ и удалит его. Если ОС из образа была установлена корректно, VMmanager перезагрузит ВМ с новой операционной системой.

Менеджер загрузок

Вы можете отслеживать и управлять процессом загрузки ISO-образов через менеджер загрузок. Для этого нажмите в правом меню значок .

Возможные действия:

  • Отменить — отменить загрузку образа;
  • Удалить — удалить запись о загрузке из списка;
  • Очистить завершённые — удалить все записи о завершённых загрузках из списка.

Логика работы

Ограничения доступа

Загрузка ISO-образа с локального компьютера может завершиться с ошибкой, если в платформе используются ограничения доступа по IP-адресам пользователей. Чтобы пользователи могли загружать ISO-образы с локального компьютера, разрешите в настройках групп пользователей доступ к платформе с IP-адреса 127.0.0.1. Подробнее см. в статье Ограничение доступа пользователей к платформе.

Хранение ISO-образов

Если для ISO-образов:

  • не используется NAS-хранилище — файлы ISO-образов загружаются в директорию для хранения образов и резервных копий в хранилище кластера. По умолчанию это директория /image. После отключения ISO-образа его файл будет удалён;
  • используется NAS-хранилище — файлы ISO-образов загружаются в директорию /iso_images хранилища кластера. После отключения ISO-образа его файл остаётся в хранилище.

В процессе загрузки у файла будет расширение .iso.part. При успешном окончании загрузки расширение меняется на .iso. При возникновении критической ошибки во время загрузки частично загруженный файл образа будет удалён.

Подключение и отключение ISO-образов

Для подключения ISO-образа VMmanager использует технологию iPXE. Эта технология позволяет не загружать образ полностью, а скачивать только нужные файлы в процессе установки. При первом подключении ISO-образа к ВМ в конфигурационный файл ВМ добавляется виртуальный CD-привод. ВМ будет перезагружена для обновления конфигурации. При следующих подключениях и отключениях ISO-образов ВМ не будет перезагружена. Подключение и отключение образов будет эмулировать вставку и извлечение носителя из виртуального CD-привода.

Если при подключении образа включить опцию Загрузить виртуальную машину с ISO, то ВМ будет перезагружена с виртуального CD-привода. Если опция отключена, то ISO-образ подключится в качестве дополнительного диска ВМ.

Если к ВМ подключён ISO-образ, все операции с дисками (миграция, создание резервных копий) будут заблокированы.

При отключении ISO-образа виртуальный CD-привод останется в конфигурации ВМ, но не будет использоваться в качестве источника загрузки.

Монтирование ISO-образа

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

Чтобы примонтировать ISO-образ вручную:

  1. Подключитесь к ВМ по SSH.
  2. Определите путь к устройству виртуального CD-привода: 

    lshw | grep cdrom
  3. Выполните команду: 

    mount <path_to_cdrom> /mnt
    Пояснения к команде

Теги ISO-образов

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

  • linux — для ОС семейства Linux;
  • windows — для ОС Windows;
  • freebsd — для ОС FreeBSD;
  • other_os — для других ОС.

Например, администратор выбрал тип ОС Linux и указал теги ubuntu, ubuntu22, my_os. Cформируется список вида "linux, ubuntu, ubuntu 22, my_os".

Платформа проводит валидацию списка тегов и удаляет из него конфликтные значения. Например, администратор выбрал тип ОС Windows и указал теги linux, windows11, debian. Cформируется список вида "windows, linux, windows11, debian". Тег linux относится к ОС и не соответствует выбранному типу, поэтому он будет удалён. Список будет иметь вид "windows, windows11, debian".

Если ISO-образ содержит ОС семейства Linux, в тегах необходимо указать одно из следующих значений:

  • для ОС на основе Debian — debian, ubuntu, astra;
  • для ОС на основе Red Hat — redhat, centos, fedora, alma, rocky, oracle.

На основе списка тегов для ВМ будет выбрана модель добавления IPv4-адреса и тип ОС. Подробнее о модели добавления адресов см. в статье Управление IP-адресами ВМ

Если тип ОС и теги указаны корректно, платформа сможет выполнять часть операций с ВМ без установки ПО QEMU Guest Agent. Операции, для которых необходимо наличие QEMU Guest Agent: 

  • создание обезличенных образов с ОС Windows;
  • запуск скриптов на ВМ с ОС Windows;
  • изменение пароля ВМ;
  • добавление IPv4-адреса.

Возможные проблемы с выделением IP-адресов

Если ВМ была создана без ОС, а затем при установке ОС из ISO-образа был пропущен шаг настройки сети, то платформа не сможет взаимодействовать с такой ВМ. Чтобы решить проблему, синхронизируйте настройки сети на ВМ и в платформе:

  1. Задайте настройки сети на ВМ либо удалите IP-адрес ВМ в интерфейсе платформы.
  2. Подождите 15 минут. Платформа опросит ВМ и получит актуальную информацию о её настройках.

Настройка максимального размера ISO-образа

Администратор платформы может подключать к ВМ ISO-образы любого размера. По умолчанию пользователи и продвинутые пользователи могут подключать ISO-образы с размером не более 8 Гб. Чтобы изменить это значение, в правом меню нажмите значок → вкладка Обзор системы → значок рядом с параметром Макс.размер загружаемых ISO → введите требуемый размер в Гб.

Вы также можете изменить максимальный размер ISO-образов через API:

  1. Получите токен авторизации:
    curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://domain.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
    Пояснения к команде

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

    Пример ответа в JSON
    {
      "confirmed": true,
      "expires_at": null,
      "id": "6",
      "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a"
    }

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

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

    curl -k -H "x-xsrf-token: <token>" -X POST "https://domain.com/vm/v3/settings/max_user_iso_size" -d '{"value":"<max_size>"}'
    Пояснения к команде
Может быть полезно

Связанные статьи: