Кастомизация гостевых ОС Windows в KVM на примере Proxmox

Дата: 22.03.2019 Автор Admin

В есть удобный механизм кастомизации ОС при деплое — OS Customization

С помощью него можно например ввести виртуальную машину в домен или запустить скрипты после деплоя.

Это очень удобно, особенно при развертывании сотни виртуальных машин. Похожий механизм захотелось иметь и в KVM.

В этой статье мы рассмотрим как обеспечить похожий функционал на примере Proxmox и шаблона Windows

Для начала нам необходимо подготовить шаблон ОС, из которой мы будем деплоить наши виртуальные машины.

Создайте новую VM, установите на нее ОС, например 2016.

Установите на машину необходимые драйвера и qemu агент, он есть в образе с драйверами

После установки qemu агента, создайте локальную учетную запись, откройте службы windows и настройте запуск службы qemu агент не от local system, а от ранее созданной УЗ

Теперь нужно выполнить на машине sysprep с файлом ответа.

Я буду использовать следующий файл ответа, можете использовать его как пример или сгенерировать свой, например тут

файл ответов unattend.xml

Теперь сохраните этот файл на своей виртуальной машине, которую вы только что настроили и развернули и планируете использовать как шаблон.

Далее запустите на ней sysprep.

команда запуска будет следующая:

Выполнение этой команды применит файл ответов и выключит виртуальную машину.

После этого она будет готова к деплою.

Теперь преобразуйте ее в шаблон в веб интерфейсе proxmox

 

На этом этапе шаблон полностью готов.

Теперь нам нужен скрипт деплоя VM с хоста.

Скрипт будет выполнять следующее:

1) Клонировать VM из шаблона

2) Включать VM после деплоя, проверять запуск qemu агента и вводить машину в домен или просто переименовывать.

Это будет делать следующий скрипт, который нужно запускать с хоста гипервизора:

Пример запуска скрипта

./deploy.sh 118 testsrv2 testvm join

Где:

118 — ID ранее созданного шаблона

testsrv2 — имя создаваемой VM

testvm — имя ресурсного пула qemu (если не указывать машин будет просто склонирована на тот же хост)

join — ввод виртуальной машины в домен после клонирования (если не указывать машина будет просто переименована, без ввода в домен)

В секции ниже измените учетные данные для подключения к домену и его адрес:

Таким образом можно развернуть и кастомизировать VM по аналогии с Guest Customization.

Но если нам нужно развернуть не одну а 10 или 100 виртуальных машин?

Добавим следующий скрипт для запуска этого процесса:

Пример запуска:

./start_deploy.sh 118 testvm join

Где:

118 — ID ранее созданного шаблона
testvm — имя ресурсного пула qemu (если не указывать машин будет просто склонирована на тот же хост)
join — ввод виртуальной машины в домен после клонирования (если не указывать машина будет просто переименована, без ввода в домен)

Построчный список VM сохраните в файле vms.list

Теперь вы можете автоматизировать деплой ваших виртуальных машин на базе Windows в KVM.

Процесс настройки конечно отличается от VMware, но на то он и open source.

 


Добавить комментарий

Ваш адрес email не будет опубликован.