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

  • ISPsystem — для KVM-кластеров;
  • ISPsystem LXD — для LXD-кластеров;
  • Astra — для шаблонов Astra Linux.

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

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

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


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

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

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

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

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

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

  • name — название шаблона;
  • 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-кластеров;
  • 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 — не поддерживает;
  • 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
        }
    ]
}
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://example.com/repo/ или http://192.168.1.100/intrepo/.
  3. Нажмите Добавить.

Форма добавления репозитория


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

Выбор ОС из репозитория в настройках кластера

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


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

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

Чтобы переименовать репозиторий, нажмите на его название или image2020-5-26_10-19-50.png.

Чтобы удалить репозиторий, нажмите image2020-5-26_10-18-22.png.

Если репозитории ISPsystem были случайно удалены, вы можете добавить их заново. Для этого подключите репозитории с URL:

Раздел "Репозитории"