Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Preboot Execution Environment

Das Preboot Execution Environment (PXE, oft silbisch ausgesprochen Pixie) ist ein ursprünglich vom Unternehmen Intel entwickeltes Client-Server-Modell, …

Inhalt6 Abschnitte
  1. 1. Grundidee und Bedeutung
  2. 2. Entstehung
  3. 3. Bootvorgang
  4. 4. Proxy DHCP
  5. 5. Typische Anwendungen
  6. 6. Bootloader und Varianten

Grundidee und Bedeutung

Das Preboot Execution Environment, kurz PXE, ist ein Client-Server-Modell zum Starten netzwerkfähiger Rechner über ein lokales Rechnernetz. Es wurde ursprünglich von Intel entwickelt. Ein Client kann damit booten, ohne dass das Betriebssystem oder der Bootloader zuerst von einer lokalen Festplatte, einer SSD, einem USB-Stick oder einer DVD geladen werden muss. Stattdessen stellt ein Server die nötigen Daten oder mehrere Boot-Images bereit.

PXE ist besonders in Local Area Networks (LAN) auf Ethernet-Basis wichtig. In Rechenzentren ist es eine bevorzugte Methode, viele Rechner zentral gesteuert zu starten. Damit PXE funktioniert, braucht der Client eine PXE-fähige Netzwerkkarte oder PXE-Unterstützung im BIOS, zum Beispiel PC-BIOS, Open Firmware oder UEFI. Auf Serverseite werden vor allem ein DHCP-Server und ein TFTP-Server genutzt.

Technisch baut PXE auf bestehenden Netzwerkprotokollen auf: DHCP übermittelt die Netzwerkkonfiguration und PXE-spezifische Zusatzinformationen; diese Erweiterungen sind in RFC 4578 festgelegt. Das Trivial File Transfer Protocol (TFTP) dient dazu, Dateien während des Bootvorgangs zu übertragen.

Entstehung

Anfang 1999 schlug Intel der Internet Engineering Task Force eine Arbeitsgruppe zu PXE vor. Diese Arbeitsgruppe kam jedoch nicht zustande.

PXE wurde danach als Teil der Intel-Initiative Wired for Management eingeführt. Die Spezifikation in Version 2.1 wurde von Intel und Systemsoft am 20. September 1999 veröffentlicht.

Bootvorgang

Für PXE werden auf Serverseite ein DHCP-Server und ein TFTP-Server benötigt. Diese Dienste müssen nicht auf demselben physischen Server laufen. Auf Client-Seite muss eine PXE-fähige Netzwerkkarte oder eine entsprechende BIOS-Unterstützung vorhanden sein. Der eigentliche PXE-Code befindet sich nur auf dem Client; auf dem Server richtet die Systemadministration bestimmte DHCP-Konfigurationen ein und stellt am TFTP-Server Dateien zum Download bereit.

Zu Beginn des PXE-Bootvorgangs konfiguriert der Client seine Netzwerkschnittstelle über DHCP. Dabei erhält er zum Beispiel die IP-Netzwerkadresse und die Netzmaske. Zusätzlich werden über DHCP-Erweiterungen PXE-spezifische Daten ausgetauscht. Vom Client können dabei unter anderem die Systemarchitektur und Globally Unique Identifier übertragen werden.

Der DHCP-Server teilt dem Client anschließend mit, welche erste Bootloaderdatei geladen werden soll. Diese Datei heißt Network Bootstrap Program, kurz NBP. Außerdem erhält der Client die Netzwerkadresse des TFTP-Servers, von dem er dieses NBP beziehen kann. Diese Angaben müssen zuvor im DHCP-Server passend konfiguriert worden sein.

Danach lädt der PXE-Client das Network Bootstrap Program vom TFTP-Server und führt es im Arbeitsspeicher aus. Wichtig ist, dass die Bootloaderdatei zur Systemarchitektur des Clients passt und der Binärcode vom Prozessor ausgeführt werden kann. Der Vorgang ähnelt dem Start über den Master Boot Record (MBR) einer lokalen Festplatte, nur dass die Bootloaderdaten über das Netzwerk übertragen werden.

Was danach geschieht, hängt vom initialen Bootloaderprogramm ab und gehört nicht mehr zur PXE-Spezifikation. Häufig lädt das Network Bootstrap Program weitere Zusatzprogramme vom TFTP-Server, etwa für ein grafisches Boot-Menü mit mehreren Auswahlmöglichkeiten, ähnlich wie bei Bootloadern wie dem Grand Unified Bootloader (GRUB). Je nach Client und dessen MAC-Adresse können unterschiedliche Boot-Optionen angeboten werden. Es ist auch möglich, ein Startmenü zu umgehen und direkt eine fest voreingestellte Bootkonfiguration auszuführen.

Proxy DHCP

PXE benötigt neben der normalen Netzwerkkonfiguration zusätzliche Bootparameter, zum Beispiel die Adresse des TFTP-Servers. Dafür sendet die PXE-Firmware ein DHCPDISCOVER-Paket mit PXE-Optionen, ein sogenanntes extended DHCPDISCOVER, per Broadcast an UDP-Port 67.

Wenn vorhandene DHCP-Server diese PXE-spezifischen DHCP-Optionen nicht unterstützen, ignorieren sie die Anfrage. Dann ist kein Booten über PXE möglich. Um PXE trotzdem in eine bestehende Infrastruktur einzubinden, ohne den bisherigen nicht PXE-fähigen DHCP-Server auszutauschen, kann ein Proxy-DHCP eingesetzt werden.

Ein PXE-fähiger Proxy-DHCP läuft parallel zum vorhandenen DHCP-Server im Netzwerk. Er übernimmt nur die PXE-spezifischen Anfragen des PXE-Clients. Die normale DHCP-Funktion kann weiterhin beim bestehenden DHCP-Server bleiben.

Typische Anwendungen

PXE kann für Thin Clients eingesetzt werden. Thin Clients sind hier vollwertige PC-Systeme ohne lokale Festplatte oder Solid-State-Drive. Der Start erfolgt über PXE, und das Speichermedium wird anschließend durch netzwerkbasierte Dateisysteme wie das Network File System (NFS) bereitgestellt.

Der Vorteil solcher Thin Clients ist, dass am Client außer dem Teil im BIOS keine Software vorgehalten wird. Dadurch entfällt auch die Softwarewartung direkt am Client. Ein Speicherabbild kann unter Umständen für viele gleichartige Clients parallel genutzt werden, was Aktualisierungen vereinfacht. Der Nachteil ist ein höherer Datenverkehr im Netzwerk, weil prinzipiell alle gespeicherten Daten über das Netzwerk zu einem zentralen Speichersystem wie einem Network Attached Storage (NAS) übertragen werden müssen. Die Einrichtung von Thin Clients ohne eigenen Massenspeicher wird durch Software wie das Linux Terminal Server Project (LTSP) erleichtert.

PXE wird außerdem zur Systemwartung genutzt, auch bei Clients mit lokalen Festplatten. Bei Bedarf können Live-Systeme wie Knoppix, Parted Magic oder Clonezilla gestartet werden. Dafür wird kein physisches Bootmedium wie ein vorbereiteter USB-Stick oder eine DVD benötigt. Auch lokaler Speicherplatz auf den Festplatten muss nicht für nur gelegentlich benötigte Bootsysteme reserviert werden.

Bootloader und Varianten

Ein mögliches Bootloaderprogramm im BIOS-Modus, auch CSM genannt, ist PXELINUX aus dem Projekt SYSLINUX. PXELINUX stellt vom initialen Network Bootstrap Program ausgehend viele verschiedene Module für den Bootvorgang bereit. Dazu gehören grafische Boot-Menüs, die Möglichkeit, den Linux-Kernel ohne weiteren Lader mit passenden Parametern zu starten, und das Booten bootfähiger ISO-Abbilder von DVDs über PXE ohne Konvertierung.

Eine weitere Möglichkeit ist eine netzwerkfähige Version von GRUB2. In Kombination mit Zusatzprogrammen wie dem UEFI shim loader kann damit über PXE im Modus des Unified Extensible Firmware Interface (UEFI) gebootet werden. Mit entsprechend signiertem shim-Bootloader und GRUB2 ist im Rahmen von UEFI auch Secure Boot möglich, zum Beispiel für Linux über das Netzwerk.

Kompatible Alternativen zum von Intel entwickelten PXE-Client waren oder sind die Open-Source-Projekte Etherboot und iPXE. Etherboot ist seit 2010 eingestellt. Bei solchen Ansätzen wird die Firmware auf der Netzwerkkarte durch eine projektspezifische Variante ersetzt. Das erfordert allerdings einen Hardwareeingriff auf der Netzwerkkarte, was bei vielen in die Hauptplatine integrierten Netzwerkadaptern nicht einfach möglich ist.

Eine proprietäre Weiterentwicklung auf PXE-Basis ist Windows Deployment Services (WDS) von Microsoft. Dabei wird ein im Funktionsumfang reduziertes Windows PE über PXE als „Bootloaderprogramm“ geladen. Windows PE dient vor allem dazu, über das Netzwerk viele Zielrechner mit einer regulären MS-Windowsversion auszustatten.

Weiterlesen

Client-Server-Modell Das Client-Server-Modell (auch Client-Server-Konzept, -Architektur, -System oder -Prinzip genannt) beschreibt eine Möglichkeit, Aufgaben und … Client Man nennt auch ein Endgerät selbst, das Dienste von einem Server abruft, Client. Das Gegenstück zum Client ist das jeweilige Serverprogramm bzw. der Server … Server Ein Server als Software ist ein Programm, das im Client-Server-Modell mit einem anderen Programm, dem Client (englisch für Kunde), kommuniziert. · Ein Hardware- … Rechnernetz Ein Rechnernetz, Computernetz oder Computernetzwerk ist ein Zusammenschluss verschiedener technischer, primär selbstständiger elektronischer Systeme … Booten Der Bootprozess eines Computers verläuft in mehreren Stufen. Nach dem Einschalten wird zunächst ein einfaches Programm aus einem kleinen Festwertspeicher (ROM) … Netzwerkkarte Ihre primäre Aufgabe ist die Herstellung einer physikalischen Verbindung zum Netzwerk über ein geeignetes Zugriffsverfahren (z. B. CSMA/CD) und die … BIOS Als BIOS (IPA: [ˈbaɪɔs],) – von englisch basic input/output system – wird im Allgemeinen die Firmware eines Personal Computer bezeichnet („PC-Firmware“), … Unified Extensible Firmware Interface Das Unified Extensible Firmware Interface (kurz UEFI, englisch für einheitliche erweiterbare Firmware-Schnittstelle) ist eine von Intel 1998 veröffentlichte … Dynamic Host Configuration Protocol Das Dynamic Host Configuration Protocol (DHCP) ist ein Kommunikationsprotokoll in der Computertechnik. Es ermöglicht die Zuweisung der Netzwerkkonfiguration … Local Area Network Fast-Ethernet 100BASE-TX und Gigabit-Ethernet 1000BASE-T sind innerhalb der Ethernet-Familie die am weitesten verbreiteten Varianten. Hauptsächlich für … Ethernet Derzeit sind Übertragungsraten von 1, 10, 100 Megabit/s (Fast-Ethernet), 1000 Megabit/s (Gigabit-Ethernet), 2,5, 5, 10, 25, 40, 50, 100, 200 und 400 Gigabit/s … IP-Adresse Im Falle von Ethernet-Netzen dient das ARP (Address Resolution Protocol) zum Auffinden der Hardwareadresse. ARP arbeitet auf der zweiten Schicht des OSI …