пятница, 8 июля 2011 г.

Загрузка и установка VMware ESXi по сети

Вариант загрузки и установки ESXi по сети может пригодиться, если вам требуется в короткие сроки развернуть большое количество однотипных серверов, не оснащенных CD приводами (например, блейд-серверы), а также автоматизировать однотипные действия, вроде принятия лицензионного соглашения или установки пароля администратора. При наличии уже развернутого vCenter Server можно воспользоваться VMware PXE Manager for vCenter, однако, если его нет - придется делать все самим.

Процесс загрузки и установки сервера по сети включает в себя следующие этапы:
  1. При запуске сервера, управление передается загрузчику в сетевом адаптере (PXE - Preboot eXecution Environment).
  2. PXE посылает широковещательный запрос DHCP серверам сети с целью получения сетевых настроек.
  3. Помимо IP адреса и маски подсети, DHCP сервер отправляет дополнительные параметры - адрес TFTP сервера и путь к файлу загрузчика, который следует запустить.
  4. Загрузчик (в нашем случае pxelinux) в соответствии с настройками, заданными в конфигурационном файле (default), загружает ядро, также используя протокол TFTP.
  5. Наконец, ядро запускает процесс автоматической установки ESXi с параметрами из kickstart файла, который может располагаться, например, на FTP или HTTP сервере.
В качестве примера рассмотрим процесс подготовки сервера Windows Server 2008 R2 для развертывания с его помощью VMware ESXi 4.1 Update 1.

Подготовка дистрибутива
Загрузите последнюю версию Syslinux с сайта (на момент написания - syslinux-4.04.zip).

Скопируйте содержимое дистрибутива VMware ESXi 4.1 Update 1 в папку на сервере (например, 'C:\FTPRoot'). В эту же папку скопируйте три файла из архива Syslinux: pxelinux.0 (расположен в ".\core\"), mboot.c32 (расположен в ".\com32\mboot\") и menu.c32.(расположен в ".\com32\menu\") Подтвердите замену файлов.

Создайте папку и назовите ее pxelinux.cfg, скопируйте в нее файл isolinux.cfg из дистрибутива ESXi и переименуйте его в default (без расширения).

Настройка сервера
Для загрузки по сети нам понадобятся следующие службы:
  • TFTP;
  • DHCP;
  • DNS;
  • FTP.
Необязательно размещать все службы на одном сервере, однако, в тестовых целях вполне можно и совместить их.

В качестве TFTP сервера вы можете использовать встроенную службу Windows Deployment Services. Пример настройки TFTP сервера приведен в данной статье. В качестве альтернативного TFTP сервера можно использовать TFTPD. TFTPD проще в установке, а также может выступать в роли DHCP сервера.

При настройке TFTP сервера в качестве корневой укажите ранее созданную папку, в которую был скопирован дистрибутив ESXi.

Если требуется - установите DHCP сервер. Создайте резервацию для MAC адреса адаптера будущего ESXi сервера, с которого будет осуществляться загрузка по сети. Использование резервации вместо задания параметров на уровне всего диапазона адресов или сервера DHCP является хорошей идеей, дабы ненароком не запустить установку ESXi на других компьютерах, настроенных на загрузку по сети.

Обязательно задайте следующие DHCP опции.
  • 060 PXE Client - в качестве значения укажите: PXE Client.
  • 066 Boot Server Host Name - в качестве значения укажите IP адрес или DNS имя TFTP сервера.
  • 067 Bootfile Name - в качестве значения укажите: pxelinux.0.

В качестве примера по настройке опций DHCP можете ознакомиться с этой статьей.

DNS сервер может понадобиться, если вы планируете указывать DNS имена серверов вместо IP адресов в параметрах DHCP и в конфигурационных файлах.

Установите FTP сервер, используя мастер Add Roles Wizard.

Откройте консоль управления IIS и создайте новый FTP сайт.

На вкладке Site Information задайте произвольное имя (FTP site name), а в качестве корневой директории FTP сайта (Physical path) укажите ранее созданную папку с дистрибутивом (например, "C:\FTPRoot"). Нажмите Next.

На вкладке Binding and SSL Settings отключите требование использования SSL при подключении (No SSL). Нажмите Next.

На вкладке Authentication and Authorization Information разрешите анонимным пользователям аутентифицироваться на сайте, включив Authentication | Anonymous, а также загружать файлы Allow access to: Anonymous users и Permissions | Read. Нажмите Finish для завершения мастера и создания сайта.

Редактирование kickstart файла
При редактировании текстовых файлов из Windows обратите внимание на следующие особенности.

В Windows и в ESXi используются разные форматы перевода строк. Из-за этого файл, сохраненный в Windows, в ESXi будет отображаться вот так:

Это может стать причиной разнообразных ошибок при выполнении скриптов из kickstart файла. Для решения данной проблемы вы можете:
  1. Использовать для загрузки kickstart файла протокол FTP.
  2. Использовать сторонний текстовый редактор, который позволяет настраивать формат переносов (например, Notepad++).
В текстовом редакторе создайте файл ks.cfg следующего содержания:
vmaccepteula
rootpw P@ssw0rd
autopart --firstdisk=local
install url ftp://<SERVERNAME>
network --bootproto=dhcp --device=vmnic0 --vlanid=0 --addvmportgroup=0
reboot
где <SERVERNAME> соответствует имени или IP адресу FTP сервера, на котором расположен дистрибутив.

Подробнее о параметрах в файле ks.cfg можно прочитать в руководстве по установке ESXi.

Сохраните файл в корневую папку FTP сервера.

Отредактируйте файл default в папке pxelinux.cfg, добавив в него параметр, указывающий на расположение kickstart файла, например так:
default menu.c32

menu title VMware VMvisor Boot Menu

timeout 80
label ESXi Installer
menu label ^ESXi Installer
kernel mboot.c32
append vmkboot.gz ks=ftp://<SERVERNAME>/ks.cfg --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz
labelBoot from local disk
menu label ^Boot from local disk
localboot 0x80
Где <SERVERNAME> соответствует IP адресу или DNS имени вашего FTP сервера, на котором располагается kickstart файл.

Обратите внимание, что параметр ks= следует указывать сразу за vmkboot.gz, в противном случае, вы можете получить сообщение об ошибке.

Проверка работы
Для проверки работоспособности решения, достаточно запустить целевой сервер в качестве загрузочного устройства выбрать сетевой адаптер. Если все было сделано правильно, то через некоторое время вы увидите привычное окно установщика ESXi, а буквально через пару минут, и сам установленный ESXi.

1 комментарий:

  1. А есть возможность не устанавливать, а просто запустить ?

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