« FOG: Création d'une image Fedora » : différence entre les versions

De Adadov.net wiki
 
(11 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
{{ArticleHead|Adadov|encours=1}}
{{ArticleHead|Adadov}}
Pour créer une image qui puisse passer sur différentes plateformes matériel, il faut faire attention à plusieurs détails.
Pour créer une image qui puisse passer sur différentes plateformes matériel, il faut faire attention à plusieurs détails.


Ligne 19 : Ligne 19 :
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.
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 à ~30Go.
Dans mon image j'ai réussi à limiter l'espace total à ~23Go.


J'ai utilisé la structure suivante:
J'ai utilisé la structure suivante:
{| class="wikitable"
{| class="wikitable" style="margin: 0 auto" width="50%"
!Partition
!Partition
!Taille
!Taille
Ligne 45 : Ligne 45 :


== Installation de Fedora ==
== Installation de Fedora ==
{{Warning|N'oubliez pas la structure du disque !!}}
Pour cette partie, il n'y a rien de particulier à dire.
Pour cette partie, il n'y a rien de particulier à dire.


Ligne 55 : Ligne 56 :
La création de RPM permet de faciliter le déploiement des modifications que l'on pourrait vouloir apporter à ces modifications.
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 [[RPM : Création de dépôt pour DNF/YUM|créer un dépôt personnalisé]] pour les déployer facilement sur vos machines.
Si vous optez pour la création de RPM, il vous faudra [[RPM: Création d'un dépôt personnel|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.
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:
Les détails de la création de ces RPM se trouvent ici:
* [[Fedora : Création d'un RPM pour dépôt personnel]]
* [[RPM: Création d'un dépôt personnel|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 ==
== Installation des programmes ==
Ligne 72 : Ligne 72 :


Il faut donc éditer le fichier {{Path|/etc/dracut.conf}} pour y ajouter la ligne suivante:<syntaxhighlight lang="text">
Il faut donc éditer le fichier {{Path|/etc/dracut.conf}} pour y ajouter la ligne suivante:<syntaxhighlight lang="text">
add_drivers+="ahci sata-nv"
add_drivers+="ahci-platform sata-nv"
</syntaxhighlight>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.
</syntaxhighlight>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.
{{Info|titre=Driver manquant ?|Si une machine finit sur le shell de dracut, essayez la commande dracut-mount.
{{Info|titre=Driver manquant ?|Si une machine finit sur le shell de dracut, essayez la commande dracut-mount.
Ligne 86 : Ligne 86 :
Pour préparer la capture de l'image, il faut penser à retirer toutes les configurations spécifiques à la machine.
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
* 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 de réinitialisation système [[Réinitialiser une machine Linux]]


== Capture de l'image ==
== Capture de l'image ==
Ligne 104 : Ligne 104 :
{{Info|titre=Astuce|Vous pouvez paramétrer vos machines pour qu'elles bootent sur PXE par défaut afin de faciliter les captures et déploiements.}}
{{Info|titre=Astuce|Vous pouvez paramétrer vos machines pour qu'elles bootent sur PXE par défaut afin de faciliter les captures et déploiements.}}
[[Catégorie:Déploiement]]
[[Catégorie:Déploiement]]
[[Catégorie:Workstations]]
[[Catégorie:Fedora]]

Dernière version du 7 février 2023 à 12:37

Ecrit Par : Adadov

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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:

Installation des programmes[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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.

Une fois vos drivers listés, il vous suffira de recompiler votre initramfs.

Pour recompiler uniquement le initramfs du kernel utilisé :

[root@linux] # dracut -fvdblclick to copy

Pour recompiler tous les initramfs présents sur la machine :

[root@linux] # for initramfs in /boot/initramfs-*; do dracut -fv ${initramfs}; donedblclick to copy

Préparation de la capture[modifier | modifier le wikicode]

Pour préparer la capture de l'image, il faut penser à retirer toutes les configurations spécifiques à la machine.

Capture de l'image[modifier | modifier le wikicode]

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.