Службы развертывания Windows (WDS) — отличное дополнение к набору продуктов Windows. В стандартной конфигурации WDS обеспечивает развертывание виртуальных машин (ВМ) Windows, а если внести небольшие изменения, его можно использовать также для создания серверов Linux и VMware. Причем все это можно сделать из меню загрузки с возможностью выбора Preboot eXecution Environment (PXE).
Чтобы настроить WDS для развертывания систем Windows и Linux, необходимо внести несколько изменений в командной строке. По сути, нужно заменить загрузчик PXE, используемый Windows, на загрузчик для Linux. После этого создается пункт меню, позволяющий меню загрузки PXE для Linux переключаться на меню Windows для загрузки Windows, а для создания веб-интерфейса для загрузки файлов конфигурации Linux используется IIS.
Настройки WDS, которые я использую сейчас, позволяют развертывать Windows, CentOS и ESXi. Именно об этих трёх операционных системах пойдет речь в этой статье, однако можно использовать и другие.
На пустом сервере Windows мне нужно выделить диск C: объемом 60 ГБ для операционной системы и диск WDS объемом 300 ГБ для различных файлов WIM, необходимых для развертывания Windows, и для файлов установки Linux.
Установка и настройка выполняются в несколько этапов:
Настройка сервера WDS
На сервере должны быть установлены WDS и IIS. Это можно сделать с помощью программы Windows Server Manager или с помощью PowerShell.
Install-WindowsFeature –name Web-server -includemanagementtools
Install-Windowsfeature –name WDS -includemanagementtools
Теперь, когда у нас установлен базовый сервер служб развертывания Windows, нужно внести некоторые изменения в пул DHCP. При желании можно добавить вторую сетевую плату на этот сервер и создать выделенную сеть, но я лично хочу иметь возможность создавать серверы в основной сети, поэтому предпочитаю обновлять центральный сервер DHCP с помощью дополнительных атрибутов DHCP WDS:
Я использую следующие настройки DHCP:
«Имя узла сервера загрузки» — IP-адрес сервера WDS.
«Имя файла загрузки» — исполняемый файл WDS, который должен быть запущен клиентом.
Три других параметра — стандартные для большинства настроек DHCP.
Запустите мастер настройки на сервере WDS и завершите настройку WDS. Я предлагаю сделать несколько небольших изменений в настройках.
Сервер можно интегрировать с AD, поскольку в этот момент мы настраиваем параметры Windows, но я предпочитаю автономный сервер, который отвечает на все запросы без предварительного размещения в AD.
Я меняю C:\RemoteInstall на E:\RemoteInstall. E: — это второй диск, который я добавляю на сервер WDS специально для файлов WIM, файлов Linux и т. п.
Как я уже сказал, я хочу, чтобы сервер PXE сам отвечал на все запросы, не тратя времени на получение подтверждения от AD.
Последний параметр, который надо изменить, находится в меню PXE. Для этого нужно запустить консоль развертывания WDS, щелкнуть правой кнопкой мыши на имени сервера и изменить значение параметра на вкладке загрузки с «Require the user to press F12 key to continue the PXE boot» («Пользователь должен нажать клавишу F12 для продолжения загрузки PXE») на «Always continue the PXE boot» («Всегда продолжать загрузку PXE»).
Теперь в WDS можно добавить файлы .WIM. Достаточно скопировать файлы «boot.wim» и «install.wim» из образа 2016 ISO, и вы сможете развернуть образы Windows с помощью WDS.
Вы сможете запустить ВМ с помощью загрузки PXE и открыть стандартный экран загрузки WDS, на котором будет только ОС Windows. На этом этапе стоит протестировать развертывание и убедиться, что все работает, потому что теперь мы начинаем вносить фундаментальные изменения в WDS, которые позволят использовать службы для установки Linux и ESXi.
Изменение загрузчика служб развертывания Windows
Сервер WDS уже может выполнить развертывание образов Windows, но мы хотим, чтобы он делал не только это. Он должен также справляться с образами Linux, поэтому первым делом мы меняем загрузчик WDS на загрузчик Linux PXE.
Для этого нужно скачать sysLinux. НЕ СКАЧИВАЙТЕ версии позже 3.86 — они не будут работать с ESXi, поскольку их установщик по-прежнему использует версию 3.86.
Скачав sysLinux 3.86, распакуйте архив во временную папку. Теперь нужно переместить несколько файлов. Это самая занудная часть процесса установки, которая требует аккуратности!
Извлеките из архива sysLinux 3.86:
- core\pxeLinux.0
com32\menu\vesamenu.c32
com32\modules\chain.c32 - Переименуйте pxeLinux.0 to pxeLinux.com
- Скопируйте файлы в папки remoteinstall\boot\x64 и remoteinstall\boot\x86
- В обеих папках x86 и x64 переименуйте pxeboot.n12 в pxeboot.0
Из командной строки выполните следующие команды, чтобы заменить загрузчик по умолчанию на загрузчик Linux PXE:
wdsutil /set-server /bootprogram:boot\x86\pxeLinux.com /architecture:x86
wdsutil /set-server /N12bootprogram:boot\x86\pxeLinux.com /architecture:x86
wdsutil /set-server /bootprogram:boot\x64\pxeLinux.com /architecture:x64
wdsutil /set-server /N12bootprogram:boot\x64\pxeLinux.com /architecture:x64
Наконец, в обеих папках x86 и x64 создайте подпапки с именем pxeLinux.cfg, а в них создайте файл с именем «default» и скопируйте в него следующий текст, чтобы настроить меню загрузки:
DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
# Timeout in units of 1/10 s
TIMEOUT 0
MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #20ffffff #00000000 none
MENU COLOR SCROLLBAR 30;44 #20ffffff #00000000 none
MENU COLOR TITLE 0 #ffffffff #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU BACKGROUND flow.jpg
MENU TITLE PXE Boot Menu
#—
LABEL wds
MENU LABEL Windows Deployment Services
MENU DEFAULT
KERNEL pxeboot.0
#—
LABEL CentOS68
MENU LABEL CentOS 6.8
KERNEL /web/CentOS/6.8/images/pxeboot/vmlinuz
append initrd=/web/CentOS/6.8/images/pxeboot/initrd.img root=/dev/ram0 init=/Linuxrc ramdisk_size=100000 ks=https://[IP-адрес сервера WDS]/CentOS/6.8/centos-base-ks.cfg
#—
LABEL CentOS72
MENU LABEL CentOS 7.2
KERNEL /web/CentOS/7.2/images/pxeboot/vmlinuz
append initrd=/web/CentOS/7.2/images/pxeboot/initrd.img
#—
LABEL VMWare500U3
MENU LABEL VMWare 5.0.0 U3
KERNEL /web/VMWare/5.0.0/U3/mboot.c32
APPEND -c /web/VMWare/5.0.0/U3/boot.cfg
#—
LABEL VMWare553b
MENU LABEL VMWare 5.5 U3b
KERNEL /web/VMWare/5.5.0/U3b/mboot.c32
APPEND -c /web/VMWare/5.5.0/U3b/boot.cfg
#—
LABEL VMWare60
MENU LABEL VMWare 6.0
KERNEL /web/VMWare/6.0/mboot.c32
APPEND -c /web/VMWare/6.0/boot.cfg
#—
LABEL VMWare65
MENU LABEL VMWare 6.5
KERNEL /web/VMWare/6.5/mboot.c32
APPEND -c /web/VMWare/6.5/boot.cfg
#—
LABEL Abort
MENU LABEL AbortPXE
Kernel abortpxe.0
#—
LABEL local
MENU LABEL Boot from Harddisk
LOCALBOOT 0
Type 0x80
Изменение настроек IIS
IIS необходимы для размещения установочных файлов CentOS и ESXi. Я всегда создаю структуру веб-файлов на VMDK. Она выглядит так:
E:\web — корневой каталог, на который указывает IIS
E:\web\centos\7.x\7.1 — файлы установки CentOS 7.1
E:\web\vmware\6.5 — файлы установки VMware 6.5
В IIS необходимо включить просмотр файлов, чтобы установщик Linux и установщик VMware могли их извлечь.
Запустите программу администрирования IIS, выберите свой сервер -> Сайт по умолчанию -> Просмотр каталога и включите его.
Полезно также настроить защищенное соединение с сервером по протоколу HTTPS.
Добавление Linux
Теперь можно добавить Linux. Я делаю так:
Скачиваю самую маленькую ISO-версию CentOS (как правило, это образ minimal), монтирую образ ISO и копирую его содержимое в директорию «E:\web\centos\7.x\7.\[версия]» или другую, которую легко запомнить. После этого можно добавить, например, kickstart-файл, чтобы автоматизировать установку. Вот пример строк, которые я добавляю к файлу pxeLinux.cfg, используемому по умолчанию:
LABEL CentOS72
MENU LABEL CentOS 7.2
KERNEL /web/CentOS/7.2/images/pxeboot/vmlinuz
append initrd=/web/CentOS/7.2/images/pxeboot/initrd.img inst.repo=[IP-адрес сервера WDS]/CentOS/7.2 ks=[IP-адрес сервера WDS]/CentOS/7.2/centos-base-ks.cfg
Добавление VMware
И наконец, давайте добавим ESXi 6.5. Для этого тоже надо просто скопировать все файлы из ISO-образа VMware в соответствующую папку на сервере WDS, но после этого надо изменить файл boot.cfg в папке VMware, удалив пробелы. Это выглядит так:
В заключение скажу, что изменение настроек сервера WDS, IIS и различных файлов конфигурации может потребовать некоторых усилий, но, сделав это, вы сможете использовать меню PXE для переключения на WDS и выбрать любую ОС Windows, которая поддерживает WIM-файлы. С ее помощью можно также запускать установку Linux или VMware в полностью автоматическом режиме. Кроме того, для удобства вы можете добавить и другие приложения, такие как GParted и Memtest.