Что это:
Auto Deploy – это cервер дистанционной загрузки ESXi по PXE
Зачем он нужен :
Для упрощения ввода в эксплуатацию новых серверов, обновления существующих.
Как это работает:
Для того, чтобы ввести новый сервер в эксплуатацию, нам не надо устанавливать на него ESXi.
Нам надо:
1) Включить этот сервер, биос должен быть настроен на загрузку по сети.
2) Дождаться, пока на этом сервере не запуститься ESXi, и он не будет автоматически добавлен в vCenter.
3) Создать файл ответов для профиля настроек этого сервера – всякие IP адреса, имя, и прочее уникальное.
После этого при каждой перезагрузке пункт 2 будет повторятся, но уже без нашего вмешательства к серверу будут применяться настройки.
Заменив только образ на сервере AutoDeploy, мы получим обновленные сервера ESXi просто после их перезагрузки, так как стартовать они будут с этого обновленного образа.
Выводы
Прикольная штука. Работает. Нареканий, на удивление, не вызвало.
Однако с использование в производственной среде пока непонятно – смущает зависимость возможности старта всех(!) серверов ESXi от машин vCenter и AutoDeploy.
Получается, они должны работать или на отдельном кластере vSphere, или на железном сервере, рядом с которым стоит резервный железный сервер.
Интересно послушать ваши мнения, особенно тех, в чем ведении десятки и сотни серверов ESXi.
Настройка VMware Auto Deploy
Шаги настройки этого продукта.
1) Устанавливаем Auto Deploy под Windows.
По идее, правильно это делать на отдельную машину, однако у меня почему-то не получилось – выдавало ошибки о невозможности сгенерить ssl. В итоге поставил на машину с vCenter.
Кстати, на vCenter Appliance служба Auto Deploy уже предустановлена.
После успешной установки появляется пиктограмма на странице Home в клиенте vSphere
2) Устанавливаем доп-софт, настраиваем DHCP и TFTP
- PowerCLI
- какой-нибудь TFTP-сервер
- нужен будет DHCP
Я, для быстрого теста, в качестве и DHCP и TFTP использовал
http://tftpd32.jounin.net.
Также TFTP и DHCP требует специальной настройки:
Пройдя по иконке Auto Deploy в клиенте vSphere, мы получим возможность загрузить файл – TFTP Boot.
Следует загрузить этот архив, и распаковать в папку, выбранную для доступности по TFTP.
Файл “undionly.kpxe.vmw-hardwired” следует указать как загрузочный образ.
В настройках DHCP следует прописать параметры:
66 – адрес сервера TFT
67 – имя файла загрузки (undionly.kpxe.vmw-hardwired)
(для серверов с EFI вместо BIOS файл вроде другой).
Теперь в данном сегменте сети сервера могут загрузиться по PXE, однако загружается только предварительная оболочка, которая ругается что нет образа ESXi для загрузки его на данный сервер.
3) Настраиваем Auto Deploy
Нам потребуется PowerCLI и в нем открытая сессия к vCenter.
Кроме этого, потребуется дистрибутив ESXi (не в виде iso, а в виде zip. Т.н. software depot, загружается там же, где и iso-вариант).
Обратите внимание – этот дистрибутив можно изменить под себя, обновив или добавив драйверы под свое железо, или такие компоненты как, например,
виртуальная циска. См. подробности тут –
Image builder. В моих примерах как раз дистрибутив с параметрами из этого поста.
После этого:
## Регистрация дистрибутива ESXi
Add-EsxSoftwareDepot D:\depot\esxi5.0.0-with_LSI-469512.zip
## Список вариантов его загрузки, они могут отличаться модулями
Get-EsxImageProfile
## аплоад дистрибутива на AutoDeploy. Name - на свое усмотрение.
## Item – указание базовых настроек этого дистрибутива.
## Во первых - Image Profile, см. предыдущую команду.
## Т.е. мы можем указывать, какие модули должны или не должны быть загружены.
## Далее - контейнер в vCenter, куда следует поместить свежезагруженный хост.
## Это объект типа Datacenter\Cluster\Folder.
## Pattern- признак сервера, на котором запускать этот дистрибутив с этим профилем
## Вместо паттерна для выборки серверов можно указать –AllHosts
New-DeployRule –Name “FirstBoot” –Item “With_LSI”,ClusterAutoDeploy,2AutoDeploy –Pattern “model=VMware Virtual Platform”
## Регистрация правила, созданного ранее
Add-DeployRule -DeployRule FirstBoot
В командлете New-DeployRule параметром –Item мы привязываем к стартующим с этого правила серверам контейнер в vCenter (datacenter, cluster, folder) куда они должны быть помещены, Image profile, host profile.
Кроме как для самого первого сервера указывать, скорее всего, будем сразу несколько параметров, как в моем примере:
–Item “With_LSI”,ClusterAutoDeploy,2AutoDeploy
- “WithLSI” это Image Profile
- ClusterAutoDeploy – имя моего кластер HA\DRS
- 2AutoDeploy – название профиля настроек, host profile. У вас его пока нет, поэтому в самый первый раз его не указывайте, укажем позже.
Теперь сервера начнут загружаться в ESXi. И даже автоматически будут зарегистрированы в vCenter, в тот Datacenter, Cluster или Folder, который был указан при создании правила (у меня это кластер).
Какие паттерны, признаки серверов, доступны:
PS C:\> get-vmhostattributes -vmhost "esxi01.vm4ru.local”
name value
---- -----
vendor VMware, Inc.
uuid 423fecf3-eea1-a89b-5213-aeea6f50bf60
model VMware Virtual Platform
gatewayv4 192.168.10.100
ipv4 192.168.10.51
hostname esxi01
domain vm4ru.local
ipv4 192.168.111.1
oemstring Welcome to the Virtual Machine
asset No Asset Tag
oemstring [MS_VM_CERT/SHA1/27d66596a61c48dd3dc721...
mac 00:50:56:bf:03:1b
mac 00:50:56:bf:03:1c
mac 00:50:56:bf:03:1d
mac 00:50:56:bf:03:1e
Как видите, мы можем довольно точно назначать тот или иной образ ESXi на сервера по критериям. По производителю, по mac адресу, и пр.
4) Настройка автоматической настройки серверов
Итак, первый сервер стартовал и даже был добавлен в vCenter.
Однако – сервер никак не настроен.
С учетом того, что ESXi был загружен в память по сети, даже если что-то настроить руками – эти настройки пропадут после перезагрузки.
Поэтому для настройки серверов, разворачиваемых при помощи Auto Deploy используется механизм Host Profiles, параметры которого сохраняются в базе vCenter.
Нам потребуется настроить этот первый сервер:
- Виртуальные коммутаторы, интерфейсы VMkernel.
- iSCSI, NFS
- Syslog
- NTP
- и пр.
Теперь создадим с этого сервера профиль, и сразу на этот же сервер его и назначим.
Проверим на соответствие.
Проверка покажет расхождения в конфигурации, нам потребуется создать файл ответов (Update answer file).
После прохождения мастера – Check answer file, затем check complince.
Значение в столбце Answer File Status должно стать Complete, настройки сервера должны стать соответствующими этому профилю.
Все. Теперь при перезагрузках сервер будет не только загружать на себя ESXi, но и конфигурацию подтягивать.
На этом этапе мы имеем первый сервер, и этот сервер загружается по сети, и настраивается профилем настроек.
5) Настройка загрузки второго и всех следующих серверов:
Надо изменить правило AutoDeploy так, чтобы оно еще профиль настроек привязывало к загружаемым серверам. Допустим, вы делали по моему примеру, и создали правило командой:
New-DeployRule –Name “FirstBoot” –Item “With_LSI”,ClusterAutoDeploy –Pattern “model=VMware Virtual Platform”
Удалим это правило командой:
Remove-DeloyRule “FirstBoot” –delete
Создадим заново, но теперь указав и ранее созданный профиль настроек:
New-DeployRule –Name “ProductionRule” –Item “With_LSI”,ClusterAutoDeploy,2AutoDeploy –AllHosts
Ну и активируем:
Add-DeployRule -DeployRule ProductionRule
Все.
Теперь любой новый сервер, будучи загруженным в первый раз, сразу попадает в кластер “ClusterAutoDeploy”, и на него назначается профиль настроек “2AutoDeploy”.
Нам остается нажать “Update answer file”, указать уникальные параметры типа IP адресов и т.п., и все – сервер готов к эксплуатации, его настройки после каждой перезагрузки будут подтягиваться из этого файла ответов.
Обновление образа
Допустим, у нас есть желание заменить дистрибутив ESXi, с которого стартуют сервера.
Например, мы хотим использовать VMware HA – и нам имеет смысл добавить его агента сразу в образ.
Для этого нам потребуется следующие команды:
## Добавление источника пакетов
Add-EsxSoftwareDepot http://<IP вашего vCenter>:80/vSphere-HA-depot
## Создание нового профиля образа ESXi
New-EsxImageProfile -CloneProfile ESXi-5.0.0-469512-standard -name “ESXiHA”
## Добавление в новый профиль агента HA – Fault Domain Manager
Add-EsxSoftwarePackage -ImageProfile “ESXiHA” -SoftwarePackage vmware-fdm
## Удалим старое правило старта
Remove-DeployRule “ProductionRule” –delete
## Создание нового правила AutoDeploy, на основе нового профиля
New-DeployRule –Name “ProductionRule” –Item “With_LSI”,ClusterAutoDeploy,2AutoDeploy –AllHosts
Add-DeployRule -DeployRule “ProductionBootRule”
Более подробно про обновление образа именно на новую версию ESXi тут –
Updating your ESXi host using VMware vSphere 5 Autodeploy.
Еще про CoreDump надо будет написать.
UPD.
Troubleshooting Auto Deploy Rules.
По мотивам
раз,
два,
три.