Что это:
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
Пройдя по иконке 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. У вас его пока нет, поэтому в самый первый раз его не указывайте, укажем позже.
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.
По мотивам раз, два, три.
Мощно. Спасибо.
ОтветитьУдалитьТолько жаль, что все эти вкусности в Enterprise plus.
---
Deshifrator
Миша, ради секспиремента отключи сетку... минут на пять... а потом включи! ;-)
ОтветитьУдалитьbtw: на удивление за циску нам ничего не было... ;)
хм. сейчас лениво стенд запускать, но если ты имеешь в виду сетку AutoDeploy - я уверен что ничего не произойдет. ESXi и с вытащенной флешкой живет месяцами, и тут ему AutoDeploy только для старта нужен.
ОтветитьУдалитьбез этой магии не работало что ли? нахрена все усложнять и так запутанную виртуализацию на вмарь. ставил и ее без автодеплой, тупо поднимая tftp+dhcp и любой дистр будет грузиться по PXE. честно глупые эти фишки делает, такое ощущения что они заняты с чего еще состричь капусту, достали уже со своими ценами, дороже чем само железо стало
ОтветитьУдалитьВ данном случае ESXi загружается прямо в оперативную память. Это позволяет избежать зависимостей от железа, флешек, к примеру.
ОтветитьУдалитьОтключение сети на это также не влияет, т.к. ESXi загрузился и работает в памяти, ему больше ничего не нужно.
Схема tftp+dhcp все же инсталлирует ESX на хост, в данном случае же ничего и никуда не инсталлируется.
Можно ткнуть на инфу про инсталл? А то скоро очень много хостов будет.
УдалитьСхема tftp+dhcp не только инсталлирует, но и загружает ОС по сети, установленной на сервере. Это скорее для тех кто не очень в системном администрировании, так называемых "эникейшиков"
ОтветитьУдалитьпожалуйста, без оскорблений.
ОтветитьУдалитьДобрый день!
ОтветитьУдалитьХотел бы узнать, что делать, если autodeploy перестанет работать? Как обеспечивать отказоустойчивость этого сервиса?
пока кроме бекапа (образом?) нечего посоветовать.
ОтветитьУдалитьхотя развернуть AutoDeploy с нуля несложно - если сохранен правильный образ ESXi, и скрипт с командами по его настройке в AutoDeploy (те что описаны в посте). Ну и vCEnter должен быть жив и профили настроек сохранены - т.е. бекап БД vCenter требуется.
В вопросе ув.Admin`a мне видится скорее иная подоплёка - AutoDeploy-server как SPOF.
ОтветитьУдалитьЕсли крякнет стартовый диск/флешка хоста Сферы, то (после перезагрузки/шатдауна) не поднимется только этот хост.
Если же крякнет автодеплой-сервер, то ни один хост (из тех, что стартуют с данного сервера) не поднимется...
В первом случае "осиротевшие" VM`ки можно стартовать на других хостах. Во втором... ну, вы поняли... :)
С уважением,
Umlyaut.
ну это я и в посте указал.
ОтветитьУдалитьа в комментарии имел в виду что кроме бекапа ничего и нету.
Прошу прощения - не понял, что это был коммент автора поста и блога. :)))
ОтветитьУдалитьПривык, что Вы - michigun (в т.ч. и тут), поэтому подумал, что "это какой-то другой Гомер"(с) :)))
C уважением,
Umlyaut.
P.S. По сути проблемы мог бы помочь MSFC на недорогом железе, но... а оно того стОит - подпирать фрактальными костылями?
Еще для view что-то подобное сделали бы. Чтобы вместо использования windows, можно было по pxe загрузить систему с клиентом view.
ОтветитьУдалитьafaik есть такие сборки. не разбирался, но упоминания встречал.
ОтветитьУдалить