FOG: Création d'une image Fedora
Pour créer une image qui puisse passer sur différentes plateformes matériel, il faut faire attention à plusieurs détails.
Cette documentation prend en compte:
- Les modifications du initramfs pour supporter d'autres contrôleurs.
- La création de RPM pour le déploiement des configurations globales
Préparation de l'environnement
Pour modèle, vous pouvez utiliser aussi bien une machine physique qu'une machine virtuelle.
Pour le présent document, c'est une machine physique qui a été utilisée, une mise à jour avec une machine virtuelle sera faite prochainement.
Structure du disque
La structure du disque est un point important pour le déploiement.
J'ai choisi de ne pas utiliser LVM afin d'avoir une visibilité complète sur les partitions et leurs contenus depuis FOG. Mais ce n'est pas obligatoire.
Cependant un point reste important, plus l'espace disque utilisé par les partitions sera important, plus il faudra des disques de grande capacité pour les stations déployées. Il sera compliqué voir impossible de déployer sur des machines ayant des disques de capacité inférieur à l'espace utilisé par la totalité des partitions.
Dans mon image j'ai réussi à limiter l'espace total à ~23Go.
J'ai utilisé la structure suivante:
Partition | Taille | Point de montage |
---|---|---|
/dev/sda1 | 600 Mo | /boot |
/dev/sda2 | 2 Go | swap |
/dev/sda3 | 15 Go | / |
/dev/sda4 | 5 Go | /home |
Installation de Fedora
N'oubliez pas la structure du disque !! |
Pour cette partie, il n'y a rien de particulier à dire.
L'installation se fait via les méthodes standards.
Vous pouvez utiliser un fichier Kickstart si vous le souhaitez pour passer plus rapidement sur cette partie.
Paramétrages de Fedora
Pour cette partie, j'ai fait le choix de créer des RPM. On peut très bien choisir de faire les modifications une fois pour toutes dans le modèle.
La création de RPM permet de faciliter le déploiement des modifications que l'on pourrait vouloir apporter à ces modifications.
Si vous optez pour la création de RPM, il vous faudra créer un dépôt personnalisé pour les déployer facilement sur vos machines.
Mon modèle est paramétré via 2 RPM, un pour le déploiement du dépôt et l'autre pour la configuration du système.
Les détails de la création de ces RPM se trouvent ici:
- Fedora : Création d'un RPM de configuration d'un dépôt personnel
- FOG : RPM de paramétrage du système
Installation des programmes
Pour tous les programmes à installer, il suffit de les installer normalement via DNF ou directement via leurs processus d'installation.
Ajout du support de contrôleurs supplémentaire
Pour supporter des contrôleurs supplémentaires, il faut les intégrer dans le initramfs.
C'est Dracut qui s'occupe de compiler le initramfs dans les dernières version de Fedora. Il faut donc utiliser les options de configuration de Dracut pour les intégrer.
Il faut donc éditer le fichier /etc/dracut.conf
pour y ajouter la ligne suivante:
add_drivers+="ahci-platform sata-nv"
Les drivers ahci et sata-nv sont des contrôleurs SATA courants, ce sont ceux utilisés sur les machines que j'avais à déployer. En ajoutant ici tous les drivers des contrôleurs de destination, vous aurez dans votre image un initramfs qui pourra amorcer votre système sur toutes les machines de destination.
Driver manquant ? Si une machine finit sur le shell de dracut, essayez la commande dracut-mount. Dans le cas où elle répondrait qu'il n'y a pas de disque, il vous manque un driver contrôleur. |
Une fois vos drivers listés, il vous suffira de recompiler votre initramfs.
Pour recompiler uniquement le initramfs du kernel utilisé :
[root@linux] # | dracut -fv | dblclick to copy |
Pour recompiler tous les initramfs présents sur la machine :
[root@linux] # | for initramfs in /boot/initramfs-*; do dracut -fv ${initramfs}; done | dblclick to copy |
Pour plus d'informations sur dracut : Utilisation de dracut. |
Préparation de la capture
Pour préparer la capture de l'image, il faut penser à retirer toutes les configurations spécifiques à la machine.
- Changer le nom de la machine pour un nom générique
- Supprimer les clés machine SSH pour qu'elles soient générées au premier boot après déploiement
- Utiliser le script sys-unconfig pour forcer la réinitialisation au prochain boot
Capture de l'image
La capture de l'image se demande via l'interface web de FOG.
Si vous n'avez pas encore enregistré la machine qui sert de modèle, il vous faudra commencer par ce point: FOG:Utilisation de base.
Une fois fait, vous devrez créer l'image dans FOG et l'associée à la machine.
Le nom que vous donnerez à votre image doit vous permettre d'identifier facilement son contenu.
Le type d'image que j'ai utilisé est "Multiple Partition Image - Single Disk" afin de capturer la totalité des partitions, le MBR et la structure du disque.
Une fois fait, dans le détails de la machine, vous pourrez demander sa capture via la section "Tâches basiques".
Il ne vous restera plus qu'à booter la machine via PXE pour que la capture se lance automatiquement.
Astuce Vous pouvez paramétrer vos machines pour qu'elles bootent sur PXE par défaut afin de faciliter les captures et déploiements. |