Che cos’è preboot execution environment (PXE)?
PXE (Preboot Execution Environment), pronunciato pixie, è un insieme di standard che consente a un computer di caricare un sistema operativo (OS) tramite una connessione di rete. PXE può essere utilizzato per installare rapidamente un sistema operativo ed è comunemente usato sia per i server e client. Può anche essere chiamato avvio PXE, avvio dalla rete, avvio di rete o avvio di rete locale.
PXE può semplificare notevolmente grandi distribuzioni di computer. Sostituisce l’utilizzo di un’unità compact disc (CD) o Universal Serial Bus (USB) per installare un sistema operativo. Una singola immagine del sistema operativo può essere installata rapidamente su molti computer contemporaneamente.
Come funziona PXE?
PXE richiede diversi standard per il client e il server per l’avvio corretto. Il client deve supportare PXE nel firmware UEFI (Unified Extensible Firmware Interface) o NIC (Network Interface Card). La rete deve disporre di un server DHCP (Dynamic Host Configuration Protocol) configurato e di un server TFTP (Trivial File Transfer Protocol). C’è generalmente anche un altro server di imaging.
Il server DHCP utilizza le opzioni 66 e 67 per pubblicizzare l’indirizzo IP (Internet Protocol) del server di avvio PXE. Il client contatta quindi il server di avvio e scarica e avvia il programma di Bootstrap di rete (NBP) utilizzando TFTP. NBP è un piccolo sistema operativo che contiene solo un kernel, driver di base e programmi di base che possono scaricare i restanti componenti del sistema operativo. L’ambiente di preinstallazione di Windows o un piccolo sistema operativo Linux sono i sistemi operativi più comuni caricati da un avvio di rete.
Un server proxyDHCP può essere utilizzato per gestire le richieste PXE.
Come funziona il processo di avvio PXE?
Ecco i passaggi del processo di avvio PXE:
- Il BIOS (Basic Input/Output System) del client avvia l’avvio PXE. Questo può essere selezionato dall’operatore client o può essere un’opzione di ripiego quando altri supporti di avvio non riesce.
- Il client trasmette una richiesta DHCP e una richiesta PXE.
- Il server DHCP risponde con la risposta DHCP in modo che il client possa impostare un indirizzo IP e risponde con l’indirizzo IP del server TFTP e il nome del file NBP.
- Il client scarica e avvia NBP.
Molti computer moderni supportano l’avvio PXE utilizzando sia IPv4 che IPv6. Esistono alcune implementazioni specifiche del fornitore di avvio di rete tramite Wi-Fi, ma non esiste uno standard PXE Wi-Fi.
Avvio di rete è una funzione client. Il codice per PXE è contenuto nel BIOS UEFI della scheda madre o nella memoria di sola lettura del firmware NIC (ROM). È una funzionalità standard su computer e server aziendali, ma può essere omessa su alcuni hardware consumer. Su alcuni computer, deve essere attivato nella configurazione del BIOS del computer. L’implementazione più utilizzata di PXE utilizza i driver Intel.
I computer Apple macOS non supportano PXE. Usano un sistema simile ma incompatibile chiamato Boot Server Discovery Protocol (BSDP). BSDP utilizza un client NetBoot per accedere a un server di distribuzione Apple.
Come si usa PXE?
PXE è un potente strumento in grado di semplificare notevolmente il lavoro di tutto il personale informatico. È utile per client, server, macchine virtuali (VM) e dispositivi IoT (Internet of Things) incorporati.
L’uso principale di PXE è quello di installare un nuovo sistema operativo su computer nuovi o malfunzionanti. Questo può essere un sistema operativo client, come Windows 10 o Ubuntu Linux, o un sistema operativo server, come Windows Server 2019 o Arch Linux. PXE può sostituire utilizzando unità USB o CD-ROM come supporto di installazione.
L’installazione di un sistema operativo da PXE anziché da supporti fisici presenta spesso molti vantaggi:
- PXE è più conveniente in quanto l’accesso alla rete è solitamente più disponibile di un dispositivo di avvio dedicato.
- Le reti moderne possono essere più veloci delle unità CD o USB.
- Il caricamento di un’immagine da un percorso di rete centrale garantisce l’utilizzo dell’immagine del sistema operativo più recente.
PXE è supportato dalla maggior parte dei framework VM. In questo modo, una nuova VM può essere generata e quindi rapidamente imaged tramite una connessione di rete.
Una distribuzione PXE può anche essere utilizzata per ospitare strumenti di risoluzione dei problemi e manutenzione. Durante il processo di avvio PXE, NBP può presentare all’operatore una scelta del sistema operativo da caricare. Un’organizzazione può ospitare una semplice distribuzione Linux in grado di eseguire test hardware e disporre di strumenti in grado di eseguire la manutenzione avanzata del client, come la clonazione del disco, il partizionamento del disco, la cancellazione sicura del disco o il ripristino della password.
I computer senza disco o thin client possono utilizzare PXE per caricare un sistema operativo ad ogni avvio. Un computer senza disco non dispone di memoria fissa su un disco rigido o unità a stato solido. Un thin client può essere configurato senza memoria fissa e carica il suo piccolo sistema operativo ad ogni accensione. Ciò garantisce che nessun dato venga salvato nel client. I dispositivi IoT possono anche contattare un server PXE per caricare automaticamente il proprio sistema operativo.
L’utilizzo di server senza disco che caricano un sistema operativo da PXE ad ogni avvio è popolare per server ad alta sicurezza o cluster HPC (High-Performance Computing). Un server ad alta sicurezza può gestire i dati sensibili dei clienti, ma essere situato in una colocation server pubblico. Se il server dovesse essere rimosso o sequestrato, un server senza disco non avrebbe dati del cliente salvati su di esso.
I cluster HPC di solito hanno centinaia o migliaia di server nodo di calcolo identici e che devono operare insieme. L’utilizzo di PXE per caricare l’immagine del sistema operativo all’avvio garantisce che questi server abbiano esattamente la stessa configurazione software e che possano essere ripristinati rapidamente in caso di errore.
L’utilizzo di PXE per distribuire un’immagine del sistema operativo è supportato da molti sistemi di distribuzione. Questi includono quanto segue:
- Microsoft Windows Deployment Services;
- Microsoft Deployment Toolkit (MDT);
- Microsoft Windows Assessment and Deployment Kit;
- Microsoft System Center Configuration Manager; e
- tutte le principali distribuzioni Linux, tra cui Red Hat, Ubuntu e Proton.