Глава 21. Подготовка к сетевой установке

Выполнение установки по сети позволяет параллельно установить Red Hat Enterprise Linux в разных системах. Системы будут загружаться при помощи PXE (Preboot Execution Environment) с использованием загрузочного образа, расположенного на сервере, после чего будет запущена программа установки.
Особенность этого метода заключается в отсутствии необходимости использования физических установочных носителей. В этой главе обсуждается порядок подготовки к установке с помощью PXE.
Основные действия перечислены ниже.
  1. Настройте сервер (NFS, HTTPS, HTTP, FTP), на котором размещается установочная структура (см. Раздел 2.3.3, «Источник установки в сети»).
  2. На сервере tftp настройте файлы сетевой загрузки и DHCP, а на сервере PXE запустите службу tftp (см. Раздел 21.1, «Настройка PXE-загрузки»).
  3. Загрузите систему, в которой будет устанавливаться Red Hat Enterprise Linux, и начните процесс установки (см. Раздел 21.2, «Загрузка сетевой установки»).

Примечание

В приведенных в этой главе примерах сервер PXE настраивается в окружении Red Hat Enterprise Linux 7. Информацию о настройке в предыдущих выпусках Red Hat Enterprise Linux можно найти в соответствующих версиях руководства по установке.

21.1. Настройка PXE-загрузки

После настройки сервера репозиториев надо настроить сервер PXE, на котором будут размещаться файлы, необходимые для загрузки системы и запуска установки Red Hat Enterprise Linux. Дополнительно надо будет настроить сервер DHCP и включить соответствующие службы.

Примечание

Порядок настройки PXE может отличаться в зависимости от микропрограммной спецификации устанавливаемой системы (BIOS или UEFI). Точную информацию можно найти в документации компьютера.
Для IBM Power Systems используется другая последовательность (см. Раздел 21.1.3, «Настройка PXE-сервера для IBM Power Systems»).
IBM System z не поддерживает PXE-загрузку.
Раздел 22.4, «Рекомендации для систем без дисплея» обсуждает тонкости организации PXE-сервера в окружениях без периферийных устройств.

21.1.1. Настройка PXE-сервера для клиентов с BIOS

В этой секции обсуждается порядок подготовки PXE-сервера для загрузки компьютеров AMD64 и Intel 64 с BIOS, а Раздел 21.1.2, «Настройка PXE-сервера для клиентов с UEFI» — содержит информацию о UEFI.

Процедура 21.1. Настройка PXE-загрузки клиентов с BIOS

  1. Установите пакет tftp в режиме root:
    # yum install tftp-server
  2. В файле /etc/xinet.d/tftp измените значение disabled на no.
  3. Настройте DHCP-сервер так, чтобы он мог использовать загрузочные образы, созданные с помощью SYSLINUX. За информацией об установке DHCP-сервера обратитесь к сетевому руководству Red Hat Enterprise Linux 7.
    Пример файла /etc/dhcp/dhcpd.conf:
      option space pxelinux;
      option pxelinux.magic code 208 = string;
      option pxelinux.configfile code 209 = text;
      option pxelinux.pathprefix code 210 = text;
      option pxelinux.reboottime code 211 = unsigned integer 32;
    
      subnet 10.0.0.0 netmask 255.255.255.0 {
        option routers 10.0.0.254;
        range 10.0.0.2 10.0.0.253;
    
        class "pxeclients" {
          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
          next-server 10.0.0.1;
    			
          if option arch = 00:07 {
            filename "uefi/shim.efi";
          } else {
            filename "pxelinux/pxelinux.0";
          }
        }
    
        host example-ia32 {
          hardware ethernet XX:YY:ZZ:11:22:33;
          fixed-address 10.0.0.2;
        }
      }
    
  4. В дальнейшем понадобится файл pxelinux.0 из пакета SYSLINUX, который включен в ISO-образ. В режиме root выполните:
    # mount -t iso9660 /путь/образ.iso /точка_монтирования -o loop,ro
    # cp -pr /точка_монтирования/Packages/syslinux-версия-архитектура.rpm /открытый_каталог
    # umount /точка_монтирования
    Извлеките пакет:
    # rpm2cpio syslinux-версия-архитектура.rpm | cpio -dimv
  5. В tftpboot/ создайте каталог pxelinux/ и скопируйте в него pxelinux.0:
    # mkdir /var/lib/tftpboot/pxelinux
    # cp открытый_каталог/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
  6. Добавьте файл конфигурации в pxelinux/. Имя файла может быть определено как default или сформировано на основе IP-адреса системы. Например, компьютеру с адресом 10.0.0.1 будет соответствовать файл 0A000001.
    Пример /var/lib/tftpboot/pxelinux/default:
    default vesamenu.c32
    prompt 1
    timeout 600
    
    display boot.msg
    
    label linux
      menu label ^Install system
      menu default
      kernel vmlinuz
      append initrd=initrd.img ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/
    label vesa
      menu label Install system with ^basic video driver
      kernel vmlinuz
      append initrd=initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/
    label rescue
      menu label ^Rescue installed system
      kernel vmlinuz
      append initrd=initrd.img rescue
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    

    Примечание

    Для загрузки программы установки используется один из двух параметров:
    • inst.repo= (параметр Anaconda). Позволяет загрузить программу установки и настроить источник установки (см. Раздел 20.1, «Настройка системы установки в меню загрузки»).
    • root= (параметр dracut). Вместе с ним необходимо указать путь к файлу initrd.img, предварительно извлеченному с загрузочного носителя Red Hat Enterprise Linux 7. Этот параметр предназначен для загрузки программы установки, но источник установки должен быть задан другим способом (в файле кикстарта или вручную в окне установки). За подробной информацией обратитесь к справочной странице dracut.cmdline(7).
    Необходимо указать один из этих двух параметров.
  7. Скопируйте загрузочные образы в tftp/:
    # cp /путь/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
  8. Запустите службы tftp и xinetd при помощи systemctl.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
После этого сервер PXE будет готов к установке. Включите компьютер, где будет устанавливаться Red Hat Enterprise Linux, и в меню выбора источника загрузки выберите PXE.

21.1.2. Настройка PXE-сервера для клиентов с UEFI

В этой секции обсуждается порядок подготовки PXE-сервера для загрузки компьютеров AMD64 и Intel 64 с UEFI. Раздел 21.1.1, «Настройка PXE-сервера для клиентов с BIOS» содержит информацию о BIOS.

Процедура 21.2. Настройка PXE-загрузки клиентов с UEFI

  1. Установите пакет tftp в режиме root:
    # yum install tftp-server
  2. В файле /etc/xinet.d/tftp измените значение disabled на no.
  3. Настройте DHCP-сервер так, чтобы он мог использовать загрузочные образы EFI, созданные с помощью shim. За информацией об установке DHCP-сервера обратитесь к сетевому руководству Red Hat Enterprise Linux 7.
    Пример файла /etc/dhcp/dhcpd.conf:
      option space PXE;
      option PXE.mtftp-ip    code 1 = ip-address;
      option PXE.mtftp-cport code 2 = unsigned integer 16;
      option PXE.mtftp-sport code 3 = unsigned integer 16;
      option PXE.mtftp-tmout code 4 = unsigned integer 8;
      option PXE.mtftp-delay code 5 = unsigned integer 8;
      option arch code 93 = unsigned integer 16; # RFC4578
    
      subnet 10.0.0.0 netmask 255.255.255.0 {
        option routers 10.0.0.254;
        range 10.0.0.2 10.0.0.253;
    
        class "pxeclients" {
          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
          next-server 10.0.0.1;
    
          if option arch = 00:07 {
            filename "uefi/shim.efi";
            } else {
            filename "pxelinux/pxelinux.0";
          }
        }
    
        host example-ia32 {
          hardware ethernet XX:YY:ZZ:11:22:33;
          fixed-address 10.0.0.2;
        }
      }
    
  4. В дальнейшем понадобятся файлы shim.efi (из пакета shim) и grubx64.efi (из пакета grub2-efi). Эти пакеты включены в ISO-образ. В режиме root выполните:
    # mount -t iso9660 /путь/образ.iso /точка_монтирования -o loop,ro
    # cp -pr /mount_point/Packages/shim-версия-архитектура.rpm /открытый_каталог
    # cp -pr /точка_монтирования/Packages/grub2-efi-версия-архитектура.rpm /открытый_каталог
    # umount /точка_монтирования
    Извлеките пакеты:
    # rpm2cpio shim-версия-архитектура.rpm | cpio -dimv
    # rpm2cpio grub2-efi-версия-архитектура.rpm | cpio -dimv
  5. В tftpboot/ создайте каталог uefi/ и скопируйте туда загрузочные образы:
    # mkdir /var/lib/tftpboot/uefi
    # cp открытый_каталог/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/uefi/
    # cp открытый_каталог/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/uefi/
  6. В каталоге uefi/ создайте файл конфигурации grub.cfg. Пример /var/lib/tftpboot/uefi/grub.cfg:
    set timeout=1
      menuentry 'RHEL' {
      linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/
      initrdefi uefi/initrd.img
    }
    

    Примечание

    Для загрузки программы установки используется один из двух параметров:
    • inst.repo= (параметр Anaconda). Позволяет загрузить программу установки и настроить источник установки (см. Раздел 20.1, «Настройка системы установки в меню загрузки»).
    • root= (параметр dracut). Вместе с ним необходимо указать путь к файлу initrd.img, предварительно извлеченному с загрузочного носителя Red Hat Enterprise Linux 7. Этот параметр предназначен для загрузки программы установки, но источник установки должен быть задан другим способом (в файле кикстарта или вручную в окне установки). За подробной информацией обратитесь к справочной странице dracut.cmdline(7).
    Необходимо указать один из этих двух параметров.
  7. Скопируйте загрузочные образы в uefi/:
    # cp /путь//x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/
  8. Запустите службы tftp и xinetd при помощи systemctl.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
После этого сервер PXE будет готов к установке. Включите компьютер, где будет устанавливаться Red Hat Enterprise Linux, и в меню выбора источника загрузки выберите PXE.

21.1.3. Настройка PXE-сервера для IBM Power Systems

В этой секции обсуждается порядок подготовки PXE-сервера к загрузке IBM Power Systems.

Процедура 21.3. Настройка PXE-загрузки IBM Power Systems

  1. Установите пакет tftp в режиме root:
    # yum install tftp-server
  2. В файле /etc/xinet.d/tftp измените значение disabled на no.
  3. Настройте DHCP-сервер так, чтобы он мог использовать загрузочные образы, созданные с помощью yaboot. За информацией об установке DHCP-сервера обратитесь к сетевому руководству Red Hat Enterprise Linux 7.
    Пример /etc/dhcp/dhcpd.conf:
      host bonn { 
        filename "yaboot";
        next-server             10.32.5.1;
        hardware ethernet 00:0e:91:51:6a:26;
        fixed-address 10.32.5.144;
      }
    
  4. В дальнейшем понадобится двоичный файл yaboot из одноименного пакета. Чтобы скопировать его из образа, в режиме root выполните :
    # mkdir /открытый_каталог/yaboot-unpack
    # mount -t iso9660 /путь/образ.iso /точка_монтирования -o loop,ro
    # cp -pr /точка_монтирования/Packages/yaboot-версия.ppc.rpm /открытый_каталог/yaboot-unpack
    Извлеките пакет:
    # cd /открытый_каталог/yaboot-unpack
    # rpm2cpio yaboot-версия.ppc.rpm | cpio -dimv
  5. В tftpboot/ создайте каталог yaboot и скопируйте в него файл yaboot:
    # mkdir /var/lib/tftpboot/yaboot
    # cp открытый_каталог/yaboot-unpack/usr/lib/yaboot/yaboot /var/lib/tftpboot/yaboot
  6. Добавьте yaboot.conf в этот каталог. Пример файла:
    init-message = "\nWelcome to the Red Hat Enterprise Linux 7 installer!\n\n"
    timeout=60
    default=rhel7
    image=/rhel7/vmlinuz-RHEL7
      label=linux
      alias=rhel7
      initrd=/rhel7/initrd-RHEL7.img
      append="ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.0/ppc64/os/"
      read-only
    

    Примечание

    Для загрузки программы установки используется один из двух параметров:
    • inst.repo= (параметр Anaconda). Позволяет загрузить программу установки и настроить источник установки (см. Раздел 20.1, «Настройка системы установки в меню загрузки»).
    • root= (параметр dracut). Вместе с ним необходимо указать путь к файлу initrd.img, предварительно извлеченному с загрузочного носителя Red Hat Enterprise Linux 7. Этот параметр предназначен для загрузки программы установки, но источник установки должен быть задан другим способом (в файле кикстарта или вручную в окне установки). За подробной информацией обратитесь к справочной странице dracut.cmdline(7).
    Необходимо указать один из этих двух параметров.
  7. Скопируйте загрузочные образы в каталог tftp/:
    # cp /точка_монтирования/images/ppc/ppc64/vmlinuz /var/lib/tftpboot/yaboot/rhel7/vmlinuz-RHEL7
    # cp /точка_монтирования/images/ppc/ppc64/initrd.img /var/lib/tftpboot/yaboot/rhel7/initrd-RHEL7.img
  8. Удалите каталог yaboot-unpack/ и отключите образ:
    # rm -rf /открытый_каталог/yaboot-unpack
    # umount /точка_монтирования
  9. Запустите службы tftp и xinetd при помощи systemctl.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
После этого сервер PXE будет готов к установке. Включите компьютер, где будет устанавливаться Red Hat Enterprise Linux, и в меню выбора источника загрузки выберите PXE.