По умолчанию в VMmanager доступны операционные системы (ОС) из репозиториев ISPsystem:

Чтобы устанавливать на ВМ ОС Astra Linux, добавьте репозиторий с URL https://ru.download.ispsystem.com/OSTemplate/vm6/astra/.

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

Вы можете подключить к VMmanager собственный репозиторий с шаблонами ОС. В статье описан порядок создания репозитория и его подключения в настройках платформы.

Подготовка репозитория


В качестве репозитория вы можете использовать сервер с доступом по HTTP (HTTPS) или FTP. Платформа обращается к репозиторию через URL, заданный в настройках. Например, http://www.example.com/repo/. В директории репозитория должны находиться:

  • файл metadata.json — файл описания репозитория;
  • архивы шаблонов ОС:
    • для Linux — в формате .xz;
    • для Windows и шаблонов для LXD-кластеров — в формате .tar.gz;
  • скрипты первоначальной настройки для ОС Windows.

Подробнее о шаблонах ОС Linux см. в статье Подготовка шаблона ОС Linux, о шаблонах ОС Windows — в статье Подготовка шаблона ОС Windows.

Чтобы подготовить шаблон ОС, не входящий ни в одну из поддерживаемых групп, используйте инструкции из статьи Подготовка шаблона ОС Linux для KVM-кластера.

Шаблоны ОС для LXD-кластеров не должны находиться в одном репозитории с шаблонами для KVM-кластеров.

Файл metadata.json содержит параметры для установки шаблонов ОС из репозитория:

  • type — тип репозитория. Укажите значение os;
  • os — массив объектов для описания ОС. Каждый объект содержит параметры:
    • name — название шаблона. По названию шаблона платформа определяет тип ОС и выбирает модель добавления IP-адреса: 

      Подстрока в названии шаблонаМодель добавления IP-адреса

      alma

      redhat-based

      centos

      fedora

      oracle

      redhat

      rocky

      astra

      debian-based

      debian

      ubuntu

      freebsd

      freebsd-based

      windows

      Windows

       Если ни одна подстрока из таблицы не была найдена, шаблону будет присвоена модель none. Подробнее о моделях см. в статье Управление IP-адресами ВМ;

    • tags — теги шаблона. Используются для совместимости со скриптами;
    • file_name — имя файла шаблона;
    • image_name — имя образа шаблона. Используется, чтобы сформировать имя файла для образа шаблона на узле кластера. Только для KVM-кластеров;
    • expand — имя раздела, расширяемого при создании ВМ. Например, если шаблон содержит разделы /dev/sda1 (2 ГБ) и /dev/sda2 (3 ГБ), а в параметре указан раздел /dev/sda2, то при установке ОС на ВМ с диском 10 ГБ VMmanager создаст разделы /dev/sda1 (2 ГБ) и /dev/sda2 (8 ГБ). Только для KVM-кластеров;
    • network_device — имя сетевого устройства. Только для KVM-кластеров; 

      Используйте стандартные имена для сетевых устройств. Например, ens3, eth0, enp0s3 и т.д.

    • archive_size_mib — размер архива в МиБ;
    • cpu_mode — режим эмуляции CPU. Возможные значения:
      • default — эмулируется виртуальный процессор QEMU;
      • host-model — эмулируемый процессор будет обладать теми же флагами функций, что и процессор на узле кластера;
      • host-passthrough — эмулируемый процессор будет в точности соответствовать процессору на узле кластера хост-машины и обладать теми же флагами функций;

        • Для шаблонов ОС AlmaLinux 9 значение параметра должно быть host-passthrough.
        • Если при создании ВМ была выбрана Своя конфигурация, то ВМ будет создана с режимом эмуляции, заданным в конфигурации.
        • Если параметр не указан в шаблоне, то ВМ будет создана с режимом эмуляции, заданным в используемой конфигурации.
    • image_size_mib — размер образа шаблона в МиБ. Только для KVM-кластеров;
    • min_size_mib — минимальный размер диска для ОС в МиБ; 

      Вы можете определить размер файла в МиБ с помощью утилиты ls

      ls -l --block-size=M <file_name>
      BASH
    • updated_at — время последнего изменения файла шаблона;
    • checksum — хеш-сумма файла архива, вычисленная по алгоритму SHA-1;

      Вы можете определить хеш-сумму файла с помощью утилиты sha1sum

      sha1sum <file_name>
      BASH
    • kms_supported — поддерживает ли ОС активацию через собственный KMS-сервер. Только для шаблонов ОС Windows. Возможные значения: true — поддерживает, false — не поддерживает;
    • install_script — скрипт первоначальной настройки. Только для шаблонов ОС Windows. Если параметр задан, то скрипт из шаблона ОС не используется. Формат параметра: 

      "install_script": {
       "file_name": "<имя файла скрипта>",
       "checksum": "<хеш-сумма файла скрипта, вычисленная по алгоритму SHA-1>",
       "updated_at": "<время последнего изменения файла скрипта>"
       }
      CODE
    • efi_boot — загрузка шаблона в EFI: true — загружать, false — не загружать.

Пример файла описания репозитория для KVM-кластера

{
    "type": "os",
    "os": [
        {
            "name": "Ubuntu 20.04 ZFS",
            "tags": [
                "ubuntu20",
                "ubuntu",
                "linux"
            ],
            "file_name": "ubuntu-20.04-zfs.xz",
            "image_name": "ubuntu-20.04-zfs",
            "expand": "/dev/sda3",
            "network_device": "ens3",
            "archive_size_mib": 550,
            "cpu_mode": "host-passthrough",
            "image_size_mib": 2450,
            "min_size_mib": 10240,
            "updated_at": "2020-10-13 01:36:00",
            "checksum": "78e9564a81fdece34f1869ffc33d10e14dbef7d3"
        },
        {
            "name": "Windows Server 2019",
            "tags": [
                "windows",
                "windows2019"
            ],
            "file_name": "Windows-Server-2019-kms.tar.gz",
            "image_name": "windows_server_2019",
            "checksum": "751a72ba46964c89c29892c1c6be5c2c769f94f8",
            "expand": "/dev/sda2",
            "network_device": "eth0",
            "archive_size_mib": 5323,
            "image_size_mib": 15000,
            "min_size_mib": 15002,
            "updated_at": "2020-07-19 10:30",
            "kms_supported": true
            "install_script": {
                "file_name": "windows.cmd",
                "checksum": "0793376f335edff1b728cd580f441ddb2b52501b",
                "updated_at": "2024-04-25 07:20:00"
            }
         }
    ]
}
YML

Пример файла описания репозитория для LXD-кластера

{
    "type": "lxd",
    "os": [
        {
			"name": "CentOS 7",
			"tags": ["centos","centos7","linux"],
			"file_name": "CentOS-7-amd64-20201223.tar.gz",
			"checksum": "30e5e1ca5b8a46b390cf1df6b99879f3be897421",
			"archive_size_mib": 180,
			"updated_at": "2020-12-23 08:22:05",
			"min_size_mib": 634
		}
    ]
}
CODE

Подключение репозитория


Чтобы подключить репозиторий, перейдите в ШаблоныРепозитории → кнопка Добавить репозиторий:

  1. Введите Название репозитория или нажмите генерировать.
  2. Введите Адрес репозитория. Например, http://www.example.com/repo/ или ftp://192.168.1.100/repo/.  

    Вы можете указать настройки авторизации в URL. Например, ftp://user:password@www.example.com/repo/.

  3. Нажмите кнопку Добавить. VMmanager проверит формат файла metadata.json. Если файл не содержит ошибок, VMmanager добавит репозиторий. 

Чтобы ОС из репозитория были доступны для установки, добавьте их в настройки нужного кластера: Кластеры → выберите кластер → кнопка Параметры → вкладка Общие настройкиОперационные системы → выберите ОС из репозитория → кнопка Сохранить.

Управление репозиториями


Для управления репозиториями перейдите в ШаблоныРепозитории.

Чтобы просмотреть список ОС в репозитории, нажмите на ссылку ".. ОС" в столбце "Содержание". Список ОС синхронизируется с репозиторием каждые 15 минут. Чтобы обновить содержимое репозитория вручную, нажмите значок .

Чтобы переименовать репозиторий, нажмите на его название или значок .

Чтобы удалить репозиторий, нажмите значок в строке с репозиторием. 

Не рекомендуем удалять системные репозитории ISPsystem и ISPsystem LXD. Такая конфигурация не поддерживается платформой.