4 Minuten Lesezeit (715 Worte)

PXE – Ein Einstieg

PXE steht für Preboot Execution Environment und stellt eine Lösung dar, um eine unbeaufsichtigte und vorkonfigurierte Installation eines Betriebssystems über das Netzwerk durchzuführen. Diese Lösung wird insbesondere in Rechenzentren eingesetzt, um einfacher und effizienter Virtuelle Maschinen aufsetzen und konfigurieren zu können.

Dieser Artikel soll einen ersten kleinen Einstieg in das Thema PXE geben. Ziel ist es einen Überblick aufzuzeigen und welche Schritte notwendig sind, um PXE umzusetzen.

Was ist PXE? 

PXE wurde 1995 entwickelt und ist eine Möglichkeit, um Rechner mit festgelegter Konfiguration booten zu können. Während in den Anfängen von PXE noch diskless-Stations betrieben wurden, wird heutzutage meist das Betriebssystem direkt auf die Festplatte des Rechners installiert. 

PXE ermöglicht es einem Server das Betriebssystem inklusive der Startup-Dateien über ein Netzwerk zu erreichen. Mittels PXE kann Zeit eingespart und Fehler im manuellen Installationsprozess vermieden werden. Deshalb kommt PXE primär im Bereich von Rechenzentren als eine der bevorzugten Methoden vor, um bei einer Vielzahl von Rechnern zentral das Betriebssystem bereit zu stellen. 

Ablauf einer PXE-Installation

Ein PXE-Boot läuft folgendermaßen ab: Im Rahmen des Vorgangs wird zunächst eine „discover"-Anfrage an den DHCP-Server gesendet. Dieser überträgt im Anschluss die gewünschte Konfiguration für die IP-Adresse und die Netzmaske des Rechners. Abhängig von der MAC-Adresse wird dem Rechner über den TFTP Server ein Bootloader zugewiesen. Über den Bootloader wird die Adresse des NFS Ordners mit dem Installationsmedium mitgeteilt. 

An diesem Punkt besitzt der Client alle notwendigen Informationen für eine Installation des gewünschten Betriebssystems. Mithilfe eines betriebssystemabhängigen Installationsskripts können verschiedene Parameter für den Client festgelegt werden – genauere Informationen dazu im Kapitel Kickstart/Autoyast.

Aufbau einer Installationsumgebung

Benötigte Bestandteile für eine PXE-Installation sind ein DHCP-Server für die Netzwerkverwaltung, ein TFTP-Server für die Bereitstellung des Bootloaders und ein NFS-Server, welcher dafür sorgt, dass alle nötigen Installationsdateien zur Verfügung stehen.

Neben der Konfiguration von Subnetzen und der IP-Adressvergabe, muss der DHCP-Server nicht weiter angepasst werden, sofern UEFI nicht verwendet wird. Für die Verwendung von UEFI kann folgende Dokumentation zur Hilfe genommen werden: RedHat UEFI Dokumentation

Der Bootloader, welcher über den TFTP-Server abhängig von der MAC-Adresse bereitgestellt wird, stellt das Startprogramm des neuen Clients dar. Er steuert den darauffolgenden Installationsprozess und dient als Vermittlungsinstanz zwischen Hardware und Betriebssystem.

Beispiel:
Ein Server hat die MAC-Adresse 01-12-34-56-ab-cd-ef. Es wird eine Datei, mit dem gleichen Namen, innerhalb des TFTP-Verzeichnis erstellt. Der Client sucht selbstständig auf dem TFTP-Server nach einer Datei mit seiner MAC-Adresse. Anschließend wird der gefundene Bootloader auf dem Client ausgeführt.

Die Dokumentation für die Konfiguration von TFTP hier: Oracle Dokumentation speziell mit MAC-Adressen

Verwendung von Installationsskripten 

Mithilfe von Installationsskripten können bereits im Installationsprozess des Betriebssystems grundlegende Konfigurationen durchgeführt werden. Das Skript definiert die Einstellungen für eine Installation und wird während der Installation ausgelesen, wodurch der Installationsprozess ohne weitere Eingabe durch den Benutzer durchgeführt werden kann. Außerdem kann man mit Befehlen Pre- und Post-Installationsskripte einbinden. Diese werden auf dem System unmittelbar vor oder nach der eigentlichen Installation des Betriebssystems ausgeführt. So können beispielsweise erste Programme installiert, Firewall-Einstellungen gesetzt oder neue Benutzer erstellt werden.

Jede Distribution hat ihre eigenes Installationsskript. Bei RedHat wird die Installation über Anaconda verwaltet. Das eigentliche Installationsskript heißt Kickstart-Datei, bei OpenSuse bspw. ist es AutoYast.

Der empfohlene Ansatz zur Erstellung von Kickstart-Dateien ist die Verwendung der Datei, die bei einer manuellen Installation von CentOS 8/9 erstellt wurde. Nach Abschluss einer Installation werden alle während der Installation getroffenen Entscheidungen in einer Datei mit dem Namen anaconda-ks.cfg im Home-Verzeichnis des root-Nutzers gespeichert. Diese Datei kann als Basis für die eigene Kickstart-Datei verwendet werden. (Weitere Informationen: RedHat Dokumentation: Kickstart)

Bei OpenSuse sieht es ähnlich aus. Die AutoYast-Datei wird mit dem folgenden Befehl in dem Home-Verzeichnis des root-Nutzers erzeugt:

yast clone_system

Das geklonte Profil kann wieder als Basis für eine neue Installation verwendet werden.
(Weitere Informationen: OpenSuse Dokumentation: AutoYast)

Fazit 

Zusammenfassend lässt sich sagen, dass PXE eine gute Möglichkeit bietet, um über das Netzwerk eine Installation auszuführen. Die verschiedenen betriebssystemabhängigen Installationsskripte unterstützen diesen Prozess und bieten viele Möglichkeiten zur Konfiguration der Systeme. Der Aufbau eines Preboot Execution Environment ist zwar mit erhöhtem initialem Aufwand verbunden, jedoch können so im Betrieb Zeit und Kosten eingespart und die Fehleranfälligkeit gesenkt werden. 

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Dienstag, 03. Dezember 2024

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie