14.4. Configuration d'un système de fichiers exporté pour les clients sans disque
Dans le cadre de la configuration d'un système sans disque distant dans votre environnement, vous devez configurer un système de fichiers exporté pour les clients sans disque.
Conditions préalables
-
Vous avez configuré le service
tftp
pour les clients sans disque. Voir la section Configuration d'un service TFTP pour les clients sans disque. - Vous avez configuré le serveur DHCP (Dynamic Host Configuration Protocol). Voir la section Configuration d'un serveur DHCP pour les clients sans disque.
Procédure
-
Configurez le serveur NFS (Network File System) pour exporter le répertoire racine en l'ajoutant au répertoire
/etc/exports
. Pour obtenir l'ensemble des instructions, voir Configuration du serveur NFS. Installez une version complète de Red Hat Enterprise Linux dans le répertoire racine afin d'accommoder les clients sans disque. Pour ce faire, vous pouvez soit installer un nouveau système de base, soit cloner une installation existante.
Installez Red Hat Enterprise Linux à l'emplacement exporté en remplaçant exported-root-directory par le chemin d'accès au système de fichiers exporté :
# dnf install @Base kernel dracut-network nfs-utils \ --installroot=pass:quotes[exported-root-directory] --releasever=/
Utilisez l'utilitaire
rsync
pour vous synchroniser avec un système en cours d'exécution :# rsync -a -e ssh --exclude='/proc/' --exclude='/sys/' \ pass:quotes example.com:/ pass:quotes exported-root-directory
-
Remplacez example.com par le nom d'hôte du système en cours d'exécution avec lequel vous souhaitez vous synchroniser via l'utilitaire
rsync
. Remplacez exported-root-directory par le chemin d'accès au système de fichiers exporté.
Notez que pour cette option, vous devez disposer d'un système existant distinct, que vous clonerez sur le serveur à l'aide de la commande ci-dessus.
-
Remplacez example.com par le nom d'hôte du système en cours d'exécution avec lequel vous souhaitez vous synchroniser via l'utilitaire
Vous devez configurer entièrement le système de fichiers, qui est prêt à être exporté, avant de pouvoir l'utiliser avec des clients sans disque. Suivez la procédure ci-dessous pour terminer la configuration.
Configuration d'un système de fichiers
Copiez le noyau supporté par le client sans disque (
vmlinuz-_kernel-version_pass:attributes
) dans le répertoire de démarragetftp
:# cp /exported-root-directory/boot/vmlinuz-kernel-version /var/lib/tftpboot/pxelinux/
Créer le fichier
initramfs-kernel-version.img
localement et le déplacer vers le répertoire racine exporté avec le support de NFS :# dracut --add nfs initramfs-kernel-version.img kernel-version
Par exemple :
# dracut --add nfs /exports/root/boot/initramfs-5.14.0-202.el9.x86_64.img 5.14.0-202.el9.x86_64
Exemple de création d'un initrd, en utilisant la version actuelle du noyau et en écrasant l'image existante :
# dracut -f --add nfs \N-"boot/initramfs-$(uname -r).img\N" \N-"$(uname -r)\N"
Modifiez les permissions du fichier
initrd
en0644
:# chmod 0644 /exported-root-directory/boot/initramfs-kernel-version.img
AvertissementSi vous ne modifiez pas les permissions du fichier
initrd
, le chargeur de démarragepxelinux.0
échoue avec une erreur "file not found" (fichier introuvable).Copiez le fichier résultant
initramfs-kernel-version.img
dans le répertoire de démarrage detftp
:# cp /exported-root-directory/boot/initramfs-kernel-version.img /var/lib/tftpboot/pxelinux/
Ajoutez la configuration suivante dans le fichier
/var/lib/tftpboot/pxelinux/pxelinux.cfg/default
pour modifier la configuration de démarrage par défaut pour l'utilisation deinitrd
et du noyau :default rhel9 label rhel9 kernel vmlinuz-kernel-version append initrd=initramfs-kernel-version.img root=nfs:_server-ip_:/exported-root-directory rw
-
Cette configuration indique à la racine du client sans disque de monter le système de fichiers exporté (
/exported-root-directory
) en lecture/écriture.
-
Cette configuration indique à la racine du client sans disque de monter le système de fichiers exporté (
Facultatif : Montez le système de fichiers au format read-only en modifiant le fichier
/var/lib/tftpboot/pxelinux/pxelinux.cfg/default
avec la configuration suivante :default rhel9 label rhel9 kernel vmlinuz-kernel-version append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported-root-directory ro
Redémarrez le serveur NFS :
# systemctl restart nfs-server.service
Vous pouvez maintenant exporter le partage NFS vers des clients sans disque. Ces clients peuvent démarrer sur le réseau via l'environnement d'exécution pré-amorçage (PXE).
Ressources supplémentaires