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:
- Konfigurieren Sie den Netzwerkserver (
NFS
,HTTPS
,HTTP
oderFTP
), 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«. - 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 dentftp
-Dienst auf dem PXE-Server. Siehe Abschnitt 21.1, »Konfigurieren von PXE-Boot« für Details. - 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
- Installieren Sie das tftp-Paket. Führen Sie dazu den folgenden Befehl als
root
aus:#
yum install tftp-server
- Ändern Sie in der Konfigurationsdatei
/etc/xinetd.d/tftp
dendisabled
-Parameter vonyes
aufno
. - 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; } }
- 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
- Erstellen Sie das Verzeichnis
pxelinux/
innerhalb vontftpboot/
und kopieren Sie die Dateipxelinux.0
dort hinein:#
mkdir /var/lib/tftpboot/pxelinux
#
cp publicly_available_directory/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
- Fügen Sie eine Konfigurationsdatei zum
pxelinux/
-Verzeichnis hinzu. Der Dateiname sollte entwederdefault
lauten oder auf der IP-Adresse des Systems basieren. Falls die IP-Adresse Ihres Systems beispielsweise 10.0.0.1 ist, dann lautet der Dateiname0A000001
.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 derinitrd.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ürdracut.cmdline(7)
.
Eine dieser beiden Optionen muss stets angegeben werden. - Kopieren Sie die Bootimages in Ihr
tftp/
-Hauptverzeichnis:#
cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
- Aktivieren und starten Sie die
tftp
- undxinetd
-Dienste mit demsystemctl
-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
- Installieren Sie das tftp-Paket. Führen Sie dazu den folgenden Befehl als
root
aus:#
yum install tftp-server
- Ändern Sie in der Konfigurationsdatei
/etc/xinetd.d/tftp
dendisabled
-Parameter vonyes
aufno
. - 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; } }
- Sie benötigen nun die Datei
shim.efi
aus dem shim-Paket und die Dateigrubx64.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
- Erstellen Sie ein Verzeichnis innerhalb des
tftpboot/
-Verzeichnisses namensuefi/
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/
- Fügen Sie eine Konfigurationsdatei namens
grub.cfg
zumuefi/
-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 derinitrd.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ürdracut.cmdline(7)
.
Eine dieser beiden Optionen muss stets angegeben werden. - Kopieren Sie die Bootimages in Ihr
uefi/
-Verzeichnis:#
cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/
- Aktivieren und starten Sie die
tftp
- undxinetd
-Dienste mit demsystemctl
-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
- Installieren Sie das tftp-Paket. Führen Sie dazu den folgenden Befehl als
root
aus:#
yum install tftp-server
- Ändern Sie in der Konfigurationsdatei
/etc/xinetd.d/tftp
dendisabled
-Parameter vonyes
aufno
. - 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; }
- 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 alsroot
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
- Erstellen Sie ein
yaboot
-Verzeichnis innerhalb destftpboot/
-Verzeichnisses und kopieren Sie dieyaboot
-Binärdatei dort hinein:#
mkdir /var/lib/tftpboot/yaboot
#
cp publicly_available_directory/yaboot-unpack/usr/lib/yaboot/yaboot /var/lib/tftpboot/yaboot
- 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 derinitrd.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ürdracut.cmdline(7)
.
Eine dieser beiden Optionen muss stets angegeben werden. - 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
- 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
- Aktivieren und starten Sie die
tftp
- undxinetd
-Dienste mit demsystemctl
-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.