Настройка PXE-сервера

Настройка PXE-сервера#

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

  • TFTP-сервер. Это машина, которая позволяет вашим серверам загрузиться и установить продукт Кибер Инфраструктура по сети. TFTP-сервером может быть любая Linux-совместимая машина, доступная по сети.

  • DHCP-сервер. Это стандартная машина DHCP, передающая параметры TCP/IP компьютерам в вашей сети.

  • HTTP-сервер. Это машина, передающая установочные файлы продукта Кибер Инфраструктура по сети.

    Дистрибутив продукта Кибер Инфраструктура также можно разместить на FTP-сервере (например, vsftpd) или томе NFS.

Установка компонентов PXE

Выполните следующую команду:

# yum install tftp-server syslinux httpd dhcp

Также можно использовать серверы, уже присутствующие в инфраструктуре. Например, можно пропустить httpd и dhcp, если у вас уже есть серверы HTTP и DHCP.

Настройка TFTP-сервера

Примечание

В этом разделе приводятся инструкции по настройке TFTP-сервера для систем на базе BIOS. Для получения сведений о настройке сервера в системах на базе EFI см. Руководство Red Hat Enterprise Linux.

  1. На сервере откройте файл /etc/xinetd.d/tftp и введите следующие данные:

    service tftp
    {
    disable         = no
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -v -s /tftpboot
    per_source      = 11
    cps             = 100 2
    flags           = IPv4
    }
    

    Завершив редактирование, сохраните файл.

  2. Создайте каталог /tftpboot и скопируйте в него следующие файлы: vmlinuz, initrd.img, menu.c32, pxelinux.0.

    Эти файлы необходимы для запуска установки. Первые два можно найти в каталоге /images/pxeboot дистрибутива продукта Кибер Инфраструктура. Последние два файла расположены в каталоге syslinux (обычно /usr/share/syslinux или /usr/lib/syslinux).

  3. Создайте каталог /tftpboot/pxelinux.cfg и создайте в нем файл default.

    # mkdir /tftpboot/pxelinux.cfg
    # touch /tftpboot/pxelinux.cfg/default
    
  4. Добавьте следующие строки в файл default:

    default menu.c32
    prompt 0
    timeout 100
    ontimeout INSTALL
    menu title Boot Menu
    label INSTALL
            menu label Install
            kernel vmlinuz
            append initrd=initrd.img ip=dhcp
    

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

  5. Перезапустите сервис xinetd.

    # /etc/init.d/xinetd restart
    
  6. При необходимости настройте в брандмауэре разрешение доступа к TFTP-серверу (порт 69 по умолчанию).

    При запуске TFTP-сервера может возникнуть ошибка "Отказано в разрешении". В этом случае можно попытаться исправить проблему, выполнив команду # restorecon -Rv /tftboot/.

Настройка DHCP-сервера

Добавьте следующие строки в файл dhcpd.conf, который обычно расположен в каталоге /etc или /etc/dhcp:

next-server <PXE_server_IP_address>;
filename "/pxelinux.0";

Чтобы настроить DHCP-сервер для установки в системах на базе EFI, укажите filename "/bootx64.efi" вместо filename "/pxelinux.0" в файле dhcpd.conf, где /bootx64.efi — каталог, в который вы скопировали загрузочные образы EFI при настройке TFTP-сервера.

Предоставление доступа к файлам на HTTP-сервере

  1. Настройте HTTP-сервер (или измените конфигурацию существующего).

  2. Скопируйте содержимое образа дистрибутива в произвольный каталог на HTTP-сервере (например, /var/www/html/distrib).

  3. На PXE-сервере укажите путь к установочным файлам в строке append в файле /tftpboot/pxelinux.cfg/default.

    В системах на базе EFI файл, который необходимо изменить, называется /tftpboot/pxelinux.cfg/efidefault или /tftpboot/pxelinux.cfg/<PXE_server_IP_address>.

    Например, если HTTP-сервер расположен по адресу 198.123.123.198, файлы установки находятся в /var/www/html/distrib/, а для DocumentRoot установлено значение /var/www/html, то файл default может выглядеть так:

    default menu.c32
    prompt 0
    timeout 100
    ontimeout INSTALL
    menu title Boot Menu
    label INSTALL
            menu label Install
            kernel vmlinuz
            append initrd=initrd.img ip=dhcp inst.repo=http://198.123.123.198/distrib