Подготовка шаблона ОС Linux
Формат шаблона зависит от типа виртуализации в кластере:
- KVM — архив .xz с образом диска ОС в формате RAW;
- LXD — архив tar.gz с содержимым файловой системы и файлом метаданных.
Требования к шаблону
Разметка диска и установка ОС
Используйте разметку диска GPT. Для первого раздела диска укажите тип BIOS boot и размер 2 Мб. Для второго раздела диска укажите тип Linux filesystem и минимально возможный размер (например, 4 ГБ). Установите ОС на второй раздел в минимальной конфигурации.
Для пространства подкачки рекомендуется не выделять отдельный раздел, а создать swap-файл объёмом 512 Мб.
Для успешного создания обезличенного образа с файловой системой XFS мажорные версии ядра в исходной ОС и ОС, в которой осуществляются изменения, должны совпадать.
Установка дополнительного ПО
QEMU Guest Agent
ПО QEMU Guest Agent необходимо для взаимодействия платформы с ВМ. Порядок установки:
Установите пакеты ПО:
ОС CentOS, AlmaLinux
CODEОС Debian, Ubuntu, Astra Linux
CODEДобавьте QEMU Guest Agent в автозагрузку:
CODEПроверьте статус QEMU Guest Agent:
CODEПроверьте статус службы SELinux:
CODEЕсли статус отличается от disable:
Отключите SELinux. Для этого замените в файле /etc/selinux/config строку
CODEна
CODE- Перезагрузите ОС.
Если в файле /etc/sysconfig/qemu-ga есть строка вида
CODE- Закомментируйте или удалите эту строку.
Перезапустите QEMU Guest Agent:
CODE
SPICE
Если к ВМ, созданным из шаблона, нужно будет подключаться по SPICE, установите пакеты ПО spice-vdagent и spice-webdavd:
Debian, Ubuntu, Astra Linux
CentOS, AlmaLinux
Для шаблона с ОС CentOS добавьте запуск ПО в автозагрузку:
Системные утилиты
Проверьте наличие утилит curl и vim:
Если какая-то из утилит не установлена, установите её:
Debian, Ubuntu, Astra Linux
CentOS, AlmaLinux
Настройка SSH
Разрешите подключение по SSH с учётной записью суперпользователя и аутентификацией по паролю. Для этого укажите в файле /etc/ssh/sshd_config параметры:
Очистка истории команд
После установки и настройки всех пакетов ПО очистите историю команд:
Шаблон для KVM-кластера
Чтобы подготовить шаблон:
- Создайте виртуальную машину (ВМ) с нужной версией ОС.
Настройте ОС и установите необходимые пакеты ПО.
- Остановите ВМ.
Определите в каком формате сохранён диск ВМ:
CODEСкопируйте файл диска ВМ в отдельную директорию. Если диск сохранён не в формате RAW, конвертируйте его в формат RAW:
CODEОптимизируйте файл образа с помощью утилиты virt-sparsify:
CODEОчистите образ от персональной информации с помощью утилиты virt-sysprep:
CODEЧтобы у ВМ, создаваемых из шаблона, был уникальный параметр machine-id, выполните команду:
CODEСоздайте архив с образом в формате .xz:
CODE- Скопируйте архив в директорию репозитория.
- Добавьте информацию о шаблоне в файл описания репозитория metadata.json. Подробнее см. в статье Репозитории шаблонов ОС.
Шаблон для LXD-кластера
Чтобы подготовить шаблон:
- Создайте директорию /rootfs и скопируйте туда содержимое файловой системы. Для шаблона ОС на основе Debian вы можете использовать утилиту debootstrap, для шаблона ОС на основе Red Hat Linux — утилиту yumbootstrap.
- Внесите необходимые изменения в файлы ОС.
- Создайте файл метаданных metadata.yaml с обязательными параметрами:
- architecture — архитектура процессора. Например, x86_64 или amd64;
creation_date — время создания шаблона в Unix time.
Пример файла metadata.yaml
CODEПодробнее о формате файла см. в официальной документации LXD.
Создайте архив tar.gz с директорией /rootfs и файлом metadata.yaml.
- Скопируйте архив в директорию репозитория.
- Добавьте информацию о шаблоне в файл описания репозитория metadata.json. Подробнее см. в статье Репозитории шаблонов ОС.
Может быть полезно
Связанные статьи: