Le LXC PXE va nous permettre de proposer un service de réinstallation des machines via le réseau.
Type | Linux Container (machine virtuelle) hébergée sur Bor |
---|---|
Utilité | Service de réinstallation du GINFO |
Services | Installation PC |
OS | Ubuntu Server 17.04 |
Nom du LXC | bor_pxe |
IP | 10.61.16.30 |
Pour créer le Linux Container, je vous invite à suivre la seconde partie du tutoriel disponible sur cette page : Créer un Linux Container (LXC)
La seule chose à respecter lors de la création du container est le nom que vous lui donnerez : bor_pxe
En suivant le précédent tutoriel pensez à :
→ attribuer une IP fixe au LXC (cf tutoriel LXC)
→ la mettre en démarrage automatique au démarrage de Bor
→ Ajouter une règle NAT pour permettre au LXC de communiquer avec l'extérieur via les ports entrants 137, 138, 139, 445 en TCP sur Bor
Avant toute chose, mettez vous en root sur le LXC : su root
L'installation de PXE est simple mais un peu longue. Voici les étapes :
On installe les packages suivant :
$> sudo apt-get install tftpd-hpa syslinux
Le serveur TFTP est une forme de serveur FTP très basique. Dans ce tutoriel, il sert à rendre disponible le menu de démarrage et le noyau Linux qui lui-même n'aura plus besoin de TFTP une fois démarré sur l'ordinateur client. TFTP joue un rôle critique mais très temporaire.
Pour le configurer, il suffit de modifier le fichier /etc/default/tftpd-hpa :
$> sudo xdg-open /etc/default/tftpd-hpa
Et de compléter son contenu avec: # /etc/default/tftpd-hpa
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="10.61.16.30:69" TFTP_OPTIONS="--secure" #Defaults for tftpd-hpa RUN_DAEMON="yes"
Il faut ensuite redémarrer le service:
$> sudo service tftpd-hpa restart
Rendez-vous sur http://archive.ubuntu.com/ubuntu/dists/ pour télécharger des fichiers d'installateur. Il faut choisir une VERSION et une ARCHITECTURE :
http://archive.ubuntu.com/ubuntu/dists/VERSION/main/installer-ARCH/current/images/netboot/netboot.tar.gz
Il faut ensuite renommer les archives netboot.tar.gz selon l'architecture pour obtenir :
netboot_VERSION_32.tar.gz (architecture i386) netboot_VERSION_64.tar.gz (architecture amd64)
On crée ensuite des répertoires spécifiques à chaque VERSION sur le serveur et on y installe les fichiers. On prend ici l'exemple de PRECISE PANGOLIN:
$> sudo mkdir /var/lib/tftpboot/precise $> cd /var/lib/tftpboot/precise $> sudo tar -xzf /<Chemin_du_téléchargement>/netboot_precise_1024_32.tar.gz (architecture i386) $> sudo tar -xzf /<Chemin_du_téléchargement>/netboot_precise_1024_64.tar.gz (architecture amd64)
On installe le package syslinux :
$> sudo apt-get install syslinux
On en extrait 3 fichiers nécessaires et on les copie dans le dossier /var/lib/tftpboot/ :
$> sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/ $> sudo cp /usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/ $> sudo cp /usr/lib/syslinux/chain.c32 /var/lib/tftpboot/
On crée ensuite le menu permettant de choisir la VERSION et l'ARHITECTURE :
$> sudo mkdir /var/lib/tftpboot/pxelinux.cfg $> gksu gedit /var/lib/tftpboot/pxelinux.cfg/default
On modifie le menu (on prend encore une fois l'exemple de PRECISE PANGOLIN) :
#default menu for all PXE boot DEFAULT vesamenu.c32 # liste des choix label Boot local disk kernel chain.c32 append hd0 label Precise 32bits installer kernel precise/ubuntu-installer/i386/boot-screens/vesamenu.c32 append precise/ubuntu-installer/i386/boot-screens/menu.cfg label Precise 64bits installer kernel precise/ubuntu-installer/amd64/boot-screens/vesamenu.c32 append precise/ubuntu-installer/amd64/boot-screens/menu.cfg
Il suffit ensuite de démarrer le pc qu'on souhaite installer en PXE.