Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
documentation.suse.com / SUSE Linux Enterprise Server-Dokumentation / Bereitstellungshandbuch / Einrichten eines Installationsservers / Vorbereiten der Netzwerk-Boot-Umgebung
Gilt für SUSE Linux Enterprise Server 15 SP1

15 Vorbereiten der Netzwerk-Boot-Umgebung

In diesem Kapitel wird beschrieben, wie Sie einen DHCP- und einen TFTP-Server konfigurieren, die die erforderliche Infrastruktur für das Booten über PXE bilden.

SUSE® Linux Enterprise Server kann über PXE (Preboot Execution Environment) installiert werden. Die Client-Hardware muss das Booten über PXE unterstützen. Das Netzwerk muss einen DHCP-Server und einen TFTP-Server umfassen, die den Clients die erforderlichen Daten bereitstellen. Dieses Kapitel führt Sie durch die Einrichtung der erforderlichen Server.

Mit PXE werden lediglich ein Kernel und initrd gebootet. Hiermit können Sie in eine Installationsumgebung oder in Live-Systeme booten. Weitere Informationen zum Einrichten der Installationsquellen finden Sie in Kapitel 14, Einrichten einer Netzwerkinstallationsquelle.

In diesem Abschnitt werden die für komplexe Boot-Szenarien erforderlichen Konfigurationsschritte beschrieben. Er enthält zudem Konfigurationsbeispiele für DHCP, PXE-Boot, TFTP und Wake-on-LAN.

In den Beispielen wird vorausgesetzt, dass sich der DHCP-, TFTP- und NFS-Server auf demselben Computer mit der IP-Adresse 192.168.1.1 befinden. Alle Dienste können sich jedoch problemlos auf verschiedenen Computern befinden. Ändern Sie die IP-Adressen in jedem Fall entsprechend.

15.1 Einrichten eines DHCP-Servers

Neben der automatischen Adresszuweisung für die Netzwerk-Clients gibt der DHCP-Server die IP-Adresse des TFTP-Servers sowie den Pfad der Kernel- und Initrd-Dateien bekannt. Die zu ladende Datei ist abhängig vom Zielcomputer sowie von der Frage, ob Legacy-BIOS oder UEFI-Boot verwendet wird. Die Clients übermitteln ihren Architekturtyp in der DHCP-Anforderung. Auf der Grundlage dieser Installation kann der DHCP-Server ermitteln, welche Dateien der Client zum Booten herunterladen muss.

  1. Melden Sie sich als root auf dem Computer an, der den DHCP-Server bereitstellt.

  2. Aktivieren Sie den DHCP-Server mit systemctl enable dhcpd.

  3. Fügen Sie einer Subnetzkonfiguration in der Konfigurationsdatei des DHCP-Servers, die sich unter /etc/dhcpd.conf befindet, folgende Zeilen hinzu:

    # The following lines are optional
    option domain-name "my.lab";
    option domain-name-servers 192.168.1.1;
    option routers 192.168.1.1;
    option ntp-servers 192.168.1.1;
    ddns-update-style none;
    default-lease-time 3600;
    
    # The following lines are required
    option arch code 93 = unsigned integer 16; # RFC4578
    subnet 192.168.1.0 netmask 255.255.255.0 {
     next-server 192.168.1.1;
     range 192.168.1.100 192.168.1.199;
     default-lease-time 3600;
     max-lease-time 3600;
     if option arch = 00:07 or option arch = 00:09 {
       filename "/EFI/x86/grub.efi";
     }
     else if option arch = 00:0b {
       filename "/EFI/aarch64/bootaa64.efi";
     }
     else  {
       filename "/BIOS/x86/pxelinux.0";
     }
    }

    In diesem Konfigurationsbeispiel wird das Subnetz 192.168.1.0/24 verwendet, wobei sich der DHCP, der DNS und der Gateway auf dem Server mit der IP-Adresse 192.168.1.1 befinden. Ändern Sie alle angegebenen IP-Adressen in jedem Fall gemäß dem Layout Ihres Netzwerks. Weitere Informationen zu den in dhcpd.conf verfügbaren Optionen finden Sie auf der man-Seite dhcpd.conf.

  4. Starten Sie den DHCP-Server mit systemctl restart dhcpd neu.

Wenn Sie SSH für die Fernsteuerung einer PXE- und Wake-on-LAN-Installation verwenden möchten, geben Sie die IP-Adresse an, die der DHCP-Server dem Installationsziel zur Verfügung stellen soll. Ändern Sie hierzu die oben erwähnte DHCP-Konfiguration gemäß dem folgenden Beispiel:

group {
 host test {
   hardware ethernet MAC_ADDRESS;
   fixed-address IP_ADDRESS;
   }
}

Die Host-Anweisung gibt den Hostnamen des Installationsziels an. Um den Hostnamen und die IP-Adresse an einen bestimmten Host zu binden, müssen Sie die Hardware-Adresse (MAC) des Systems kennen und angeben. Ersetzen Sie alle in diesem Beispiel verwendeten Variablen durch die in Ihrer Umgebung verwendeten Werte.

Nach dem Neustart weist der DHCP-Server dem angegebenen Host eine statische IP-Adresse zu, damit Sie über SSH eine Verbindung zum System herstellen können.

15.2 Einrichten eines TFTP-Servers

In den nachfolgenden Verfahren wird die Vorbereitung des Servers auf Zielcomputer mit UEFI und BIOS auf x86-Architekturen mit 32 und 64 Bit beschrieben. Die vorbereitete Struktur kann außerdem AArch64-Systeme aufnehmen.

15.2.1 Installieren des TFTP-Servers

So installieren Sie einen TFTP-Server:

  1. Installieren Sie das Paket tftp.

    tux > sudo zypper in tftp
  2. Überprüfen Sie die tftpd-Konfiguration unter /etc/sysconfig/tftp und ergänzen oder ändern Sie die Optionen je nach Bedarf. Weitere Informationen finden Sie unter man 8 tftpd. Beim TFTP-Daemon muss die Konfiguration nicht geändert werden. Das Standard-Stammverzeichnis für die Dateien lautet /srv/tftpboot.

  3. tftpd muss beim Booten gestartet werden; starten Sie es zum Einlesen der neuen Konfiguration erneut.

    tux > sudo systemctl enable tftp.socket
    tux > sudo systemctl restart tftp.socket

15.2.2 Installieren der Dateien zum Booten

SUSE Linux Enterprise Server stellt die erforderlichen Dateien zum Booten über PXE auf BIOS- oder UEFI-Computern als RPM bereit. Installieren Sie die Dateien auf dem Computer, auf dem der TFTP-Server ausgeführt wird:

tux > sudo zypper in tftpboot-installation-SLES-OS_VERSION-ARCHITECTURE

Ersetzen Sie OS_VERSION durch die Version Ihrer SUSE Linux Enterprise Server-Installation (z. B. 15) und ARCHITECTURE durch die Architektur Ihres Systems (z. B. x86_64). Mit zypper se tftpboot können Sie nach allen verfügbaren Versionen und Architekturen suchen.

Die Dateien werden unter /srv/tftpboot/SLES-OS_VERSION-ARCHITECTURE installiert. Sie können auch die Dateien für andere Versionen und Architekturen von SUSE Linux Enterprise Server in das Verzeichnis /srv/tftpboot kopieren.

Anmerkung
Anmerkung: Bestehendes /srv/tftpboot/-Verzeichnis

Wenn das Verzeichnis /srv/tftpboot/ bereits auf Ihrem Rechner vorhanden ist, werden alle Dateien im Pfad /usr/share/tftpboot-installation/ installiert. Dies ist der Fall, wenn Sie Ihren PXE-Server von einer früheren SLES-Version upgraden.

Kopieren Sie die Dateien manuell von /usr/share/tftpboot-installation/ zu /srv/tftpboot/, um dieses Problem zu beheben. Entfernen Sie alternativ /srv/tftpboot/ und installieren Sie das Paket tftpboot-installation-SLES-OS_VERSION-ARCHITECTURE neu.

15.2.3 Konfigurieren von PXELINUX

Öffnen Sie die Datei /srv/tftpboot/SLES-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/default in einem Editor. Ersetzen Sie den Pfad für den Parameter install gemäß Ihrer Einrichtung (siehe Kapitel 14, Einrichten einer Netzwerkinstallationsquelle). Ersetzen Sie außerdem TFTP_SERVER durch die IP-Adresse des TFTP-Servers. Einen Überblick über die PXELINUX-Konfigurationsoptionen finden Sie in Abschnitt 15.3, „PXELINUX-Konfigurationsoptionen“.

default linux

# install
label linux
  ipappend 2
  kernel boot/ARCHITECTURE/loader/linux
  append initrd=boot/x86_64/ARCHITECTURE/initrd instsys=tftp://TFTP_SERVER/SLES-OS_VERSION-ARCHITECTURE/boot/ARCHITECTURE/root install=PROTOCOL://SERVER_IP:/PATH

display  message
implicit 1
prompt  1
timeout  50

Weitere Informationen zu den Boot-Parametern in der Zeile append finden Sie in Abschnitt 7.3, „Liste wichtiger Boot-Parameter“.

Wenn eine Meldung im Boot-Menü angezeigt werden soll, bearbeiten Sie /srv/tftpboot/SLES-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/message.

15.2.4 Vorbereiten des PXE-Boot-Vorgangs für EFI mit GRUB2

Die GRUB2-Konfigurationsdateien müssen nicht geändert werden. In den Standardeinstellungen ist allerdings keine Netzwerkquelle für das Installationssystem angegeben. Soll SUSE Linux Enterprise Server vollständig über das Netzwerk installiert werden, tragen Sie den Parameter install in die Zeilen linuxefi in der Datei /srv/tftpboot/SLES-OS_VERSION-ARCHITECTURE/EFI/BOOT/grub.cfg ein. Legen Sie den Parameter install gemäß Ihrer Einrichtung fest (siehe Kapitel 14, Einrichten einer Netzwerkinstallationsquelle). Weitere Informationen zu den Boot-Parametern in den Zeilen efilinux finden Sie in Abschnitt 7.3, „Liste wichtiger Boot-Parameter“.

15.3 PXELINUX-Konfigurationsoptionen

Die hier aufgeführten Optionen sind eine Teilmenge der für die PXELINUX-Konfigurationsdatei verfügbaren Optionen.

APPEND OPTIONEN

Fügt der Kernel-Kommandozeile eine oder mehrere Optionen hinzu. Diese werden sowohl bei automatischen als auch bei manuellen Bootvorgängen hinzugefügt. Die Optionen werden an den Beginn der Kernel-Kommandozeile gesetzt und ermöglichen, dass explizit eingegebene Kernel-Optionen sie überschreiben können.

APPEND -

Hiermit wird nichts angehängt. APPEND mit einem Bindestrich als Argument in einem LABEL-Abschnitt kann zum Überschreiben einer globalen APPEND-Option verwendet werden.

DEFAULT KERNEL_OPTIONEN...

Legt die standardmäßige Kernel-Kommandozeile fest. Wenn PXELINUX automatisch gebootet wird, agiert es, als wären die Einträge nach DEFAULT in der Booteingabeaufforderung eingegeben worden, außer, dass die Option für das automatische Booten (boot) automatisch hinzugefügt wird.

Wenn keine Konfigurationsdatei vorhanden oder der DEFAULT-Eintrag in der Konfigurationsdatei nicht definiert ist, wird standardmäßig der Kernel-Name linux ohne Optionen verwendet.

IFAPPEND FLAG

Fügt eine bestimmte Option in die Kernel-Kommandozeile ein, abhängig vom Wert für FLAG. Die Option IFAPPEND ist nur unter PXELINUX verfügbar. Für FLAG ist ein Wert erforderlich, siehe Tabelle 15.1, „Generierte und hinzugefügte Optionen für Kernel-Kommandozeilen von IFAPPEND:

Tabelle 15.1: Generierte und hinzugefügte Optionen für Kernel-Kommandozeilen von IFAPPEND

Argument

Generierte Kernel-Kommandozeile/Beschreibung

1

ip=CLIENT_IP:BOOT_SERVER_IP:GW_IP:NETMASK

Die Platzhalter werden auf der Grundlage der Eingaben vom DHCP/BOOTP- oder PXE-Boot-Server ersetzt.

Diese Option ist kein Ersatz für das Ausführen eines DHCP-Clients im gebooteten System. Ohne regelmäßige Verlängerung läuft die vom PXE BIOS erworbene Lease ab, sodass die IP-Adresse zur erneuten Verwendung durch den DHCP-Server verfügbar wird.

2

BOOTIF=MAC_ADDRESS_OF_BOOT_INTERFACE

Mit dieser Option lässt sich eine Zeitüberschreitung vermeiden, wenn der Installationsserver die LAN-Schnittstellen einzeln nacheinander abfragt, bis er eine Antwort von einem DHCP-Server erhält. Ein initrd-Programm kann dabei ermitteln, von welcher Schnittstelle das System gebootet wurde. linuxrc liest diese Option aus und verwendet die erkannte Netzwerkschnittstelle.

4

SYSUUID=SYSTEM_UUID

Fügt UUIDs im Hexadezimalformat mit Kleinbuchstaben hinzu, siehe /usr/share/doc/packages/syslinux/pxelinux.txt

LABEL KENNUNG KERNEL IMAGE APPEND OPTIONEN...

Wenn KENNUNG als der zu bootende Kernel angegeben wird, soll PXELINUX stattdessen IMAGE booten und dabei die angegebenen APPEND-Optionen heranziehen. Diese Optionen ersetzen die im globalen Abschnitt der Datei vor dem ersten Kommando LABEL angegebenen Optionen. Die Vorgabe für IMAGE ist dieselbe wie für KENNUNG und wenn keine APPEND-Optionen angegeben sind, wird standardmäßig der globale Eintrag verwendet (sofern vorhanden). Es sind bis zu 128 LABEL-Einträge zulässig.

PXELINUX verwendet die folgende Syntax:

label MYLABEL
  kernel MYKERNEL
  append MYOPTIONS

Kennungen werden wie Dateinamen umgesetzt und müssen nach der Umsetzung (sogenanntes Mangling) eindeutig sein. Die beiden Kennungen v2.6.30 und v2.6.31 wären beispielsweise unter PXELINUX nicht unterscheidbar, da beide auf denselben DOS-Dateinamen umgesetzt würden.

Der Kernel muss kein Linux-Kernel sein. Auch ein Bootsektor oder eine COMBOOT-Datei ist möglich.

LOCALBOOT TYP

Wenn Sie unter PXELINUX LOCALBOOT 0 an Stelle einer KERNEL-Option angeben, bedeutet dies, dass diese bestimmte Kennung aufgerufen und die lokale Festplatte an Stelle eines Kernels gebootet wird.

Argument

Beschreibung

0

Führt einen normalen Bootvorgang aus

4

Führt einen lokalen Bootvorgang mit dem noch im Arbeitsspeicher vorhandenen UNDI-Treiber (Universal Network Driver Interface) aus

5

Führt einen lokalen Bootvorgang mit dem gesamten PXE-Stack, einschließlich des UNDI-Treibers aus, der sich im Arbeitsspeicher befindet

Alle anderen Werte sind nicht definiert. Wenn Sie die Werte für die UNDI- oder PXE-Stacks nicht wissen, geben Sie 0 an.

TIMEOUT ZEITLIMIT

Gibt in Einheiten von 1/10 Sekunde an, wie lange die Booteingabeaufforderung angezeigt werden soll, bevor der Bootvorgang automatisch gestartet wird. Das Zeitlimit wird aufgehoben, sobald der Benutzer eine Eingabe über die Tastatur vornimmt, da angenommen wird, dass der Benutzer die Eingabe des Kommandos abschließt. Mit einem Zeitlimit von Null wird das Zeitüberschreitungsoption deaktiviert (dies ist die Vorgabe). Der größtmögliche Wert für das Zeitlimit ist 35996 (etwas weniger als eine Stunde).

PROMPT flag_val

Wenn flag_val auf 0 gesetzt ist, wird die Booteingabeaufforderung nur angezeigt, wenn die Taste Umschalttaste oder Alt gedrückt wird oder die Feststelltaste oder die Taste Rollen gesetzt ist (dies ist die Standardeinstellung). Wenn flag_val 1 ist, wird die Booteingabeaufforderung immer angezeigt.

F2  FILENAME
F1  FILENAME
..etc...
F9  FILENAME
F10 FILENAME

Zeigt die angegebene Datei auf dem Bildschirm an, wenn an der Booteingabeaufforderung eine Funktionstaste gedrückt wird. Mithilfe dieser Option kann auch die Preboot-Online-Hilfe implementiert werden (für die Kernel-Kommandozeilenoptionen). Aus Gründen der Kompabilität mit früheren Versionen kann F10 auch als F0 verwendet werden. Beachten Sie, dass derzeit keine Möglichkeit besteht, Dateinamen an F11 und F12 zu binden.

15.4 Vorbereiten des Zielsystems für PXE-Boot

Bereiten Sie das System-BIOS für PXE-Boot vor, indem Sie die PXE-Option in die BIOS-Boot-Reihenfolge aufnehmen.

Warnung
Warnung: BIOS-Bootreihenfolge

Die PXE-Option darf im BIOS nicht vor dem Boot-Parameter für die Festplatte stehen. Andernfalls würde dieses System versuchen, sich selbst bei jedem Booten neu zu installieren.

15.5 Vorbereiten des Zielsystems für Wake-on-LAN

Wake-on-LAN (WOL) erfordert, dass die entsprechende BIOS-Option vor der Installation aktiviert wird. Außerdem müssen Sie sich die MAC-Adresse des Zielsystems notieren. Diese Daten sind für das Initiieren von Wake-on-LAN erforderlich.

15.6 Wake-on-LAN

Mit Wake-on-LAN kann ein Computer über ein spezielles Netzwerkpaket, das die MAC-Adresse des Computers enthält, gestartet werden. Da jeder Computer einen eindeutigen MAC-Bezeichner hat, ist es nicht möglich, dass versehentlich ein falscher Computer gestartet wird.

Wichtig
Wichtig: Wake-on-LAN über verschiedene Netzwerksegmente

Wenn sich der steuernde Computer nicht in dem selben Segment wie das Ziel des WOL-Kommandos befindet, stehen Ihnen zwei Möglichkeiten offen. Konfigurieren Sie entweder die WOL-Anforderungen für das Senden als Multicast oder lassen Sie einen Computer in diesem Netzwerksegment per Fernsteuerung als Absender dieser Anforderungen fungieren.

Benutzer von SUSE Linux Enterprise können zur einfachen Konfiguration von Wake-on-LAN ein YaST-Modul namens WOL verwenden. Die Benutzer anderer Betriebssysteme mit der Basis SUSE Linux können ein Kommandozeilenwerkzeug verwenden.

15.7 Wake-on-LAN mit YaST

Mit diesem Verfahren konfigurieren Sie Wake-on-LAN mit YaST.

  1. Melden Sie sich als root-Benutzer an.

  2. Starten Sie YaST › Netzwerkdienste › WOL.

  3. Klicken Sie auf Hinzufügen, und geben Sie den Hostnamen und die MAC-Adresse des Zielsystems ein.

  4. Wählen Sie zum Einschalten dieser Maschine den entsprechenden Eintrag und klicken Sie auf Wake up (Aufwachen).

15.8 Booten von einer CD oder einem USB-Laufwerk statt über PXE

Sie können auch von einer CD, einer DVD oder einem USB-Laufwerk mit einem kleinen System-Image statt über PXE booten. Die erforderlichen Dateien werden über NFS abgerufen, sobald der Kernel und initrd geladen wurden. Mit mksusecd können Sie ein bootfähiges Image erstellen. Dies ist beispielsweise dann von Nutzen, wenn der Zielcomputer keine Unterstützung für den PXE-Bootvorgang bietet.

Nehmen Sie die Installation mit sudo zypper in mksusecd vor. Mit dem folgenden Befehl erstellen Sie ein bootfähiges ISO-Image:

tux > mksusecd --create image.iso \
--net=nfs://192.168.1.1:/srv/install/ARCH/OS_VERSION/SP_VERSION/cd1  \
/srv/tftpboot/EFI/ARCH/boot

Ersetzen Sie ARCH durch das entsprechende Verzeichnis für die Zielsystemarchitektur. Ersetzen Sie außerdem OS_version und SP_version durch die Pfade in Abschnitt 15.2, „Einrichten eines TFTP-Servers“.

Anstelle eines NFS-Servers für die Option --net können Sie auch ein HTTP-Repository heranziehen, beispielsweise das openSUSE-Repository:

tux > mksusecd --create image.iso \
--net=http://download.opensuse.org/tumbleweed/repo/oss/suse \
/srv/tftpboot/EFI/ARCH/boot

Die Datei image.iso kann auf DVD oder CD bzw. mit dd auf einem USB-Stick gespeichert werden:

root # dd if=image.iso of=/dev/USB_DEVICE

Ersetzen Sie USB_DEVICE durch den Gerätenamen des USB-Sticks. Überprüfen Sie den Gerätenamen sorgfältig, damit nicht unbeabsichtigt Daten auf einem anderen Laufwerk zerstört werden.