Цель: автоматизировать установку XenServer по сети с использованием PXE и HTTP как источника установочных файлов.
Компоненты: веб‑каталог с файлами установки, файл ответов для без вмешательства, файлы для TFTP, конфигурация меню PXE.
Предпосылки: настроенный FOG или другой PXE/TFTP/HTTP‑сервер.
Важно: исходная PXE‑фаза загружает kernel и initrd, а основная часть установки затем загружается по HTTP.
Что требуется подготовить
Веб‑сервер с доступом к каталогу для установочных файлов (HTTP).
Файл ответов (answerfile) в форматe XML для автоматической установки.
Копии необходимых файлов в TFTP каталоге (xen.gz, vmlinuz, install.img, mboot.c32).
Меню PXE с записью для запуска автоматизированной установки.
Установка CD через HTTP
Мы будем копировать содержимое CD/DVD в каталог веб‑сервера. Такой подход позволяет при необходимости интегрировать дополнительные пакеты (slip‑streaming).
Создайте каталог для файлов установки:
mkdir -p /var/www/xenserver61/
Скопируйте все файлы с установочного диска в этот каталог. Можно иметь отдельные каталоги для разных версий, например /var/www/xenserver60/, /var/www/xenserver61/ и т.д.
Примечание: Если вы используете FOG, веб‑сервер уже работает, и вы можете разместить файлы туда.
Файл ответов для автоматической установки (опционально)
Файл ответов позволяет выполнять установку без вмешательства. Если вы не хотите автоматизировать процесс, при запросе источника установки выберите “HTTP” и укажите адрес вручную.
Создадим файл ответов в корне веб‑сервера, чтобы упростить доступ:
Измените timezone, root‑password и source URL под вашу сеть и требования безопасности.
Совет: храните пароли в защищённом месте. Рассмотрите использование временного пароля и последующего скрипта для смены корневого пароля при первом запуске.
Файлы для TFTP
Для загрузки по PXE понадобятся отдельные файлы из ISO в директории TFTP. Создайте нужную структуру:
Важно: модуль mboot.c32 должен быть совместим с версией PXELinux, используемой в вашей установке FOG. Несовместимость приведёт к проблемам загрузки. При необходимости получите подходящую версию из пакета Syslinux.
Меню PXE
Скопируйте шаблон меню и создайте отдельный файл для Xen:
Отредактируйте URL файла answerfile и IP‑адреса под вашу инфраструктуру.
Затем добавьте пункт в основное меню PXE:
nano /tftpboot/pxelinux.cfg/default
И добавьте запись:
LABEL Xen
MENU LABEL Xen
KERNEL vesamenu.c32
APPEND howtogeek/menus/xen.cfg
Примечание: порядок пунктов важен. Не размещайте новую запись ниже меток, относящихся к fog.local, если хотите, чтобы она была видна сразу.
Чеклист перед запуском
Файлы ISO скопированы в /var/www/xenserver61/.
answerfile размещён и URL корректен.
xen.gz, vmlinuz, install.img, mboot.c32 присутствуют в TFTP.
mboot.c32 совместим с вашей версией PXELinux.
Конфигурация меню PXE обновлена и сохранена.
Тестовое устройство настроено на PXE‑загрузку.
Рекомендации по безопасности
Храните файл ответов вне публичного доступа или ограничьте доступ по IP/аутентификации.
Не оставляйте в answerfile реальный root‑пароль. Используйте временный пароль и скрипт смены при первом входе.
Ограничьте права на каталоги /var/www и /tftpboot так, чтобы только нужные службы могли их читать.
Логи установки периодически проверяйте на предмет несанкционированных запусков.
Отладка и типичные ошибки
PXE останавливается до загрузки kernel — проверьте TFTP‑доступ и права на файлы.
mboot.c32 сообщает о несоответствии версии — скачайте корректную версию из Syslinux и замените модуль.
При установке не удаётся скачать файлы по HTTP — убедитесь, что URL в answerfile корректен и веб‑сервер доступен с целевой машины.
Ошибки LVM/разметки — проверьте настройки primary‑disk в answerfile.
Логирование: просматривайте логи TFTP/HTTP и системные логи на целевой машине для выявления причин.
Когда этот подход не подходит
Если вы хотите полностью автономную установку без сетевого доступа.
Если требуется интерактивная тонкая настройка на этапе установки.
В средах с жёсткими требованиями безопасности, где нельзя хранить установочные образы по HTTP.
Альтернативы: использование преднастроенных образов (disk imaging), использования установщика через NFS, или ручная установка с последующей автоматизацией конфигурации через Ansible/Puppet.
Быстрая методология внедрения (mini‑methodology)
Подготовьте тестовую VLAN и тестовую машину.
Разверните файлы в веб и TFTP каталогах.
Настройте меню PXE и answerfile.
Выполните тестовую установку и зафиксируйте лог.
Автоматизируйте проверки и обновите процедуру при успехе.
Роль‑ориентированные чеклисты
Администратор сети
Поднять/проверить TFTP и HTTP доступность.
Убедиться в правильных маршрутах и VLAN для PXE.
Системный администратор
Подготовить файлы ISO и answerfile.
Проверить права доступа и совместимость модулей (mboot.c32).
Инженер по безопасности
Проверить конфиденциальность файла ответов.
Оценить риски автозапуска в сети и предложить ограничения.
Шаблон проверки приёмки
Критерии приёмки
Машина загружается по PXE и начинает установку без взаимодействия.
После перезапуска гостевая система доступна в сети и отвечает на SSH (если включён).
Разметка дисков соответствует параметру primary‑disk из answerfile.
Логи установки не содержат критических ошибок.
Краткая таблица совместимости и заметки о миграции
Компонент
Примечания
mboot.c32
Должен совпадать с версией PXELinux в FOG; иначе заменить на совместимую версию из Syslinux
answerfile
Формат XML совместим с данным установщиком Citrix XenServer; адаптируйте поля под вашу версию
ISO
Для разных версий XenServer создавайте отдельные каталоги и пункты меню
Быстрый набор команд (cheat sheet)
Создать веб‑каталог: mkdir -p /var/www/xenserver61/
Создать TFTP каталог: mkdir -p /tftpboot/howtogeek/xenserver/xen61
Скопировать ядро и initrd: cp -av /var/www/xenserver61/boot/xen.gz /tftpboot/…
Добавить пункт в /tftpboot/pxelinux.cfg/default
Пример потока принятия решения (Mermaid)
flowchart TD
A[Начало] --> B{PXE доступен?}
B -- Да --> C{Файлы в HTTP есть?}
B -- Нет --> D[Настроить PXE/TFTP]
C -- Да --> E[Добавить запись в меню PXE]
C -- Нет --> F[Скопировать ISO в веб каталог]
E --> G[Тестовая машина PXE‑загрузка]
G --> H{Успешно?}
H -- Да --> I[Процесс принят]
H -- Нет --> J[Отладка: TFTP/HTTP/модули]
Резюме
Автоматизированная PXE‑установка Citrix XenServer экономит время при массовых развертываниях. Основные шаги: разместить ISO по HTTP, подготовить ответный XML, скопировать нужные файлы в TFTP и добавить меню PXE. Обязательно проверьте совместимость mboot.c32 и защитите файл ответов.
Примечание по фото: автор изображения — Pink Sherbet Photography через Compfight cc.