По умолчанию в VMmanager доступны операционные системы (ОС) из репозиториев ISPsystem:
- ISPsystem — для KVM-кластеров;
- ISPsystem LXD — для LXD-кластеров.
Чтобы устанавливать на ВМ ОС 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.
Файл metadata.json содержит параметры для установки шаблонов ОС из репозитория:
- type — тип репозитория. Укажите значение os;
- os — массив объектов для описания ОС. Каждый объект содержит параметры:
-
name — название шаблона. По названию шаблона платформа определяет тип ОС и выбирает модель добавления IP-адреса:
Если ни одна подстрока из таблицы не была найдена, шаблону будет присвоена модель 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>
- updated_at — время последнего изменения файла шаблона;
-
checksum — хеш-сумма файла архива, вычисленная по алгоритму SHA-1;
Вы можете определить хеш-сумму файла с помощью утилиты sha1sum:
sha1sum <file_name>
- kms_supported — поддерживает ли ОС активацию через собственный KMS-сервер. Только для шаблонов ОС Windows. Возможные значения: true — поддерживает, false — не поддерживает;
-
install_script — скрипт первоначальной настройки. Только для шаблонов ОС Windows. Если параметр задан, то скрипт из шаблона ОС не используется. Формат параметра:
"install_script": { "file_name": "<имя файла скрипта>", "checksum": "<хеш-сумма файла скрипта, вычисленная по алгоритму SHA-1>", "updated_at": "<время последнего изменения файла скрипта>" }
- efi_boot — загрузка шаблона в EFI: true — загружать, false — не загружать.
-
{
"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"
}
}
]
}
{
"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
}
]
}
Подключение репозитория
Чтобы подключить репозиторий, перейдите в Шаблоны → Репозитории → кнопка Добавить репозиторий:
- Введите Название репозитория или нажмите генерировать.
-
Введите Адрес репозитория. Например, http://www.example.com/repo/ или ftp://192.168.1.100/repo/.
Вы можете указать настройки авторизации в URL. Например, ftp://user:password@www.example.com/repo/. - Нажмите кнопку Добавить. VMmanager проверит формат файла metadata.json. Если файл не содержит ошибок, VMmanager добавит репозиторий.
Управление репозиториями
Для управления репозиториями перейдите в Шаблоны → Репозитории.
Чтобы просмотреть список ОС в репозитории, нажмите на ссылку ".. ОС" в столбце "Содержание". Список ОС синхронизируется с репозиторием каждые 15 минут. Чтобы обновить содержимое репозитория вручную, нажмите значок .
Чтобы переименовать репозиторий, нажмите на его название или значок .
Чтобы удалить репозиторий, нажмите значок в строке с репозиторием.