Есть такая штука – UDA, Ultimate Deployment Appliance.
Это – виртуальная машина, готовая быть сервером дистанционного развертывания.
И сейчас я расскажу как ее можно применить для решения моей специфической задачи.
Введение
Есть десяток однотипных серверов. На них необходимо регулярно переустанавливать ОС – в моем конкретном случае преимущественно разные версии ESX\ESXi, хотя бывают нюансы. Притом хочется сразу и предварительные настройки делать.
Конечно, как вариант можно снять образ с каждого сервера – но это означает как минимум:
- потратить немало места
- получить усложнения при обновлении состояния образа
К счастью, есть специализированное решение – UDA, Ultimate Deployment Appliance.
Первоначальная настройка
Идем сюда 0 http://www.rtfm-ed.co.uk/vmware-content/ultimate-da/, и загружаем архив с UDA формате OVA – если планируем импортировать эту штуку на ESXi.Или, как вариант, идем на оригинальный сайт проекта - http://www.ultimatedeployment.org - и загружаем архив с виртуалкой в формате Workstation..
В клиенте vSphere выберем File –> Deploy OVF Template, укажем на распакованный из архива ova-файл и дождемся окончания импорта.
После этого виртуальную машину включаем, и в ее консоли проходим мастер первоначальной настройки – всякие пароли пользователей по умолчанию и все такое.
Единственно важный вопрос – какой DHCP сервер мы будем использовать.
Вариантов два – или DHCP сервер прямо внутри UDA, какой другой. Я выберу второй вариант – чуть позже укажу что надо настроить на внешнем сервере DHCP .
После первоначальной настройки имеет смысл прокачать нашу UDA (внимание, этот шаг может устареть в дальнейшем) – скачиваем tgz- архив с обновлением - Patch of UDA for ESX – Build 20 - , через веб-интерфейс его указываем в пункте System –> Upgrade – UDA обновляется до сборки, поддерживающей ESXi 5.
Затем можно поставить VMware tools – через клиент vSphere подмонтировать к ВМ с UDA стандартный iso с Linux-дистрибутивом тулзов, и через веб-интерфейс указать ставить VMware tools с локального cdrom.
Ну и настройка внешнего DHCP – я использовал DHCP на Windows 2008:
надо включить опции 066 Boot Server Host Name и 067 Bootfile Name.
Boot Server – IP-адрес нашей UDA,
Имя загрузочного файла - pxelinux.0 .
Настройка ОС для установки
Ну а теперь начнем делать подготовительные шаги и настраивать UDA. Хорошая новость – все, что касается настроек UDA, делается через веб-интерфейс.Нам надо
1) Сделать доступным дистрибутив. Я буду использовать SMB-сетевой ресурс, кому-то может быть удобнее NFS или скопировать iso прямо внутрь UDA.
2) Монтировать образ дистрибутива ОС. У меня на примере ESXi 4.1.
3) Создать “template” – это название пункта меню, ссылающегося на какой-то дистрибутив с каким-то файлом ответов.
Создаем сетевой ресурс с iso-образом дистрибутива ОС, которую\которые хотим устанавливать. Доступ необходим read-write, и для учетной записи с непустым паролем. Образ можно расположить не только в корне сетевого ресурса.
Затем в веб-интерфейсе UDA идем в пункт Storage –> New.
Заполняем поля:
Затем нам следует “зарегистрировать” дистрибутив ОС, которую планируем устанавливать через vMA. Идем в пункт OS –> New.
На первом шаге указываем “Flavor Name” – метка дистрибутива для UDA, и тип гостевой ОС.
На втором шаге – выбираем образ iso с ранее зарегистрированного хранилища (в моем случае это ранее описанный SMB-сетевой ресурс).
Все.
Последний шаг – создание шаблона. Пункт Templates меню веб-интерфейса, –> New.
Там мы выберем ранее зарегистрированный дистрибутив (Flavor), и имя шаблона. Имя шаблона затем мы увидим при загрузке сервера-жертвы, так что лучше имя давать говорящее.
Важный шаг – после создания выделит свежесозданный шаблон, и нажать кнопку Configure – > Advanced. В этом пункте меню нам доступен для редактирования файл ответов.
Информацию по файлам ответов и их параметрам можно найти в документации
- vSphere 5 Installation and Upgrade Script Commands
- ESX 4 Installation and Upgrade Script Commands
- ESXi 4 Installation and Upgrade Script Commands
Это когда мы в файле ответов шаблона используем переменные вместо уникальных параметров, таких как имя ОС и IP-адрес. А в пункте Subtemplates перечисляем значения этих переменных.
В моем случае, соответствующий шаблону файл ответов выглядит так:
1: accepteula
2: rootpw password
3: autopart --firstdisk --overwritevmfs
4: install
5: url http://[UDA_IPADDR]/[OS]/[FLAVOR]
6: network
7: --bootproto=static --ip=[IPADDR] --gateway=192.168.22.253
8: --nameserver=192.168.22.252 --netmask=255.255.255.0
9: --hostname=[HOSTNAME]
10: reboot
(Хорошая новость – сам файл ответа, без учета переменных, генерируется автоматически. А мы лишь правим под себя)
И список переменных:
2: SUBTEMPLATE;IPADDR;HOSTNAME
3: esxi_4_01;192.168.22.1;esxi01
4: esxi_4_02;192.168.22.2;esxi02
5: esxi_4_03;192.168.22.3;esxi03
6: esxi_4_04;192.168.22.4;esxi04
7: esxi_4_05;192.168.22.5;esxi05
8: esxi_4_06;192.168.22.6;esxi06
9: esxi_4_07;192.168.22.7;esxi07
10: esxi_4_08;192.168.22.8;esxi08
11: esxi_4_09;192.168.22.9;esxi09
12: esxi_4_10;192.168.22.10;esxi10
(Названия переменных – на наш выбор)
Теперь, при попытке загрузиться с PXE в этом сегменте сети я вижу меню – список шаблонов:
Выбрав меню с подшаблонами я увижу их список:
И через несколько минут после выбора нужного подшаблона я имею готовый к работе сервер:
Ну а дальнейшая настройка крайне удобна при помощи скриптов PowerCLI.
Крутил у себя, хотел сделать загрузку по сети всего и вся, но т.к. с кастомизированными виндовыми образами тут сложновато (WDS оно вряд ли заменит), то линуху ставим по-старинке нарезая компакты:(
ОтветитьУдалитьвот с пятеркой возникли проблемы:/
ОтветитьУдалитьFlavor не создается.. образ при этом, лежит локально на UDA:/
У меня пятерка заработала влет, правда с cifs шары. Вы обновление для поддержки пятерки ставили на uda?
ОтветитьУдалитьс этим получилось разобраться..
ОтветитьУдалитьпытался изначально делать новый локальный сторадж и добавлять его в UDA. но потом плюнул, увеличил тот который был у него изначально (/local) и оттуда все заработало.
правда на сайте несколько напрягает отсутствие документации :/ интересовало прибивание к мак адресам, но как их там прописывать в форме - не понятно. с какими разделителями имеется ввиду.. понятно, что можно поправить конфиг dhcpd.. но хотелось бы через вебморду :/
День добрый, подскажите пожалуйста. Я зашел на веб морду, делаю Storage –> New, вписываю название esx, Type - Windows Network Share (заведомо расшарил папку esx4 на винде) hostname/ip - 192.168.0.233, Sharename esx4, галочка на Mount on boot.
ОтветитьУдалитьВ Username вбиваю локальную учетку и пас от нее. Проблема в следующем при нажатии Apply выходит следующая ошибка mount: block device //192.168.0.233/esx4 is write-protected, mounting read-only
mount: cannot mount block device //192.168.0.233/esx4 read-only
Подскажите пожалуйста как можно это вылечить?