пятница, 10 апреля 2009 г.

[VMware VI Wiki] Обновлено: PXE загрузка ESXi

Пользователь Михаил Михеев обновил страницу PXE загрузка ESXi. Изменения указаны ниже.

Цветовой ключ: Вставка | Удаление

Конфигурация официально не поддерживаемая, но вкусная.

Переведенных инструкций нет, только пара внятных ссылок:

PXE Booting a Stateless ESXi Hypervisor and a Glimpse of the Future.

Stateless Hypervisor. PXE Boot ESXI and have configuration saved upon reboot.

отсюда.


В ESXi 3.5 Update 4 была заявлена экспериментальная поддержка PXE загрузки.

Я заинтересовался, попробовал - и у меня получилось.

Что я делал:

1) В качестве сервера загрузки по сети я использовал готовое виртуальное решение - UDA, Ultimate Deployment Appliance. Про нее я не раз писал, и даже когда то налабал инструкцию.

  • Скачал(я использовал версию под Workstation)
  • Запустил.
  • Дал ей нужный IP адрес.

    Для этого надо залогиниться в локальную командную строку - root/test.
    Открыть конфиг

    nano -w /etc/sysconfig/network-scripts/ifcfg-eth0

    поправить IP

    После этого:

    /etc/sysconfig/network-scripts/ifdown eth0

    /etc/sysconfig/network-scripts/ifup eth0
(кстати, запоздалое спасибо Денису Березовскому)

  • Теперь зашел на этот IP браузером, залогинился в веб интерфейс - admin/admin.

    В веб интерфейсе необходимо настроить DHCP сервер(если нас не устраивают настройки по умолчанию) .

2) Качаем ESXi 3.5 Update 4 и syslinux.
Из исошника ESXi распаковываем файлы
# mboot.c32
# binmod.tgz
# boot.cfg
# cim.tgz
# environ.tgz
# license.tgz
# oem.tgz
# vmkernel.tgz
Я пользовался сначала winrar - для распаковки .dd(как описано тут), потом .dd открывал шароварным winImage и извлекал файлы из списка.

из дистрибутива syslinux распаковываем файлы(выбираем .zip вариант для скачивания)

com32\menu\menu.c32
core\pxelinux.0



3) Теперь надо распакованные файлы закинуть внутрь UDA'ы.
Я пользовался WinSCP.

Все полученное в п.2 копируем в папку /var/public/tftproot
Обратите внимание, что pxelinux.0 там уже есть - его надо перезаписать.



Теперь, в папке /var/public/tftproot/pxelinux.cfg редактируем файл default(создаем если его нет) - его содержимое заменяем на следующее:

default menu.c32
menu title PXE Boot VMware ESXi
timeout 100

label ESXi
menu label Boot VMware ESXi
kernel mboot.c32
append vmkernel.gz --- binmod.tgz --- environ.tgz --- cim.tgz
ipappend 2

label Hard
menu label Boot from local drive
localboot 0


4) запускаем целевую машину(у меня это была виртуалка) - и загружаем ее по сети. Видим вот такую картинку



5) В общем то, все:

так как я делал это из простого интереса, что тут надо доделать для реального использования:

  • Настроить DHCP на выдачу конкретного IP каждому ESXi по мак адресу. По маку его управляющего интерфейса, который виртуальный.
  • Сделать подгрузку конфига, уникального для каждого ESXi.
    Что примерно для этого надо:

    1) создать в pxelinux.cfg файл с именем = мак адрес уже физической сетевушки ESXi, через которую идет загрузка

    2) Забекапить конфиг для каждого ESXi, можно попробовать вот такой командой

    vicfg-cfgbackup --server esxihost2.local.com -s /tmp/host2 --username root


    Это команда RCLI, который надо будет скачать - ссылка на RCLI.

    3) В файлике /tmp/host2 должен оказаться бекап конфигa ESXi.
    Скопируем его в корень tftp - у нас это /var/public/tftproot и п.3
    Переименуем его в configBundle.tgz

    Теперь конфиг в pxelinux.cfg поменяем на такой:

    ..
    label ESXi
    menu label Boot VMware ESXi
    kernel mboot.c32
    append vmkernel.gz --- binmod.tgz --- environ.tgz --- cim.tgz --- configBundle.tgz
    ..



Т.е. должно получиться. что в tftproot у нас лежит конфиг для каждого ESXi, а в tftproot/pxelinux.cfg - файл загрузки по сети с именем = мак адресу каждого ESXi сервера, в которых прописана подгрузка соответствующих конфигов.

Я это не тестировал, так что может и не заработать влет.

Перейти на страницу: PXE загрузка ESXi


-------------
Было запрошено уведомление с Сайтов Google. Отменить подписку можно в любое время.
Не хотите получать уведомления о собственных изменениях? Измените настройки.

Комментариев нет: