Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как с помощью сетевой загрузки PXE выполнить автоматическую установку гипервизора Citrix Xen

Оригинал: How to Network Boot (PXE) an Automated Installation of Citrix Xen
Автор: Aviad Raviv
Дата публикации: 13 мая 2013г.
Перевод: Н.Ромоданов
Дата перевода: апрель 2014 г.

Хотелось ли вам когда-либо установить ваш гипервизор простым нажатием кнопки без утомительного поиска установочного диска и без одних и тех же ответов на скучные вопросы, связанные с установкой? В настоящей статье объясняется, как с помощью сетевой загрузки PXE автоматически установить гипервизор Citrix-Xen.

Обзор

Мы показали вам, что такое PXE и как с помощью пакета FOG вы можете легко установить сервер. В этом руководстве мы снова расширим базовые возможности отличной платформы FOG и добавим пункт меню, позволяющий автоматически устанавливать сервер Citrix-Xen.

Точно также, как и в руководстве по установке живой системы Ubuntu с сервера FOG, процедура установки не будет чисто сетевой установкой PXE. Она начинается как загрузка PXE, когда с помощью PXE мы создаем базовое «ядро», «начальный диск ram» (initrd) & другие необходимые файлы, но оставшаяся часть процедуры будет получать необходимые файлы через протокол HTTP.

Эта процедура упоминается в руководстве по Citrix-Xen, но в том виде, в каком мы постараемся ее дать вам сегодня, она, в действительности, не будет простым копированием предложенной процедуры.

В общем, в этом руководстве будет сделано следующее:

  1. Файлы инсталляционного компакт диска делаются доступными через HTTP.
  2. Создается файл автоматизированных ответов.
  3. Добавляются файлы PXE + пункт меню.

Не беспокойтесь, поскольку все это мы делаем на основе FOG, то сделать это будет достаточно просто ...

Давайте перейдем к делу.

Установка компакт дичка через HTTP

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

Поскольку мы хотим сохранить в процессе установки возможность подкачки дополнительных пакетов, мы скопируем инсталляционные файлы и не будем монтировать образ ISO как устройство loopback так, как это мы делали в руководстве по Ubuntu.

Создайте каталог, в котором будут находиться инсталляционные файлы:

mkdir -p /var/www/xenserver61/

Скопируйте весь инсталляционный компакт-диск в этот каталог.

Примечание: Вы можете создать столько каталогов, сколько захотите. Например, у меня был каталог для каждой крупной версии Citrix-Xen, начиная с версии 5.0.

Файл автоматических ответов (дополнительная возможность)

Этот этап отмечен как дополнительная возможность, поскольку вы, возможно, не захотите автоматизировать процедуру установки. Если вы решили не автоматизировать эту процедуру, то вам при установке придется самостоятельно отвечать на вопросы, причем с одним важным различием: когда буден задан вопрос об источнике инсталлятора, то вам следует выбрать «HTTP» вместо «local media» и вручную указать адрес.

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

Создать файл ответов с помощью следующей команды:

nano /var/www/xen-answerfile-61

Его содержимое должно выглядеть следующим образом:

<?xml version="1.0"?>
<installation mode="fresh" srtype="lvm">
<primary-disk>sda</primary-disk>
<keymap>us</keymap>
<root-password>password</root-password>
<source type="url">http://192.f.o.g/xenserver61/</source>
<ntp-server>192.n.t.p</ntp-server>
<admin-interface name="eth0" proto="dhcp" />
<timezone>Asia/Jerusalem</timezone>
</installation>

Здесь вам нужно будет в соответствии с вашими требованиями изменить timezone (часовой пояс), root-password (пароль для root) и source url (url источника).

Файлы PXE

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

Чтобы сделать это, создайте с помощью следующей команды каталог TFTP, в котором будут храниться эти файлы:

mkdir -p /tftpboot/howtogeek/xenserver/xen61

Скопируйте файлы с компакт-диска или каталога www с помощью следующих команд:

cp -av /var/www/xenserver61/boot/xen.gz /tftpboot/howtogeek/xenserver/xen61/
cp -av /var/www/xenserver61/boot/vmlinuz /tftpboot/howtogeek/xenserver/xen61/
cp -av /var/www/xenserver61/install.img /tftpboot/howtogeek/xenserver/xen61/
cp -av /var/www/xenserver61/boot/pxelinux/mboot.c32 /tftpboot/howtogeek/xenserver/xen61/

Примечание: последний файл, который мы скопировали, модуль mboot.c32, необходим для совместимости с версией PXElinux для FOG. Если он отсутствует, то процедура загрузки выполняться не будет. Модуль можно получить из пакета Syslinux.

Меню PXE

В исходном руководстве по пакету FOG мы намекнули, что в будущем мы, возможно, добавим подкаталоги, и оставили для этого файл меню template. Давайте с помощью копирования файла template создадим еще одно меню:

cp -av /tftpboot/howtogeek/menus/template.cfg /tftpboot/howtogeek/menus/xen.cfg

Отредактируем его с помощью команды:

nano /tftpboot/howtogeek/menus/xen.cfg

Добавим к его содержимому следующее:

label Citrix XenServer 6.1
#MENU DEFAULT
#MENU PASSWD
kernel xenserver/xen61/mboot.c32
append howtogeek/xenserver/xen61/xen.gz dom0_max_vcpus=4 dom0_mem=1024M console=vga --- 
howtogeek/xenserver/xen61/vmlinuz xencons=hvc console=hvc0 console=tty0 
answerfile=http://192.f.o.g/xen-answerfile-61 install --- 
howtogeek/xenserver/xen61/install.img

Здесь вам для получения файла ответов придется отредактировать адрес IP так, чтобы он был адресом вашего сервера FOG.

Примечание: директивы DEFAULT и PASSWD закомментированы, поскольку они подходят не для всех ситуаций. Если их раскомментировать, установка ОС может стать весьма разрушительным средством, если до них доберутся пользователи...

Теперь добавим к записи меню, используемой по умолчанию, только что созданное меню с помощью следующей команды:

nano /tftpboot/pxelinux.cfg/default

Добавим к его содержимому следующее:

LABEL Xen
MENU LABEL Xen
KERNEL vesamenu.c32
APPEND howtogeek/menus/xen.cfg

Примечание: В данном случае местоположение имеет значение. Я предлагаю вам не помещать этот текст ниже метки fog.local.

Вот и все, у вас все должно быть установлено... Наслаждайтесь.