Подготовка шаблона ОС Windows
Шаблон ОС Windows для репозитория должен содержать:
- образ диска ОС;
- скрипт первоначальной настройки;
- файл с метаданными.
Статья описывает этапы подготовки шаблона.
Образ диска ОС
Подготовка образа
Для подготовки образа вы можете:
- установить нужную версию ОС Windows на физический сервер;
- использовать ВМ в платформе.
Чтобы подготовить образ из ВМ:
- Создайте ВМ без операционной системы.
- Измените тип подключения диска ВМ на IDE: раздел Виртуальные машины → выберите ВМ → кнопка Параметры → раздел Виртуальные диски → меню → Редактировать диск → выберите Тип подключения ide → кнопка Изменить и перезапустить.
- Установите на ВМ ОС Windows из ISO-образа. После установки ОС отключите ISO-образ. Подробнее о работе с ISO-образами см. Подключение ISO-образа.
- Чтобы подготовить ВМ к установке драйверов virtio, создайте диск размером 1 ГБ с типом подключения virtio и подключите его к ВМ: раздел Виртуальные машины → выберите ВМ → кнопка Параметры → раздел Виртуальные диски → Подключить еще диск → Создать диск и подключить → выберите Размер 1 ГБ и Тип подключения virtio → кнопка Подключить диск.
- Скачайте и установите на ВМ драйверы Virtio.
- Скачайте и установите на ВМ ПО QEMU Guest Agent.
- Измените тип подключения основного диска ВМ на Virtio: раздел Виртуальные машины → выберите ВМ → кнопка Параметры → раздел Виртуальные диски → меню → Редактировать диск → выберите Тип подключения virtio → кнопка Изменить и перезапустить.
- Подключитесь к ВМ по VNC или SPICE и проверьте, что всё оборудование в диспетчере устройств установлено корректно.
Настройка образа
При первом запуске ОС из шаблона на ней должен выполниться скрипт первоначальной настройки. Для хранения этого скрипта VMmanager создаёт отдельный виртуальный диск. Загрузка скрипта с виртуального диска осуществляется с помощью утилиты dd. Чтобы настроить запуск скрипта:
- Создайте в ОС директорию C:\vmmgr\.
Создайте в директории C:\vmmgr\ скрипты firstrun.cmd, firstrun.ps1, ddwrap.cmd:
Файлы скриптов должны быть в формате Windows. Переводы строк должны выполняться с помощью управлящих символов CR LF.
firstrun.cmd
CODEfirstrun.ps1
CODEddwrap.cmd
CODE- Скачайте утилиту dd, распакуйте архив и скопируйте файл dd.exe в директорию C:\vmmgr\ .
Разрешите в PowerShell выполнение неподписанных скриптов. Для этого зайдите в PowerShell и выполните команду:
BASH- Добавьте скрипт C:\vmmgr\firstrun.cmd в автозагрузку. Для этого создайте в планировщике задание с именем vmmgr_firstrun, которое нужно выполнить при запуске системы. Включите для задания параметр безопасности "Выполнять вне зависимости от регистрации пользователя".
- Завершите работу ОС.
Создание образа
Если вы подготовили образ на физическом сервере:
- Загрузитесь с любого Live CD.
Cоздайте образ диска ОС. Это можно сделать с помощью утилиты dd или virt-sparsify.
Пример создания образа с помощью dd
CODEПример создания образа с помощью virt-sparsify
BASH
Если вы подготовили образ с помощью VMmanager, порядок создания образа зависит от типа хранилища:
- файловое, NAS:
- Подключитесь к узлу кластера VMmanager по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
Конвертируйте файл диска ВМ в формат RAW:
BASH
- LVM:
- Подключитесь к узлу кластера VMmanager по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
Экспортируйте файл диска ВМ:
BASH
- Ceph:
Подключитесь к серверу-монитору Ceph с исходной ВМ.
Экспортируйте файл диска ВМ:
BASH
Скрипт первоначальной настройки
Для первоначальной настройки ОС вы можете использовать скрипт, приведённый ниже. Чтобы включить русский язык в настройках ОС, раскомментируйте строки 117-125.
Если скрипт первоначальной настройки определён в файле metadata.json из репозитория шаблонов, то скрипт из шаблона ОС не будет использоваться. Подробнее см. в статье Репозитории.
Файл скрипта должен быть сохранён в формате Windows. Переводы строк должны выполняться с помощью управлящих символов CR LF.
windows.cmd
Файл с метаданными
Файл метаданных metainfo.xml содержит информацию о шаблоне:
- <osname> — название ОС;
- <limit> — ограничения шаблона. Если ВМ не удовлетворяет ограничениям, то она не будет создана. Параметры ограничений:
- <elem name="ipv4"> — использование IPv4-адреса в качестве основного. Возможные значения: yes — поддерживается, no — не поддерживается;
- <elem name="ipv6"> — использование IPv6-адреса в качестве основного. Возможные значения: yes — поддерживается, no — не поддерживается;
- <elem name="mem"> — минимальный объём RAM в МиБ;
- <elem name="disk"> — минимальный объём дискового пространства в МБ;
- <support> — ПО, которое поддерживает шаблон. Для VMmanager укажите <elem>VMmgr</elem>;
- <tags> — теги шаблона. Используются для совместимости со скриптами;
- <version> — версия шаблона;
- <hddimage> — имя файла образа;
- <type> — тип шаблона. Для шаблона ОС укажите <type>ostemplate</type>;
- <installdrive> — имя скрипта первоначальной настройки;
- <virtionet>yes</virtionet> — поддержка работы с virtio-сетью;
- <virtiodisk>yes</virtiodisk> — поддержка работы с virtio-дисками;
- <macro> — макросы для передачи в шаблон. Для передачи значения лицензионного ключа укажите <elem name="($PRODUCTKEY)"/>.
Пример файла metainfo.xml
Загрузка шаблона в репозиторий
Чтобы загрузить шаблон:
- Создайте архив формата .tar.gz, включающий образ диска ОС, скрипт первоначальной настройки и файл с метаданными.
- Скопируйте архив в директорию репозитория.
- Добавьте информацию о шаблоне в файл описания репозитория metadata.json. Подробнее см. в статье Репозитории.
Может быть полезно
Связанные статьи