суббота, 10 сентября 2011 г.

UDA, Ultimate Deployment Appliance


Есть такая штука – UDA, Ultimate Deployment Appliance.
Это – виртуальная машина, готовая быть сервером дистанционного развертывания.
И сейчас я расскажу как ее можно применить для решения моей специфической задачи.

 Введение


Есть десяток однотипных серверов. На них необходимо регулярно переустанавливать ОС – в моем конкретном случае преимущественно разные версии ESX\ESXi, хотя бывают нюансы. Притом хочется сразу и предварительные настройки делать.
Конечно, как вариант можно снять образ с каждого сервера – но это означает как минимум:
  • потратить немало места
  • получить усложнения при обновлении состояния образа
Поэтому я попробовал другой вариант – установка по сети, с файлом ответов.
К счастью, есть специализированное решение – UDA, Ultimate Deployment Appliance.
uda01_01

Первоначальная настройка

Идем сюда 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.
uda02_01

Ну и настройка внешнего 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.
Заполняем поля:
uda03_01

Затем нам следует “зарегистрировать” дистрибутив ОС, которую планируем устанавливать через vMA. Идем в пункт OS –> New.
На первом шаге указываем “Flavor Name” – метка дистрибутива для UDA, и тип гостевой ОС.
uda04_01
На втором шаге – выбираем образ iso с ранее зарегистрированного хранилища (в моем случае это ранее описанный SMB-сетевой ресурс).
Все.
Последний шаг – создание шаблона. Пункт Templates меню веб-интерфейса, –> New.
Там мы выберем ранее зарегистрированный дистрибутив (Flavor), и имя шаблона. Имя шаблона затем мы увидим при загрузке сервера-жертвы, так что лучше имя давать говорящее.
Важный шаг – после создания выделит свежесозданный шаблон, и нажать кнопку Configure – > Advanced. В этом пункте меню нам доступен для редактирования файл ответов.
Информацию по файлам ответов и их параметрам можно найти в документации
А еще одна интересная возможность – создания “подшаблонов”, Subtemplates.
Это когда мы в файле ответов шаблона используем переменные вместо уникальных параметров, таких как имя ОС и 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 в этом сегменте сети я вижу меню – список шаблонов:


uda07_01


Выбрав меню с подшаблонами я увижу их список:


uda09_01


И через несколько минут после выбора нужного подшаблона я имею готовый к работе сервер:


uda10_01


Ну а дальнейшая настройка крайне удобна при помощи скриптов PowerCLI.

5 комментариев:

  1. Крутил у себя, хотел сделать загрузку по сети всего и вся, но т.к. с кастомизированными виндовыми образами тут сложновато (WDS оно вряд ли заменит), то линуху ставим по-старинке нарезая компакты:(

    ОтветитьУдалить
  2. вот с пятеркой возникли проблемы:/
    Flavor не создается.. образ при этом, лежит локально на UDA:/

    ОтветитьУдалить
  3. У меня пятерка заработала влет, правда с cifs шары. Вы обновление для поддержки пятерки ставили на uda?

    ОтветитьУдалить
  4. с этим получилось разобраться..
    пытался изначально делать новый локальный сторадж и добавлять его в UDA. но потом плюнул, увеличил тот который был у него изначально (/local) и оттуда все заработало.

    правда на сайте несколько напрягает отсутствие документации :/ интересовало прибивание к мак адресам, но как их там прописывать в форме - не понятно. с какими разделителями имеется ввиду.. понятно, что можно поправить конфиг dhcpd.. но хотелось бы через вебморду :/

    ОтветитьУдалить
  5. День добрый, подскажите пожалуйста. Я зашел на веб морду, делаю 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
    Подскажите пожалуйста как можно это вылечить?

    ОтветитьУдалить