Preboot Execution Environment
PXE (anglicky Preboot execution environment) je v informatice označení technologie pro bootování (tj. start) počítačů z počítačové sítě. Využívá se pro tenké klienty, které nemají pevný disk, pro diagnostiku, pro automatické instalace operačních systémů a podobně (např. informační kiosky, počítače v knihovně, instalaci systému do počítače bez optické mechaniky atd.).
Charakteristika
PXE je standard zavedený firmou Intel v září roku 1999.[1] Nahradila a sjednotila předchozí technologie pro start počítače za pomocí počítačové sítě (např. metodu využívající BOOTP nebo server Novell NetWare a protokol NCP přes IPX/SPX). Stejně jako předchozí technologie rozšiřuje PXE možnosti startu počítače tím, že je k síťové kartě dodána flash paměť s kódem rozšiřujícím schopnosti BIOSu o zavedení operačního systému z počítačové sítě. Dnes je PXE standardní součástí BIOSu na základních deskách, které mají integrovánu síťovou kartu, avšak PXE najdeme i jako rozšíření BIOSu na samostatných síťových kartách, které jsou zasunovány do slotů sběrnice (např. PCI nebo PCI-Express).
PXE je nezávislé na počítačové platformě, takže není závislé ani na použitém hardware ani na použitém software (operačním systému).
Princip komunikace
Síťové bootování pomocí PXE využívá Internet Protocol (IP). Pro zjištění základního nastavení je využíván protokol DHCP, který je přenášen uvnitř UDP datagramů. Poté je pomocí TFTP protokolu stažen soubor z TFTP serveru (též používá UDP protkol), který je následně spuštěn (tzv. bootstrapping). Obvykle se jedná o speciální program, který pomocí menu umožní uživtaeli ovlivnit další postup, ale může to být už přímo jádro systému. Klient může ovlivnit bootstrapping též pomocí specifických parametrů předaných DHCP serveru. Nadstavba iPXE rozšiřuje možnosti například o využití protokolu HTTP, iSCSI apod.
Bootovací server
Po inicializaci BIOSu požádá počítač pomocí DHCP o sdělení základních údajů nutných pro využívání rodiny protokolů TCP/IP tak, že vyšle broadcastovou zprávu v UDP datagramu s vloženou DHCP zprávou typu DHCPDISCOVER s nastaveným PXE příznakem. Na něj odpoví pouze takový DHCP server, který má v konfiguračním souboru dhcpd.conf
nastaven parametr allow booting a allow bootp (ostatní DHCP servery budou požadavek ignorovat). DHCP server odešle klientovi DHCPOFFER se základními údaji: IP adresa, maska sítě, default gateway a adresa TFTP serveru.
Spojení se serverem
Pokud byl určen TFTP server, PXE ho kontaktuje pomocí DHCPREQUEST (multicast či unicast) se žádostí o sdělení kompletní cesty k síťovému bootstrapping programu (tzv. NBP, tj. zaváděcí program stažený přes síť). DHCP server odpoví pomocí DHCPACK.
Stažení zaváděcího programu
Nyní dojde ke stažení bootstrapping programu, tj. zavaděče do operační paměti RAM. Umístění v paměti je závislé na architektuře klienta. Může též proběhnout kontrola autenticity - klient si vyžádá soubor s kontrolním součtem a porovná s kontrolním součtem staženého bootstraping programu.
Spuštění NBP
V posledním kroku je spuštěn stažený NBP, který dále sám zajišťuje síťovou komunikaci a průběh instalace nebo spouštění systému.
DHCP proxy
Pokud je primární požadavek na zjištění dostupných PXE-bootovacích serverů zachycen proxy DHCP serverem, je paket typu DHCPOFFER rozšířen o následující informace: seznam IP adres dostupných bootovacích serverů, bootovací menu pro jejich výběr a timeout (časový limit), po jehož vypršení se vybere první záznam. Tak si klient může vybrat z více dostupných alternativ.
Zavaděče s podporou PXE
Bootstrap program může obsahovat libovolný kód, nicméně pro spouštění konktérních operačních systémů je třeba zvolit kompatibilní zavaděč s podporou síťového bootování přes PXE - to umožňuje např. BootX (pro Mac OS X), GRUB (který následně volá proprietární zavaděče jednotlivých systémů) či RedBoot. Pro systémy UNIX je asi nejznámější SYSLINUX, resp. jeho derivát PXELINUX. Windows lze nainstalovat pomocí služby Remote Installation Service (RIS), kde se do cílové operační paměti načte RAM disk pro spuštění Windows PE (předinstalační prostředí). Nástupcem RIS je ve Windows systémech verze vyšší, než Vista, resp. Windows Server 2008 technologie Windows Deployment Services (WDS), která přináší zároveň nadstavbu pro využití dalších protokolů a služeb zejména pro hromadné síťové instalace.
iPXE
iPXE je nadstavbou k běžné integraci PXE technologie. Tato metoda umožňuje počítačům bez zabudované podpory PXE využívat funkce bootování přes síť a počítačům již využívajícím PXE rozšířit službu o protokoly jako HTTP, iSCSI nebo ATA over Ethernet (AoE) - zároveň nabízí podporu i Wi-Fi sítí. iPXE může být implementováno či zavedeno několika způsoby - buď se jedná o rozšiřující čip na síťové kartě (popř. chipsetu), o součást BIOSu (nebo UEFI u nových systémů), speciální obraz standardního PXE programu získaného ze sítě anebo načteno z diskety, USB Mass Storage či běžného pevného disku. iPXE navíc umožňuje implementovat grafické menu pro síťový boot.
Reference
- ↑ Preboot Execution Environment (PXE) Specification [online]. [cit. 2009-02-18]. Dostupné online.
Zdroje
- PXE Specifikace - oficiálně vydaná spefifikace ve verzi 2.1
Externí odkazy
- DVD mechaniky končí, přichází čas startovat ze sítě - využití PXE pro instalaci Linuxu vč. konfigurace serveru
- Microsoft Knowledge Base - popis interakce systému RIS s PXE