Ausführungsumgebung vor dem Start
Im Computering die Ausführungsumgebung vor dem Start, Pxe (meistens ausgesprochen als als /ˈpɪksich/ Elf, oft als PXE -Stiefel bezeichnet/Pixie -Stiefel.) Spezifikation beschreibt eine standardisierte Kundenserver Umgebung, die Stiefel Eine Software-Montage, die aus einem Netzwerk auf PXE-fähigen Clients abgerufen wurde. Auf der Clientseite erfordert es nur ein PXE-fähiger Netzwerkschnittstellencontroller (NIC) und verwendet eine kleine Reihe von Netzwerkprotokollen aus Branchenstandards wie z. DHCP und TFTP.
Das Konzept hinter dem PXE entstand in den frühen Tagen von Protokollen wie Bootp/DHCP/TFTP und ab 2015[aktualisieren] es ist Teil der Einheitliche erweiterbare Firmware -Schnittstelle (UEFI) Standard. In modernen Rechenzentren ist PXE die häufigste Wahl[1] Für das Betriebssystem Booting, Installation und Bereitstellung.
Überblick
Seit Beginn von Computernetzwerken gab es einen anhaltenden Bedarf an Klient Systeme, die können Stiefel Entsprechende Softwarebilder mit geeigneten Konfigurationsparametern wurden beide zur Startzeit von einem oder mehreren Netzwerk abgerufen Server. Dieses Ziel erfordert, dass ein Kunde eine Reihe von Pre-Boot-Diensten nutzt, die auf Industriestandard basieren Netzwerkprotokolle. Darüber hinaus muss das ursprünglich heruntergeladene und ausgeführte NETRAP -Programm (NBP) mit einem Client erstellt werden Firmware Layer (auf dem Gerät, das über PXE stationiert werden soll) bietet eine hardwareunabhängige standardisierte Möglichkeit, mit der umgebenden Netzwerk -Booting -Umgebung zu interagieren. In diesem Fall sind die Verfügbarkeit und Unterwerfung der Standards ein Schlüsselfaktor, der erforderlich ist, um die Interoperabilität des Netzwerk -Boot -Prozesses zu gewährleisten.
Einer der ersten Versuche in dieser Hinsicht war das Bootstrap -Laden mit TFTP -Standard RFC 906, das 1984 veröffentlicht wurde und die 1981 veröffentlichten 1981 gründete Triviales Dateiübertragungsprotokoll (TFTP) Standard -RFC 783, das als Standard -Dateiübertragungsprotokoll für das Laden von Bootstrap verwendet werden soll. Kurz darauf folgte die Bootstrap -Protokoll Standard RFC 951 (BOOTP), das 1985 veröffentlicht wurde und es einem Client-Maschine ohne Festplatte ermöglichte, eine eigene IP-Adresse, die Adresse eines TFTP-Servers und den Namen eines NBP in Speicher und ausgeführt zu werden. BOTP -Implementierungsschwierigkeiten führten unter anderem schließlich zur Entwicklung der Dynamisches Hostkonfigurationsprotokoll Standard RFC 2131 (DHCP), das 1997 veröffentlicht wurde.
Die PROBOT -Ausführungsumgebung (PXE) wurde als Teil der eingeführt Für das Management verdrahtet[2] Rahmen von Intel und wird in der von Intel und Systemsoft veröffentlichten Spezifikation beschrieben. PXE Version 2.0 wurde im Dezember 1998 veröffentlicht und das Update 2.1 wurde im September 1999 veröffentlicht.[3] Die PXE -Umgebung nutzt mehrere Standard -Client -Server -Protokolle, einschließlich DHCP und TFTP (jetzt definiert durch das veröffentlichte RFC 1350 von 1992). Innerhalb des PXE -Schemas ist die Client -Seite der Bereitstellungsgleichung ein wesentlicher Bestandteil des PXE -Standards und wird entweder als a implementiert Netzwerkkarte (Nic) BIOS Erweiterung oder aktuelle Geräte in Uefi Code. Diese unverwechselbare Firmware -Ebene stellt beim Client die Funktionen einer grundlegenden Universal Network Device Interface (UNDI) zur Verfügung, eine minimalistische UDP/IP Stack, ein Preboot (DHCP) -Clientmodul und ein TFTP -Client -Modul zusammen, das zusammen das PXE bildet Anwendungsprogrammierschnittstellen (APIs) vom NBP verwendet, um mit den vom Server -Gegenstück zur PXE -Umgebung angebotenen Dienste zu interagieren. TFTP ist niedrig Durchsatz, besonders wenn es über hoch verwendet wird.Latenz Links, die zunächst durch die im Mai 1998 veröffentlichte TFTP -Blöcke -Option RFC 2348 gemindert wurden, und später mit der im Januar 2015 veröffentlichten TFTP -Windows -Option RFC 7440, die potenziell größere Nutzlastlieferungen ermöglicht und damit den Durchsatz verbessert.
Einzelheiten
Die PXE-Umgebung basiert auf einer Kombination aus Branchen-Internet-Protokollen, nämlich UDP/IP, DHCP und TFTP. Diese Protokolle wurden ausgewählt, weil sie in der NIC-Firmware des Kunden problemlos implementiert werden können, was zu standardisierten Kleinern führt.Fußabdruck Pxe roms. Standardisierung, geringe Größe von PXE-Firmware-Bildern und deren geringe Verwendung von Ressourcen sind einige der primären Designziele, sodass die Client-Seite des PXE-Standards auf einer Vielzahl von Systemen identisch implementiert werden kann, von leistungsstarken Client-Computern bis hin zu ressourcenbegrenzten Systemen Single-Board-Computer (SBC) und System-on-a-Chip (SOC) Computer.
DHCP wird verwendet, um die entsprechenden Client -Netzwerkparameter und insbesondere den Speicherort (IP -Adresse) des TFTP -Server -Hostings, den Download, das erste Bootstrap -Programm (NBP) und die Komplementärdateien bereitzustellen. Soitieren Sie eine PXE -Bootstrap -Sitzung Die DHCP Sendungen ein DHCPDiscover-Paket mit PXE-spezifischen Optionen für Port 67/UDP (DHCP-Serverport); Es wird nach den erforderlichen Netzwerkkonfigurations- und Netzwerk -Boot -Parametern aufgefragt. Die PXE-spezifischen Optionen identifizieren die initiierte DHCP-Transaktion als PXE-Transaktion. Standard -DHCP -Server (nicht pxe aktiviert) können mit einer regelmäßigen DHCPOFFER -Networking -Informationen (d. H. IP -Adresse), nicht jedoch den PXE -spezifischen Parametern, beantworten. Ein PXE -Client kann nicht starten, wenn er nur eine Antwort von einem nicht pxe -fähigen DHCP -Server empfängt.
Nach dem Parsen eines PXE -fähigen DHCP -Server -DHCPoffer kann der Client seine eigene Netzwerk -IP -Adresse, IP -Maske usw. festlegen und auf die Netzwerk -Bootsressourcen verweisen, basierend auf der empfangenen TFTP -Server -IP -Adresse und dem Namen von die NBP. Der Client überträgt die NBP als nächstes in seine eigene Arbeitsspeicher (RAM) Mit TFTP überprüft es möglicherweise (d. H. UEFI Sicherer Startvorgang), und schließlich stirbt es daraus. NBPS sind nur die erste Verbindung im Startkettenprozess und fordern im Allgemeinen über TFTP eine kleine Reihe ergänzender Dateien an, um eine minimalistische OS -Exekutive auszuführen (d. H. Windows, oder ein grundlegender Linux Kernel+initrd). Der Small OS -Manager lädt seine eigenen Netzwerktreiber und TCP/IP -Stack. Zu diesem Zeitpunkt werden die verbleibenden Anweisungen zum Booten oder Installieren eines vollständigen Betriebssystems nicht über TFTP bereitgestellt, sondern ein robustes Transferprotokoll (wie z. Http, CIFs, oder NFS).
Integration
Die PXE -Client/Server -Umgebung wurde so konzipiert, dass sie nahtlos in eine bereits vorhandene DHCP- und TFTP -Serverinfrastruktur integriert werden kann. Dieses Designziel stellte eine Herausforderung beim Umgang mit dem klassischen DHCP -Protokoll dar. Unternehmens -DHCP -Server unterliegen in der Regel strengen Richtlinien, mit denen die zusätzlichen Parameter und Regeln, die zur Unterstützung einer PXE -Umgebung erforderlich sind, leicht hinzufügen können. Aus diesem Grund entwickelte der PXE -Standard das Konzept der DHCP -Umleitung oder "proxydhcp". Die Idee hinter einem ProxydHCP besteht darin, die PXE -DHCP -Anforderungen in zwei unabhängig ausgeführten und verwalteten Servereinheiten aufzuteilen:
- Der klassische DHCP -Server liefert IP -Adresse, IP -Maske usw. an alle bootenen DHCP -Clients.
- Der ProxyDHCP -Server, der die IP -Adresse und den Namen der TFTP -Server -IP und den Namen der NBP bereitstellt Nur an PXE identifizierte Bootsclients.
In einer DHCP Plus ProxydHCP Server -Umgebung[3]: 18 Der PXE -Client sendet zunächst ein einzelnes PXE -DHCPDiscover -Paket und erhält zwei komplementäre DHCPoffers. Einer aus dem regulären, nicht pxe -fähigen DHCP -Server und einer zweiten vom Proxydhcp -Server. Beide Antworten gemeinsam geben die erforderlichen Informationen, damit der PXE -Client seinen Bootsvorgang fortsetzt. Dieser nicht-intrusive Ansatz ermöglicht das Einstellen einer PXE-Umgebung, ohne die Konfiguration eines bereits funktionierenden DHCP-Servers zu berühren. Der ProxyDHCP -Dienst kann auch auf demselben Host wie der Standard -DHCP -Dienst ausgeführt werden, aber selbst in diesem Fall werden sie beide unabhängig voneinander ausführen und Anwendungen verwaltet. Da zwei Dienste nicht denselben Port 67/UDP auf demselben Host verwenden können, wird der Proxydhcp auf Port 4011/UDP ausgeführt. Der Proxydhcp -Ansatz hat sich in einer Vielzahl von PXE -Szenarien von Unternehmen zu Hause als äußerst nützlich erwiesen.
Verfügbarkeit
PXE wurde unter Berücksichtigung mehrerer Systemarchitekturen konzipiert. Die Version 2.1 der Spezifikation definierte Architektur -Kennungen für sechs Systemtypen, einschließlich IA-64 und Dec Alpha. PXE v2.1 jedoch nur vollständig abgedeckt IA-32. Trotz dieses offensichtlichen Mangels an Vollständigkeit hat Intel kürzlich beschlossen, PXE in der neuen zu unterstützen Uefi Spezifikation, die die PXE -Funktionalität auf alle EFI/UEFI -Umgebungen erweitert. Aktuelle, einheitliche erweiterbare Firmware -Schnittstellenspezifikation 2.4a, Abschnitt 21 Netzwerkprotokolle - SNP, PXE und BIS definiert die Protokolle, die Zugriff auf Netzwerkgeräte bieten, während sie in der Umgebung von UEFI Boot Services ausgeführt werden. Diese Protokolle umfassen das einfache Netzwerkprotokoll (SNP), das PXE -Basiscode -Protokoll (PXE) und das Boot Integrity Services Services Protocol (BIS).[4][5] Heute basiert in einer PXE -Umgebung die Erkennung von Client -Architektur selten auf den ursprünglich in der PXE v2.1 -Spezifikation enthaltenen Kennungen. Stattdessen sollte jeder Computer, der aus dem Netzwerk bootet, die DHCP -Option 93 festlegen, um die Architektur des Clients anzuzeigen. Auf diese Weise kann ein PXE -Server (zur Startzeit) die genaue Architektur des Clients aus dem ersten Netzwerk -Boot -Paket kennen. Die Werte der Client -Systemarchitektur sind (unter anderem PXE -Parameter) in den von 2006 veröffentlichten RFC 4578 (DHCP -Optionen für Dynamic Host Configuration Protocol (Dynamic Host Configuration Protocol) für die Intel Preboot Execution Umgebung (PXE)) aufgeführt.
Mit dem Aufkommen von IPv6 DHCP hat sich zu entwickelt zu DHCPv6; Die Notwendigkeit von Optionen, die PXE im neuen DHCP -Protokoll unterstützen, wurde vom 2010 veröffentlichten RFC 5970 (DHCPv6 -Optionen für den Netzwerkstart) behandelt.
Die ursprüngliche PXE -Client -Firmware -Erweiterung wurde als Option ROM für die IA-32 BIOS, so a persönlicher Computer (PC) wurde ursprünglich PXE-fähig gemacht, indem a installiert wurde Netzwerkschnittstellencontroller (NIC), das eine PXE -Option lieferte. Heute ist der Client PXE -Code direkt in der eigenen Firmware der NIC oder als Teil der UEFI -Firmware auf dem Motherboard enthalten.
Auch wenn die ursprüngliche Client -PXE -Firmware von Intel geschrieben und immer kostenlos als verknüpfbares IA32 zur Verfügung gestellt wurde Objektcodeformat Modul in ihrem Produktentwicklungs-Kit (PDK), der Open Source World hat im Laufe der Jahre nicht standardmäßige Derivatprojekte wie produziert, wie gpxe/ipxe ihre eigenen ROMs anbieten. Während Intel -basierte ROMs seit mehr als 20 Jahren die Client -Seite des PXE -Standards implementieren, waren einige Benutzer bereit, zusätzliche Funktionen gegen Stabilität und PXE -Standardkonformität zu tauschen.[6]
Annahme
PXE -Akzeptanz seit v2.1 war allgegenwärtig; Heute ist es praktisch unmöglich, eine Netzwerkkarte ohne PXE -Firmware zu finden. Die Verfügbarkeit von kostengünstigem Gigabit Ethernet Hardware (NICS, Schalter, Routerusw.) hat PXE zur schnellsten Methode zur Installation eines Betriebssystems für einen Kunden gemacht, wenn er gegen den Klassiker konkurriert CD, DVD, und USB-Stick Alternativen.
Im Laufe der Jahre umfassten mehrere Großprojekte PXE -Unterstützung, darunter:
- Alle wichtigen Linux -Verteilungen.
- HP OpenVMS an Itanium Hardware.
- Microsoft Remote -Installationsdienste (Ris)
- Microsoft Windows -Bereitstellungsdienste (WDS)
- Microsoft Deployment Toolkit (MDT)
- Microsoft Systemcenter -Konfigurationsmanager (SCCM)
In Bezug auf die NBP -Entwicklung gibt es mehrere Projekte, in denen Bootsmanager implementiert werden können, um erweiterte Funktionen, Skriptfunktionen usw.
Alle oben genannten Projekte, wenn sie mehr als ein Betriebssystem booten/installieren können, arbeiten unter einem Paradigma "Boot Manager - Bootloader". Der anfängliche NBP ist ein Boot -Manager, der seine eigene Konfiguration abrufen und ein Menü mit Bootsoptionen bereitstellen kann. Der Benutzer wählt eine Bootsoption aus und ein os -abhängiger Bootloader wird heruntergeladen und ausgeführt, um mit der ausgewählten spezifischen Booting -Prozedur fortzufahren.
Geschwisterumgebungen
Apfel hat einen sehr ähnlichen Netzwerk -Boot -Ansatz unter dem Dach des Boot Server Discovery Protocol (BSDP) Spezifikation. BSDP V0.1 wurde ursprünglich im August 1999 von Apple veröffentlicht[7] und sein letztes V1.0.8 wurde im September 2010 veröffentlicht.[8] Das OS X -Server Enthält ein Systemwerkzeug namens namens Netboot. Ein Netboot -Client verwendet BSDP, um Ressourcen dynamisch zu erwerben, mit denen er ein geeignetes Betriebssystem booten kann. BSDP wird auf DHCP unter Verwendung von Anbieter-spezifischen Informationen hergestellt, um die zusätzliche Netboot-Funktionalität bereitzustellen, die nicht in Standard-DHCP vorhanden ist. Das Protokoll ist in Client -Firmware implementiert. Zum Startzeit erhält der Client eine IP -Adresse über DHCP und entdeckt dann Startserver mithilfe von BSDP. Jeder BSDP -Server antwortet mit Bootsinformationen, die bestehen aus:
- Eine Liste von bootfähigen Betriebssystembildern
- Das Standard -Betriebssystembild
- Das derzeit ausgewählte Betriebssystembild des Clients (falls definiert)
Der Client wählt ein Betriebssystem aus der Liste aus und sendet eine Nachricht an den Server, der seine Auswahl angibt. Der ausgewählte Startserver antwortet und liefert das Boot -Datei und das Boot -Image sowie alle anderen Informationen, die zum Herunterladen und Ausführen des ausgewählten Betriebssystems erforderlich sind.
Nachkommensumgebungen
Microsoft Erstellte eine nicht überlappende Erweiterung der PXE-Umgebung mit ihrer Startinformationsschicht (BINL). Binl wird als Serverdienst implementiert und ist eine Schlüsselkomponente der Strategien für Remote -Installationsdienste (RIS) und Windows Deployment Services (WDS). Es enthält bestimmte Vorbereitungsprozesse und ein Netzwerkprotokoll, das irgendwie als von Microsoft gefertigte DHCP-Erweiterung angesehen werden kann. Binl ist eine Microsoft Proprietary -Technologie, die PXE -Standard -Client -Firmware verwendet. Derzeit gibt es keine öffentlich verfügbare Binl -Spezifikation.
IETF Standards Dokumentation
RFC # | Titel | Veröffentlicht | Autor | Informationen veraltet und aktualisieren Sie Informationen |
---|---|---|---|---|
RFC 783 | Das TFTP -Protokoll (Revision 2) | June-1981 | K. Sollins | Veraltet von - RFC 1350 |
RFC 906 | Bootstrap -Laden mit TFTP | June-1984 | Ross Finlayson | - |
RFC 951 | Bootstrap -Protokoll | September-1985 | Bill Croft | Aktualisiert von RFC 1395, RFC 1497, RFC 1532, RFC 1542, RFC 5494 |
RFC 1350 | Das TFTP -Protokoll (Revision 2) | Jul-1992 | K. Sollins | Aktualisiert von RFC 1782, RFC 1783, RFC 1784, RFC 1785, RFC 2347, RFC 2348, RFC 2349 |
RFC 2131 | Dynamisches Hostkonfigurationsprotokoll | März-1997 | R. Droms | Aktualisiert von RFC 3396, RFC 4361, RFC 5494, RFC 6842 |
RFC 2348 | TFTP -Blockierungsoption | Mai 1998 | G. Malkin | - |
RFC 4578 | DHCP -Optionen für den Intel PXE | Nov.-2006 | M. Johnston | - |
RFC 5970 | DHCPv6 -Optionen für den Netzwerkstart | September 2010 | T. Huth | - |
RFC 7440 | TFTP Windowsize -Option | Januar 2015 | P. Masotta | - |
Siehe auch
- Disklose Knoten- disklose Computer
- Boot -Service -Discovery -Protokoll- Apple -Netzwerk -Boot -Protokoll
- Remote -Anfangsprogrammlast (RIPL oder RPL)
- Systembereitstellungsbild (SDI) - vor allem mit Microsoft -Produkten
- Einheitliche erweiterbare Firmware -Schnittstelle- UEFI -Netzwerk Booting
- Wake on LAN (Wol)
- Windows -Bereitstellungsdienste-PXE-basierte Bereitstellung für Microsoft Windows
Verweise
- ^ Avramov, Lucien (31. Dezember 2014). Das politisch gesteuerte Rechenzentrum mit ACI: Architektur, Konzepte und Methodik. Cisco Press. p. 43. ISBN 978-1587144905.
In modernen Rechenzentren installieren Administratoren selten neue Software über abnehmbare Medien wie DVDs. Stattdessen verlassen sich Administratoren auf PXE (Pre -Boot Execution Umgebung), die auf Bildserver booten.
- ^ "Verdrahtet für das Management Baseline - Version 2.0 Release" (PDF). Intel Corporation. 1998-12-18. Abgerufen 2014-02-08.
- ^ a b "PXE -Spezifikation (PROBOT Execution Environment) - Version 2.1" (PDF). Intel Corporation. 1999-09-20. Archiviert von das Original (PDF) Am 2013-11-02. Abgerufen 2014-02-08.
- ^ "Unified Extensible Firmware -Schnittstellenspezifikation" (PDF).Uefi.2013-12-02. Abgerufen 2014-04-04.
- ^ "UEFI PXE -Boot -Leistungsanalyse" (PDF). Intel Corporation. 2014-02-02. Archiviert von das Original (PDF) Am 2014-08-08. Abgerufen 2014-04-04.
- ^ "Etherboot/GPXE Wiki". Etherboo.org.
- ^ "Netboot 2.0: Boot Server Discovery Protocol (BSDP) v0.1" (Doc). Apple Corporation. 2003-12-02. Abgerufen 2014-04-04.
- ^ "Netboot 2.0: Boot Server Discovery Protocol (BSDP) v1.08" (Doc). Apple Corporation. 2010-09-17. Abgerufen 2014-04-04.
Externe Links
- PXE -Spezifikation- Die von Intel & Systemsoft veröffentlichte Spezifikation der Vorabführungsumgebung v2.1 veröffentlicht
- Bis Spezifikation- Die von Intel veröffentlichte Startintegritätsdienstespezifikation v1.0 veröffentlicht
- Intel Preboot Execution Umgebung-Internet-Draft 00 des PXE-Client/Server-Protokolls in der PXE-Spezifikation enthalten
- PXE -Fehlercodes- Ein Katalog von PXE -Fehlercodes