Связаться по Skype: vkarabedyants
Позвонить Написать
+7 (499) 404-28-83

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Кастомизация гостевых ОС

Описание методов модификации

Итак, чтобы модифицировать средствами хоста виртуализации параметры гостевой ОС, необходимо каким-либо образом ей передать некую команду, которая должна вы-полниться в ее среде. Наиболее простой способ – исполь-зование штатных средств, в качестве таковых обычно вы-ступают средства интеграции, установленные в гостевой ОС. Анализ показывает, что это возможно только при ис-пользовании платформы виртуализации VMware, при ус-ловии, что в гостевой ОС установлены средства интегра-ции – VMware Tools. Данный способ действительно прост и удобен, не предполагает каких-либо трудностей при реа-лизации, и пример действий будет приведен в конце статьи для сравнения. Однако по причине указанных выше ограни-чений – имеющаяся платформа виртуализации VMware и на-личие установленных VMware Tools – часто мы вынуждены прибегать к другому способу.

Второй способ носит более изощренный характер и за-ключается в монтировании виртуального диска ВМ в среде ОС хоста, модификации скриптов инициализации и запус-ке виртуальной машины с выполнением подготовленных скриптов. Детальный список действий и используемые средства будут определяться типом платформы виртуа-лизации и типом гостевой ОС, общими будут следующие шаги.

>    Монтирование виртуального диска ВМ. Средства хоста должны позволять выполнение такой операции, должны присутствовать необходимые драйверы и утили-ты. Также на этом этапе определяется местоположение скриптов инициализации, поскольку виртуальный диск может содержать более одного раздела, и заранее неиз-вестно, какой именно раздел является системным.

>    Модификация скриптов инициализации. Для реализа-ции этого этапа необходима поддержка файловой сис-темы дисков гостевой ОС в среде хоста виртуализации. Модифицированный скрипт должен обеспечить одно-кратность выполнения кода и остановку гостевой ОС после выполнения скрипта. Этап завершается размонти-рованием виртуального диска. 

>    Старт ВМ с выполнением подготовленных скриптов.

 Результатом этого этапа будет неактивная ВМ, парамет-ры гостевой ОС которой изменены согласно намеченно-му плану.

 >    Опциональный этап – создание снимка ВМ в случае не-обходимости.

Проверка на практике. Подготовительный этап

Далее в качестве конкретного примера рассмотрим автоматизацию импорта и модификацию параметров сетевого адаптера одного из оценочных образов ОС Windows, предоставляемых фирмой Microsoft.

Для тестов удобно выбрать образ минимального объема – Windows Server 2008 R2 Enterprise Edition x64 (Базовая версия). В качестве платформы виртуализации выберем Windows Server 2008 R2, поскольку это позволит наиболее полно проиллюстрировать все возникающие задачи и их ре-шения.

Для выбранного образа и платформы виртуализации логично использовать Windows PowerShell в качестве языка сценариев. К сожалению, в Windows PowerShell из состава Windows Server 2008 R2 отсутствуют командлеты управления виртуальной средой, поэтому воспользуемся сторон-ним свободно распространяемым решением – модулем pshyperv, доступным на сайте CodePlex. Загруженный модуль необходимо установить в соответствии с прилагае-мыми инструкциями.

Для удобства представления тестовый скрипт разчленен на отдельные части в соответствии с описанными ранее этапами.

Первый фрагмент (см. листинг 1) выполняет импорт ВМ и монтирование виртуального жесткого диска. Для им-порта и монтирования используются командлеты модуля pshyperv, поэтому в начале скрипта предусмотрена про-верка установки данного модуля, а также проверка наличия и корректности аргументов скрипта. В качестве аргумента необходимо предоставить путь к папке с файлами ВМ. По-скольку заранее неизвестно, на каком из разделов вирту-ального жесткого диска расположен системный диск ОС, в скрипте выполняется поиск системного раздела среди вновь смонтированных томов по критерию максимального объема. В реальных условиях, возможно, понадобится ис-пользовать более значимые критерии, например, имя тома, либо наличие определенных элементов (например, каталога %systemroot%) в файловой структуре. Завершается данный фрагмент присвоением переменной значения, соответству-ющего системному диску гостевой ОС. Дополнительные пояснения представлены в комментариях в листинге скрипта.

 

Проверка на практике. Основные действия

В следующем фрагменте (см. листинг 2) выполняется модификация стартовых скриптов, которые при запуске ВМ про-изведут необходимые изменения.

В       качестве скриптов инициализации выбраны стартап-скрипты групповых политик Windows. Это возможно для серверных ОС Windows, а также для профессиональных  и   корпоративных редакций клиентских Windows. Для других редакций клиентских систем Windows также возможна ор-ганизация стартап-скриптов, сделать это можно путем нас-тройки автоматической регистрации пользователя и моди-фикации логин-скрипта для этого пользователя. Реализация этого варианта выполняется без особого труда на основе представленных листингов.

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

В    представленном фрагменте для организации стартовых скриптов в первую очередь создается структура папок в файловой системе системного диска, затем создаются необходимые конфигурационные файлы. После этого соз-дается стартовый скрипт групповой политики, в котором собственно и предусмотрено выполнение команд модифи-кации параметров активного сетевого адаптера.

Далее для того, чтобы данная процедура выполнилась только один раз, создается скрипт выключения, в котором стартовый скрипт удаляется из конфигурационных файлов. Кроме этого, необходимо модифицировать ключи реестра гостевой ОС для задействования клиентских расширений (CSE) групповых политик, обеспечивающих выполнение стартовых скриптов.

Завершается фрагмент размонтированием виртуально-го жесткого диска.

 

Проверка на практике. Исполнение

Наконец остается запустить ВМ, дождаться завершения ее работы и создать снимок ВМ. Эти действия выполняет оставшийся фрагмент скрипта (см. листинг 3).

Для выполнения скрипта необходимо распаковать ВМ в выбранную папку и запустить скрипт с аргументом, указывающим на путь к этой папке. Результатом выполнения скрипта будет подготовленная ВМ в выключенном состо-янии, с модифицированными параметрами гостевой ОС и снимком состояния.

То же самое штатными средствами

Для сравнения приведу пример управления гостевой ОС штатными средствами хоста виртуализации, что возможно в среде VMware при установленных средствах интеграции VMware Tools и использовании в качестве клиента vSphere PowerCLI . При таких условиях часть скрипта, выполняю-щего модификацию параметров гостевой ОС виртуальной машины VMname будет представлена строками листинга 4.

В этом случае нет нужды манипулировать стартовыми скриптами, поскольку команды установки параметров выполняются непосредственно в среде гостевой ОС, при работающей ВМ. Разумеется, что в таком варианте может потребоваться перезагрузка гостевой ОС, если этого требуют выполненные изменения.

Дополнительно отмечу, что, если в качестве гостевой ОС используется Windows Server 2012 R2, скрипт примет еще более простой вид, представленный на листинге 5. (Подраз-умевается, что в гостевой ОС имеется только один активный сетевой адаптер.)

 

Можно предположить, что в очередных версиях платформы виртуализации Hyper-V будет реализован аналогичный спо-соб управления. Об этом говорит то, что роль виртуализации ОС Windows Server 2012 R2 поддерживает копирование файлов в гостевую ОС (но не из гостевой ОС на хост виртуализации) с помощью командлета Copy-VMFile.

Если клиентское ПО продолжит развитие в этом направлении и будет реализовано не только копирование файлов, но и выполнение произвольных команд, описанные в дан-ной статье манипуляции потеряют актуальность в контексте платформ виртуализации. В настоящее же время описанный способ управления может послужить примером для реализации различных сценариев автоматизации виртуальной инфраструктуры.

Источник «Системный администратор» №156, 2015

Сопровождение систем виртуализации, установка и настройка, [email protected]

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.