PXE
Introduction
Présentation de Preboot eXecution Environment
L'amorçage PXE permet à une station de travail de démarrer depuis le réseau en récupérant une image de système d'exploitation qui se trouve sur un serveur. L'image ainsi récupérée peut être le système d'exploitation brut ou bien le système d'exploitation personnalisé avec des composantes logicielles (suite bureautique, utilitaires, packs de sécurité, scripts, etc...). Il permet également d'installer de manière automatique et à distance des serveurs sous divers OS. Pour activer le PXE, il faut auparavant le configurer dans le BIOS et l’option se trouve fréquemment dans un menu concernant la carte réseau.
Les étapes
L'amorce par PXE s'effectue en plusieurs étapes :
- recherche d'une adresse IP sur un serveur DHCP/BOOTP ainsi que du fichier à amorcer;
- téléchargement du fichier à amorcer depuis un serveur Trivial FTP;
- exécution du fichier à amorcer;
- téléchargement du contenu via http.
Préparation
Dans un premier temps, il faudra avoir une connexion à Internet, utiliser un serveur DNS et désactiver SELinux.
Pour ceux qui auraient manqué des étapes, les voici:
Une fois ces étapes effectuées, entrons dans le vif du sujet !
Mise en place
Installation
Tout d'abord, il faut installer les services dhcp, tftp, http ainsi qu'un paquetage de chargeur d'amorçage (Syslinux):
# yum -y install dhcp httpd tftp-server syslinux
On va ensuite configurer le chargeur de démarrage (chkconfig) pour qu'il démarre les services automatiquement au démarrage du système :
# chkconfig httpd on # chkconfig dhcpd on # chkconfig xinetd on
Configuration des services
Tftpd / PXE
Activation de Tftpd
# cat /etc/xinetd.d/tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
Préparation du répertoire tftpboot
Il faut préparer le répertoire tftpboot en fonction des distributions que l'on va vouloir installer en PXE.
# mkdir /var/lib/tftpboot/pxelinux.cfg # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ # cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
Nous allons ensuite créer le répertoire pour la distribution 64bits...
# mkdir -p /var/lib/tftpboot/images/centos/x86_64/6
... et ensuite la version 32 bits:
# mkdir -p /var/lib/tftpboot/images/centos/i386/6
Copie du bootstrap
Le bootstrap se trouve sur le DVD de la distribution dans le répertoire «images/pxeboot». Il ne nous reste plus qu'a monter l'image et copier les fichiers vmlinuz et initrd.img.
# # Si vous avez le CD # mount /dev/cdrom /mnt # # Ou si vous avez l'image ISO # mount -o loop /opt/raid/shares/iso/CentOS-6.5-x86_64-bin-DVD1.iso /mnt
Pour la version 64 bits :
# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/images/centos/x86_64/6/ # cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/images/centos/x86_64/6/
Pour la version 32 bits :
# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/images/centos/i386/6/ # cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/images/centos/i386/6/
Copie des fichiers de syslinux
La machine à besoin des fichiers de Syslinux pour démarrer, nous allons les copier dans le répertoire de tftp:
# mkdir /tftpboot # cp /usr/share/syslinux/pxelinux.0 /tftpboot # cp /usr/share/syslinux/menu.c32 /tftpboot # cp /usr/share/syslinux/memdisk /tftpboot # cp /usr/share/syslinux/mboot.c32 /tftpboot # cp /usr/share/syslinux/chain.c32 /tftpboot