Kapitel 21. Vorbereiten einer Netzwerkinstallation

Eine Netzwerkinstallation ermöglicht es Ihnen, mithilfe eines Preboot-Execution-Environment-Installationsservers Red Hat Enterprise Linux auf mehreren Systemen zu installieren. Auf diese Weise booten alle entsprechend konfigurierten Systeme von einem Image, das von diesem Server bereitgestellt wird, und starten die Installation automatisch.
Im Gegensatz zu den meisten anderen Installationsmethoden ist es bei dieser Herangehensweise nicht nötig, ein physisches Bootmedium in den Client (das zu installierende System) einzulegen, um die Installation zu starten. Dieses Kapitel beschreibt die Schritte, die zur Vorbereitung von PXE-Installationen notwendig sind.
Zur Vorbereitung auf eine Netzwerkinstallation müssen folgende Schritte ausgeführt werden:
  1. Konfigurieren Sie den Netzwerkserver (NFS, HTTPS, HTTP oder FTP), um die Installationsstruktur oder das Installations-ISO-Image zu exportieren. Weitere Informationen über die Konfigurationen finden Sie in Abschnitt 2.3.3, »Installationsquelle auf einem Netzwerk«.
  2. Konfigurieren Sie auf dem tftp-Server die Dateien, die für das Booten über das Netzwerk nötig sind, konfigurieren Sie DHCP und starten Sie den tftp-Dienst auf dem PXE-Server. Siehe Abschnitt 21.1, »Konfigurieren von PXE-Boot« für Details.
  3. Booten Sie den Client (das System, auf dem Sie Red Hat Enterprise Linux installieren möchten) und starten Sie die Installation. Siehe Abschnitt 21.2, »Booten der Netzwerkinstallation« für weitere Informationen.

Anmerkung

Dieses Kapitel beschreibt das Verfahren zum Einrichten eines PXE-Servers auf einem Red Hat Enterprise Linux 7-System. Details über die Konfiguration von PXE auf früheren Releases von Red Hat Enterprise Linux finden Sie im entsprechenden Installationshandbuch für die jeweilige Release.

21.1. Konfigurieren von PXE-Boot

Nach der Einrichtung des Netzwerkservers, der die Paket-Repositorys für die Installation bereithält, müssen Sie im nächsten Schritt den PXE-Server konfigurieren. Dieser Server enthält sämtliche Dateien, die zum Booten von Red Hat Enterprise Linux und zum Starten der Installation notwendig sind. Zudem muss ein DHCP-Server konfiguriert werden und alle notwendigen Dienste müssen aktiviert sein und laufen.

Anmerkung

Das Verfahren zur Konfiguration des PXE-Boots unterscheidet sich je nachdem, ob das AMD64- oder Intel 64-System, auf dem Sie Red Hat Enterprise Linux installieren möchten, BIOS oder UEFI verwendet. Werfen Sie einen Blick auf die Dokumentation Ihrer Hardware, um herauszufinden, welches System Ihre Hardware verwendet, und folgen Sie anschließend den jeweiligen Anweisungen in diesem Kapitel.
Für IBM Power Systems-Server als Installationssystem ist ein abweichendes Verfahren nötig. Siehe Abschnitt 21.1.3, »Konfigurieren eines PXE-Servers für IBM Power Systems-Clients« für Details.
IBM System z unterstützt keinen PXE-Boot.
Weitere Informationen über die Konfiguration eines PXE-Servers zur Verwendung mit kopflosen Systemen (Systeme ohne Monitor, Tastatur oder Maus) finden Sie in Abschnitt 22.4, »Hinweise zu kopflosen Systemen«.

21.1.1. Konfigurieren eines PXE-Servers für BIOS-basierte Clients

Das folgende Verfahren bereitet den PXE-Server zum Booten von BIOS-basierten AMD64- und Intel 64-Systemen vor. Informationen über UEFI-basierte Systeme finden Sie in Abschnitt 21.1.2, »Konfigurieren eines PXE-Servers für UEFI-basierte Clients«.

Prozedur 21.1. Konfigurieren von PXE-Boot für BIOS-basierte Systeme

  1. Installieren Sie das tftp-Paket. Führen Sie dazu den folgenden Befehl als root aus:
    # yum install tftp-server
  2. Ändern Sie in der Konfigurationsdatei /etc/xinetd.d/tftp den disabled-Parameter von yes auf no.
  3. Konfigurieren Sie Ihren DHCP-Server zur Verwendung der in SYSLINUX enthaltenen Bootimages. Falls Sie noch keinen DHCP-Server installiert haben, finden Sie Anweisungen dazu im Red Hat Enterprise Linux 7 Netzwerkhandbuch.
    Eine Konfiguration in /etc/dhcp/dhcpd.conf könnte etwa wie folgt aussehen:
      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. Sie benötigen nun die Datei pxelinux.0 vom SYSLINUX-Paket in der ISO-Imagedatei. Um darauf zuzugreifen, führen Sie den folgenden Befehl als Root aus:
    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/Packages/syslinux-version-architecture.rpm /publicly_available_directory
    # umount /mount_point
    Entpacken Sie das Paket:
    # rpm2cpio syslinux-version-architecture.rpm | cpio -dimv
  5. Erstellen Sie das Verzeichnis pxelinux/ innerhalb von tftpboot/ und kopieren Sie die Datei pxelinux.0 dort hinein:
    # mkdir /var/lib/tftpboot/pxelinux
    # cp publicly_available_directory/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
  6. Fügen Sie eine Konfigurationsdatei zum pxelinux/-Verzeichnis hinzu. Der Dateiname sollte entweder default lauten oder auf der IP-Adresse des Systems basieren. Falls die IP-Adresse Ihres Systems beispielsweise 10.0.0.1 ist, dann lautet der Dateiname 0A000001.
    Eine Konfigurationsdatei unter /var/lib/tftpboot/pxelinux/default könnte etwa wie folgt aussehen:
    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
    

    Anmerkung

    Sie können zwei verschiedene Optionen verwenden, um das Installationsprogramm zu laden:
    • Die Option inst.repo= von Anaconda, wie im obigen Beispiel veranschaulicht. Diese Option ermöglicht es Ihnen, das Installationsprogramm zu laden und gleichzeitig die Installationsquelle anzugeben. Weitere Informationen über Bootoptionen für Anaconda finden Sie in Abschnitt 20.1, »Konfigurieren des Installationssystems im Bootmenü«.
    • Die dracut-Option root=. Falls Sie diese Option verwenden, müssen Sie den Speicherort der initrd.img-Datei angeben, die vom Red Hat Enterprise Linux 7-Bootmedium entpackt wurde. Diese Option ermöglicht es Ihnen, das Installationsprogramm zu laden, allerdings müssen Sie die Installationsquelle auf andere Weise angeben (z. B. mittels einer Kickstart-Datei oder manuell im grafischen Installationsprogramm). Weitere Informationen über dracut-Befehlszeilenoptionen finden Sie auf der man-Seite für dracut.cmdline(7).
    Eine dieser beiden Optionen muss stets angegeben werden.
  7. Kopieren Sie die Bootimages in Ihr tftp/-Hauptverzeichnis:
    # cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
  8. Aktivieren und starten Sie die tftp- und xinetd-Dienste mit dem systemctl-Befehl.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
Sobald Sie dieses Verfahren abgeschlossen haben, ist der PXE-Server bereit, die Netzwerkinstallation zu starten. Sie können nun das System starten, auf dem Red Hat Enterprise Linux installiert werden soll, dann den PXE-Boot als Bootquelle angeben und die Netzwerkinstallation beginnen.

21.1.2. Konfigurieren eines PXE-Servers für UEFI-basierte Clients

Das folgende Verfahren bereitet den PXE-Server zum Booten von UEFI-basierten AMD64- und Intel 64-Systemen vor. Informationen über BIOS-basierte Systeme finden Sie in Abschnitt 21.1.1, »Konfigurieren eines PXE-Servers für BIOS-basierte Clients«.

Prozedur 21.2. Konfigurieren von PXE-Boot für UEFI-basierte Systeme

  1. Installieren Sie das tftp-Paket. Führen Sie dazu den folgenden Befehl als root aus:
    # yum install tftp-server
  2. Ändern Sie in der Konfigurationsdatei /etc/xinetd.d/tftp den disabled-Parameter von yes auf no.
  3. Konfigurieren Sie Ihren DHCP-Server zur Verwendung der in shim enthaltenen EFI-Bootimages. Falls Sie noch keinen DHCP-Server installiert haben, finden Sie Anweisungen dazu im Red Hat Enterprise Linux 7 Netzwerkhandbuch.
    Eine Konfiguration in /etc/dhcp/dhcpd.conf könnte etwa wie folgt aussehen:
      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. Sie benötigen nun die Datei shim.efi aus dem shim-Paket und die Datei grubx64.efi aus dem grub2-efi-Paket in der ISO-Imagedatei. Um darauf zuzugreifen, führen Sie die folgenden Befehle als Root aus:
    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/Packages/shim-version-architecture.rpm /publicly_available_directory
    # cp -pr /mount_point/Packages/grub2-efi-version-architecture.rpm /publicly_available_directory
    # umount /mount_point
    Entpacken Sie die Pakete:
    # rpm2cpio shim-version-architecture.rpm | cpio -dimv
    # rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
  5. Erstellen Sie ein Verzeichnis innerhalb des tftpboot/-Verzeichnisses namens uefi/ für die EFI-Bootimages und kopieren Sie diese anschließend von Ihrem Boot-Verzeichnis:
    # mkdir /var/lib/tftpboot/uefi
    # cp publicly_available_directory/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/uefi/
    # cp publicly_available_directory/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/uefi/
  6. Fügen Sie eine Konfigurationsdatei namens grub.cfg zum uefi/-Verzeichnis hinzu. Eine Konfigurationsdatei unter /var/lib/tftpboot/uefi/grub.cfg könnte etwa wie folgt aussehen:
    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
    }
    

    Anmerkung

    Sie können zwei verschiedene Optionen verwenden, um das Installationsprogramm zu laden:
    • Die Option inst.repo= von Anaconda, wie im obigen Beispiel veranschaulicht. Diese Option ermöglicht es Ihnen, das Installationsprogramm zu laden und gleichzeitig die Installationsquelle anzugeben. Weitere Informationen über Bootoptionen für Anaconda finden Sie in Abschnitt 20.1, »Konfigurieren des Installationssystems im Bootmenü«.
    • Die dracut-Option root=. Falls Sie diese Option verwenden, müssen Sie den Speicherort der initrd.img-Datei angeben, die vom Red Hat Enterprise Linux 7-Bootmedium entpackt wurde. Diese Option ermöglicht es Ihnen, das Installationsprogramm zu laden, allerdings müssen Sie die Installationsquelle auf andere Weise angeben (z. B. mittels einer Kickstart-Datei oder manuell im grafischen Installationsprogramm). Weitere Informationen über dracut-Befehlszeilenoptionen finden Sie auf der man-Seite für dracut.cmdline(7).
    Eine dieser beiden Optionen muss stets angegeben werden.
  7. Kopieren Sie die Bootimages in Ihr uefi/-Verzeichnis:
    # cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/
  8. Aktivieren und starten Sie die tftp- und xinetd-Dienste mit dem systemctl-Befehl.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
Sobald Sie dieses Verfahren abgeschlossen haben, ist der PXE-Server bereit, die Netzwerkinstallation zu starten. Sie können nun das System starten, auf dem Red Hat Enterprise Linux installiert werden soll, dann den PXE-Boot als Bootquelle angeben und die Netzwerkinstallation beginnen.

21.1.3. Konfigurieren eines PXE-Servers für IBM Power Systems-Clients

Das folgende Verfahren bereitet den PXE-Server zum Booten von IBM Power Systems-Server vor.

Prozedur 21.3. Konfiguration von PXE-Boot für IBM Power Systems

  1. Installieren Sie das tftp-Paket. Führen Sie dazu den folgenden Befehl als root aus:
    # yum install tftp-server
  2. Ändern Sie in der Konfigurationsdatei /etc/xinetd.d/tftp den disabled-Parameter von yes auf no.
  3. Konfigurieren Sie Ihren DHCP-Server zur Verwendung der im yaboot-Dienstprogramm enthaltenen Bootimages. Falls Sie noch keinen DHCP-Server installiert haben, finden Sie Anweisungen dazu im Red Hat Enterprise Linux 7 Netzwerkhandbuch.
    Eine Konfiguration in /etc/dhcp/dhcpd.conf könnte etwa wie folgt aussehen:
      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. Sie benötigen nun die yaboot-Binärdatei aus dem yaboot-Paket in der ISO-Imagedatei. Um darauf zuzugreifen, führen Sie die folgenden Befehle als root aus:
    # mkdir /publicly_available_directory/yaboot-unpack
    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/Packages/yaboot-version.ppc.rpm /publicly_available_directory/yaboot-unpack
    Entpacken Sie das Paket:
    # cd /publicly_available_directory/yaboot-unpack
    # rpm2cpio yaboot-version.ppc.rpm | cpio -dimv
  5. Erstellen Sie ein yaboot-Verzeichnis innerhalb des tftpboot/-Verzeichnisses und kopieren Sie die yaboot-Binärdatei dort hinein:
    # mkdir /var/lib/tftpboot/yaboot
    # cp publicly_available_directory/yaboot-unpack/usr/lib/yaboot/yaboot /var/lib/tftpboot/yaboot
  6. Fügen Sie eine Konfigurationsdatei namens yaboot.conf zu diesem Verzeichnis hinzu. Eine Beispielkonfigurationsdatei könnte wie folgt aussehen:
    init-message = "
    Welcome to the Red Hat Enterprise Linux 7 installer!
    
    "
    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
    

    Anmerkung

    Sie können zwei verschiedene Optionen verwenden, um das Installationsprogramm zu laden:
    • Die Option inst.repo= von Anaconda, wie im obigen Beispiel veranschaulicht. Diese Option ermöglicht es Ihnen, das Installationsprogramm zu laden und gleichzeitig die Installationsquelle anzugeben. Weitere Informationen über Bootoptionen für Anaconda finden Sie in Abschnitt 20.1, »Konfigurieren des Installationssystems im Bootmenü«.
    • Die dracut-Option root=. Falls Sie diese Option verwenden, müssen Sie den Speicherort der initrd.img-Datei angeben, die vom Red Hat Enterprise Linux 7-Bootmedium entpackt wurde. Diese Option ermöglicht es Ihnen, das Installationsprogramm zu laden, allerdings müssen Sie die Installationsquelle auf andere Weise angeben (z. B. mittels einer Kickstart-Datei oder manuell im grafischen Installationsprogramm). Weitere Informationen über dracut-Befehlszeilenoptionen finden Sie auf der man-Seite für dracut.cmdline(7).
    Eine dieser beiden Optionen muss stets angegeben werden.
  7. Kopieren Sie die Bootimages aus dem entpackten ISO in Ihr tftp/-Hauptverzeichnis:
    # cp /mount_point/images/ppc/ppc64/vmlinuz /var/lib/tftpboot/yaboot/rhel7/vmlinuz-RHEL7
    # cp /mount_point/images/ppc/ppc64/initrd.img /var/lib/tftpboot/yaboot/rhel7/initrd-RHEL7.img
  8. Löschen Sie zu guter Letzt das Verzeichnis yaboot-unpack und hängen Sie das ISO aus:
    # rm -rf /publicly_available_directory/yaboot-unpack
    # umount /mount_point
  9. Aktivieren und starten Sie die tftp- und xinetd-Dienste mit dem systemctl-Befehl.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
Sobald Sie dieses Verfahren abgeschlossen haben, ist der PXE-Server bereit, die Netzwerkinstallation zu starten. Sie können nun das System starten, auf dem Red Hat Enterprise Linux installiert werden soll, dann den PXE-Boot als Bootquelle angeben und die Netzwerkinstallation beginnen.