Was ist eine Preboot Execution Environment (PXE)?
Preboot Execution Environment (PXE), ausgesprochen Pixie, ist eine Reihe von Standards, die es einem Computer ermöglichen, ein Betriebssystem (OS) über eine Netzwerkverbindung zu laden. PXE kann zur schnellen Installation eines Betriebssystems verwendet werden und wird häufig sowohl für Server als auch für Clients verwendet. Es kann auch als PXE-Boot, Boot vom Netzwerk, Netzwerk-Boot oder Local Area Network-Boot bezeichnet werden.
PXE kann große Bereitstellungen von Computern erheblich vereinfachen. Es ersetzt die Verwendung einer Compact Disc (CD) oder eines USB-Laufwerks (Universal Serial Bus) zur Installation eines Betriebssystems. Ein einzelnes Betriebssystemabbild kann schnell auf vielen Computern gleichzeitig installiert werden.
Wie funktioniert PXE?
PXE erfordert mehrere Standards, damit Client und Server erfolgreich gestartet werden können. Der Client muss PXE in Unified Extensible Firmware Interface (UEFI) oder Network Interface Card (NIC) Firmware unterstützen. Das Netzwerk muss über einen konfigurierten DHCP-Server (Dynamic Host Configuration Protocol) und einen TFTP-Server (Trivial File Transfer Protocol) verfügen. Es gibt in der Regel auch einen anderen Imaging-Server.
Der DHCP-Server verwendet die Optionen 66 und 67, um die IP-Adresse (Internet Protocol) des PXE-Bootservers bekannt zu geben. Der Client kontaktiert dann den Bootserver und lädt das Network Bootstrap Program (NBP) über TFTP herunter und startet es. Das NBP ist ein kleines Betriebssystem, das nur einen Kernel, grundlegende Treiber und grundlegende Programme enthält, die die verbleibenden Betriebssystemkomponenten herunterladen können. Windows-Vorinstallationsumgebung oder ein kleines Linux-Betriebssystem sind die häufigsten Betriebssysteme, die durch einen Netzwerkstart geladen werden.
Ein proxyDHCP-Server kann verwendet werden, um PXE-Anforderungen zu verarbeiten.
Wie funktioniert der PXE-Bootvorgang?
Hier sind die Schritte im PXE-Bootprozess:
- Das BIOS (Basic Input/Output System) des Clients initiiert den PXE-Start. Dies kann vom Client-Operator ausgewählt werden oder eine Fallback-Option sein, wenn andere Bootmedien ausfallen.
- Der Client sendet eine DHCP-Anforderung und eine PXE-Anforderung.
- Der DHCP-Server antwortet mit der DHCP-Antwort, damit der Client eine IP-Adresse festlegen kann, und er antwortet mit der IP-Adresse des TFTP-Servers und dem Dateinamen des NBP.
- Der Client lädt den NBP herunter und startet ihn.
Viele moderne Computer unterstützen PXE-Boot mit IPv4 und IPv6. Einige herstellerspezifische Implementierungen des Netzwerkstarts über Wi-Fi sind vorhanden, es gibt jedoch keinen Wi-Fi PXE-Standard.
Netzwerkstart ist eine Client-Funktion. Der Code zu PXE ist auf dem Motherboard UEFI BIOS oder in der NIC Firmware Nur-Lese-Speicher (ROM) enthalten. Es ist eine Standardfunktion auf Unternehmenscomputern und Servern, kann jedoch auf einigen Consumer-Hardware weggelassen werden. Auf einigen Computern muss es in der BIOS-Konfiguration des Computers aktiviert werden. Die am häufigsten verwendete Implementierung von PXE verwendet Intel-Treiber.
Apple macOS-Computer unterstützen PXE nicht. Sie verwenden ein ähnliches, aber inkompatibles System namens Boot Server Discovery Protocol (BSDP). BSDP verwendet einen NetBoot-Client für den Zugriff auf einen Apple Deployment Server.
Wie wird PXE verwendet?
PXE ist ein leistungsstarkes Tool, das die Arbeit aller Mitarbeiter der Informationstechnologie erheblich vereinfachen kann. Es ist nützlich für Clients, Server, virtuelle Maschinen (VM) und eingebettete IoT-Geräte (Internet of Things).
Die primäre Verwendung von PXE besteht darin, ein neues Betriebssystem auf neuen oder fehlerhaften Computern zu installieren. Dies kann ein Client-Betriebssystem wie Windows 10 oder Ubuntu Linux oder ein Server-Betriebssystem wie Windows Server 2019 oder Arch Linux sein. PXE kann die Verwendung von USB-Laufwerken oder CD-ROMs als Installationsmedium ersetzen.
Die Installation eines Betriebssystems von PXE anstelle von physischen Medien hat oft viele Vorteile:
- PXE ist bequemer, da der Netzwerkzugriff normalerweise verfügbarer ist als ein dediziertes Startgerät.
- Moderne Netzwerke können schneller sein als CD- oder USB-Laufwerke.
- Durch das Laden eines Images von einem zentralen Netzwerkspeicherort wird sichergestellt, dass das neueste Betriebssystemabbild verwendet wird.
PXE wird von den meisten VM-Frameworks unterstützt. Auf diese Weise kann eine neue VM generiert und dann schnell über eine Netzwerkverbindung abgebildet werden.
Eine PXE-Bereitstellung kann auch zum Hosten von Tools zur Fehlerbehebung und Wartung verwendet werden. Während des PXE-Startvorgangs kann der NBP dem Bediener eine Auswahl des zu ladenden Betriebssystems präsentieren. Eine Organisation kann eine einfache Linux-Distribution hosten, die Hardwaretests durchführen kann, und über Tools verfügen, die eine erweiterte Clientwartung durchführen können, z. B. das Klonen von Festplatten, die Partitionierung von Festplatten, das sichere Löschen von Festplatten oder das Zurücksetzen von Kennwörtern.
Diskless- oder Thin-Client-Computer können PXE verwenden, um ein Betriebssystem bei jedem Start zu laden. Ein festplattenloser Computer verfügt nicht über festen Speicher auf einer Festplatte oder einem Solid-State-Laufwerk. Ein Thin Client kann ohne festen Speicher konfiguriert werden und lädt sein kleines Betriebssystem bei jedem Einschalten. Dadurch wird sichergestellt, dass keine Daten auf dem Client gespeichert werden. IoT-Geräte können auch einen PXE-Server kontaktieren, um ihr Betriebssystem automatisch zu laden.
Die Verwendung von festplattenlosen Servern, die bei jedem Start ein Betriebssystem von PXE laden, ist bei Hochsicherheitsservern oder HPC-Clustern (High Performance Computing) beliebt. Ein Hochsicherheitsserver kann sensible Kundendaten verarbeiten, befindet sich jedoch in einer öffentlichen Server-Colocation. Wenn der Server entfernt oder beschlagnahmt werden sollte, wären auf einem plattenlosen Server keine Kundendaten gespeichert.
HPC-Cluster haben normalerweise Hunderte oder Tausende von Compute Node-Servern, die identisch sind und zusammen arbeiten müssen. Die Verwendung von PXE zum Laden des Betriebssystemabbilds beim Booten stellt sicher, dass diese Server genau die gleiche Softwarekonfiguration haben und im Fehlerfall schnell zurückgesetzt werden können.
Die Verwendung von PXE zum Bereitstellen eines Betriebssystemabbilds wird von vielen Bereitstellungssystemen unterstützt. Dazu gehören die folgenden:
- Microsoft Windows Deployment Services;
- Microsoft Deployment Toolkit (MDT);
- Microsoft Windows Assessment and Deployment Kit;
- Microsoft System Center Configuration Manager; und
- alle wichtigen Linux-Distributionen, einschließlich Red Hat, Ubuntu und Proton.