PXE (Preboot Execution Environment)
Définition
PXE (Preboot Execution Environment) est un standard Intel qui permet à un ordinateur de démarrer à partir d’un serveur réseau au lieu d’un disque local. Il permet l’installation par réseau des systèmes d’exploitation, des postes sans disque et le provisionnement distant de systèmes.
PXE fonctionne au niveau BIOS/UEFI, avant le chargement de tout système d’exploitation, ce qui le rend utile pour le provisionnement de machines nues (bare-metal) et la récupération.
Comment fonctionne PXE
1. Client BIOS/UEFI → Requête DHCP (option 66/67)
2. Serveur DHCP → Attribution IP + adresse du serveur TFTP + nom du fichier de boot
3. Client → Téléchargement du chargeur de boot via TFTP (pxelinux.0, grub.efi)
4. Chargeur de boot → Téléchargement du noyau + initrd via TFTP
5. Noyau → Montage du système de fichiers racine (NFS/iSCSI/HTTP)
6. Installateur OS → Installation de l'OS sur le disque local
Composants PXE
|| Composant | Rôle | ||———–|——| || Serveur DHCP | Attribue une IP et fournit les informations du serveur TFTP (options 66/67) | || Serveur TFTP | Fournit les fichiers de boot (pxelinux.0, grub, noyau, initrd) | || Chargeur de boot | pxelinux.0, GRUB, iPXE — charge le noyau et initrd | || Kickstart/PRESEED | Configuration d’installation automatisée de l’OS | || Serveur HTTP/FTP | Fournit les fichiers d’installation de l’OS (plus volumineux que ce que permet TFTP) |
PXE vs iPXE
|| Fonctionnalité | PXE | iPXE | ||—————-|—–|——| || Support des protocoles | Limité (TFTP uniquement) | HTTP, iSCSI, Fibre Channel | || Limite de taille de fichier | ~32 Mo | Illimitée (via HTTP) | || Scripting | Non | Oui (scripting iPXE) | || Support UEFI | Limité | Support UEFI complet | || Flexibilité | Faible | Élevée | || Utilisation | Hérité | Remplacement moderne |
Cas d’utilisation de PXE
|| Cas d’utilisation | Description | ||——————-|————-| || Installation d’OS | Démarrage réseau vers l’installateur (Kickstart, PRESEED) | || Postes sans disque | Démarrage depuis le réseau, aucun disque local nécessaire | || Récupération système | Démarrage d’un environnement de secours/réparation | || Provisionnement bare-metal | Installation d’un OS sur de nouveaux serveurs | || Live CD/USB | Démarrage d’un OS live depuis le réseau | || Diagnostics matériel | Démarrage d’outils de diagnostic à distance |
PXE dans l’automatisation
|| Outil | Intégration PXE | ||——-|—————–| || Cobbler | Gestion PXE, DHCP, DNS, Kickstart | || Foreman | Templates PXE, provisionnement | || MAAS | Provisionnement bare-metal Ubuntu avec PXE | || IPXE | Scripting PXE avancé | || dnsmasq | Serveur DHCP + TFTP léger pour PXE |