2.5. Préparation de l'installation à partir du réseau à l'aide de PXE
Cette section décrit comment configurer TFTP et DHCP sur un serveur PXE pour permettre le démarrage PXE et l'installation en réseau.
2.5.1. Vue d'ensemble de l'installation du réseau
Une installation en réseau vous permet d'installer Red Hat Enterprise Linux sur un système ayant accès à un serveur d'installation. Au minimum, deux systèmes sont nécessaires pour une installation en réseau :
- Serveur PXE
- Un système exécutant un serveur DHCP, un serveur TFTP et un serveur HTTP, HTTPS, FTP ou NFS. Bien que chaque serveur puisse être exécuté sur un système physique différent, les procédures de cette section supposent qu'un seul système exécute tous les serveurs.
- Client
- Le système sur lequel vous installez Red Hat Enterprise Linux. Une fois l'installation lancée, le client interroge le serveur DHCP, reçoit les fichiers de démarrage du serveur TFTP et télécharge l'image d'installation à partir du serveur HTTP, HTTPS, FTP ou NFS. Contrairement à d'autres méthodes d'installation, le client n'a besoin d'aucun support de démarrage physique pour démarrer l'installation.
Pour démarrer un client à partir du réseau, il faut le configurer dans le BIOS/UEFI ou dans un menu de démarrage rapide. Sur certains matériels, l'option de démarrage à partir d'un réseau peut être désactivée ou non disponible.
Les étapes du flux de travail pour préparer l'installation de Red Hat Enterprise Linux à partir d'un réseau à l'aide de PXE sont les suivantes :
Les étapes
- Exporter l'image ISO d'installation ou l'arborescence d'installation vers un serveur NFS, HTTPS, HTTP ou FTP.
- Configurez le serveur TFTP et le serveur DHCP, et démarrez le service TFTP sur le serveur PXE.
- Démarrez le client et lancez l'installation.
Le chargeur d'amorçage GRUB2 prend en charge un amorçage réseau à partir de HTTP en plus d'un serveur TFTP. L'envoi des fichiers d'amorçage, qui sont le noyau et les disques RAM initiaux vmlinuz
et initrd
, via ce protocole peut être lent et entraîner des dépassements de délai. Un serveur HTTP ne présente pas ce risque, mais il est recommandé d'utiliser un serveur TFTP pour l'envoi des fichiers d'amorçage.
Ressources supplémentaires
- Création de sources d'installation pour les installations Kickstart
- Configuration d'un serveur TFTP pour les clients basés sur le BIOS
- Configuration d'un serveur TFTP pour les clients basés sur l'UEFI
- Configuration d'un serveur réseau pour les systèmes IBM Power
- Documentation du produit Red Hat Satellite
2.5.2. Configuration d'un serveur TFTP pour les clients basés sur le BIOS
Cette procédure permet de configurer un serveur TFTP et un serveur DHCP et de démarrer le service TFTP sur le serveur PXE pour les systèmes AMD et Intel 64 bits basés sur le BIOS.
Tous les fichiers de configuration présentés dans cette section sont des exemples. Les détails de la configuration varient et dépendent de l'architecture et des exigences spécifiques.
Procédure
En tant que root, installez les paquets suivants. Si vous avez déjà un serveur DHCP configuré dans votre réseau, excluez les paquets
dhcp-server
:# dnf install tftp-server dhcp-server
Autoriser les connexions entrantes vers le site
tftp service
dans le pare-feu :# firewall-cmd --add-service=tftp
Note-
Cette commande permet un accès temporaire jusqu'au prochain redémarrage du serveur. Pour activer l'accès permanent, ajoutez l'option
--permanent
à la commande. - En fonction de l'emplacement du fichier ISO d'installation, vous devrez peut-être autoriser les connexions entrantes pour HTTP ou d'autres services.
-
Cette commande permet un accès temporaire jusqu'au prochain redémarrage du serveur. Pour activer l'accès permanent, ajoutez l'option
Configurez votre serveur DHCP pour qu'il utilise les images de démarrage fournies avec SYSLINUX, comme indiqué dans l'exemple de fichier
/etc/dhcp/dhcpd.conf
ci-dessous. Si vous avez déjà configuré un serveur DHCP, effectuez cette étape sur le serveur DHCP.option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "BOOTX64.EFI"; } else { filename "pxelinux/pxelinux.0"; } } }
Accédez au fichier
pxelinux.0
à partir du paquetSYSLINUX
dans le fichier image ISO du DVD, où my_local_directory est le nom du répertoire que vous créez :# mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
# cp -pr /mount_point/AppStream/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
# umount /mount_point
Extraire le paquet :
# rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
Créez un répertoire
pxelinux/
danstftpboot/
et copiez tous les fichiers du répertoire dans le répertoirepxelinux/
:# mkdir /var/lib/tftpboot/pxelinux
# cp my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
Créez le répertoire
pxelinux.cfg/
dans le répertoirepxelinux/
:# mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
Créez un fichier de configuration nommé
default
et ajoutez-le au répertoirepxelinux.cfg/
comme indiqué dans l'exemple suivant :default vesamenu.c32 prompt 1 timeout 600 display boot.msg label linux menu label ^Install system menu default kernel images/RHEL-9/vmlinuz append initrd=images/RHEL-9/initrd.img ip=dhcp inst.repo=http://10.32.5.1/RHEL-9/x86_64/iso-contents-root/ label vesa menu label Install system with ^basic video driver kernel images/RHEL-9/vmlinuz append initrd=images/RHEL-9/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/RHEL-9/x86_64/iso-contents-root/ label rescue menu label ^Rescue installed system kernel images/RHEL-9/vmlinuz append initrd=images/RHEL-9/initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff
Note-
Le programme d'installation ne peut pas démarrer sans son image d'exécution. Utilisez l'option
inst.stage2
boot pour spécifier l'emplacement de l'image. Vous pouvez également utiliser l'optioninst.repo=
pour spécifier l'image ainsi que la source d'installation. -
L'emplacement de la source d'installation utilisée avec
inst.repo
doit contenir un fichier.treeinfo
valide. -
Lorsque vous sélectionnez le DVD d'installation RHEL9 comme source d'installation, le fichier
.treeinfo
pointe vers les référentiels BaseOS et AppStream. Vous pouvez utiliser une seule optioninst.repo
pour charger les deux référentiels.
-
Le programme d'installation ne peut pas démarrer sans son image d'exécution. Utilisez l'option
Créez un sous-répertoire pour stocker les fichiers d'image de démarrage dans le répertoire
/var/lib/tftpboot/
, et copiez les fichiers d'image de démarrage dans ce répertoire. Dans cet exemple, le répertoire est/var/lib/tftpboot/pxelinux/images/RHEL-9/
:# mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-9/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-9/
Sur le serveur DHCP, démarrez et activez le service
dhcpd
. Si vous avez configuré un serveur DHCP sur l'hôte local, démarrez et activez le servicedhcpd
sur l'hôte local.# systemctl start dhcpd # systemctl enable dhcpd
Démarrez et activez le service
tftp.socket
:# systemctl start tftp.socket # systemctl enable tftp.socket
Le serveur de démarrage PXE est maintenant prêt à servir les clients PXE. Vous pouvez démarrer le client, qui est le système sur lequel vous installez Red Hat Enterprise Linux, sélectionner PXE Boot lorsque vous êtes invité à spécifier une source de démarrage et démarrer l'installation réseau.
2.5.3. Configuration d'un serveur TFTP pour les clients basés sur l'UEFI
Cette procédure permet de configurer un serveur TFTP et un serveur DHCP et de démarrer le service TFTP sur le serveur PXE pour les systèmes AMD64, Intel 64 et ARM 64 bits basés sur l'UEFI.
- Tous les fichiers de configuration présentés dans cette section sont des exemples. Les détails de la configuration varient et dépendent de l'architecture et des exigences spécifiques.
-
Le démarrage PXE UEFI de Red Hat Enterprise Linux 9 prend en charge un format de fichier en minuscules pour un fichier de menu grub basé sur MAC. Par exemple, le format de fichier d'adresse MAC pour grub2 est le suivant
grub.cfg-01-aa-bb-cc-dd-ee-ff
Procédure
En tant que root, installez les paquets suivants. Si vous avez déjà un serveur DHCP configuré dans votre réseau, excluez les paquets dhcp-server.
# dnf install tftp-server dhcp-server
Autoriser les connexions entrantes vers le site
tftp service
dans le pare-feu :# firewall-cmd --add-service=tftp
Note-
Cette commande permet un accès temporaire jusqu'au prochain redémarrage du serveur. Pour activer l'accès permanent, ajoutez l'option
--permanent
à la commande. - En fonction de l'emplacement du fichier ISO d'installation, vous devrez peut-être autoriser les connexions entrantes pour HTTP ou d'autres services.
-
Cette commande permet un accès temporaire jusqu'au prochain redémarrage du serveur. Pour activer l'accès permanent, ajoutez l'option
Configurez votre serveur DHCP pour qu'il utilise les images de démarrage fournies avec shim, comme indiqué dans l'exemple de fichier
/etc/dhcp/dhcpd.conf
ci-dessous. Si vous avez déjà configuré un serveur DHCP, effectuez cette étape sur le serveur DHCP.option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "BOOTX64.EFI"; } else { filename "pxelinux/pxelinux.0"; } } }
Accédez au fichier
BOOTX64.EFI
du paquetshim
et au fichiergrubx64.efi
du paquetgrub2-efi
dans le fichier image ISO du DVD où my_local_directory est le nom du répertoire que vous créez :# mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
# cp -pr /mount_point/BaseOS/Packages/shim-version-architecture.rpm /my_local_directory
# cp -pr /mount_point/BaseOS/Packages/grub2-efi-version-architecture.rpm /my_local_directory
# umount /mount_point
Extraire les paquets :
# rpm2cpio shim-version-architecture.rpm | cpio -dimv
# rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
Copiez les images de démarrage EFI à partir de votre répertoire de démarrage. Remplacez ARCH par shim ou grub suivi de l'architecture, par exemple,
grubx64
.# mkdir /var/lib/tftpboot/uefi # cp my_local_directory/boot/efi/EFI/redhat/ARCH.efi /var/lib/tftpboot/uefi/
Ajoutez un fichier de configuration nommé
grub.cfg
dans le répertoiretftpboot/uefi/
, comme indiqué dans l'exemple suivant :set timeout=60 menuentry 'RHEL 9' { linuxefi images/RHEL-9.x/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/RHEL-9.x/x86_64/iso-contents-root/ initrdefi images/RHEL-9.x/initrd.img }
Note-
Le programme d'installation ne peut pas démarrer sans son image d'exécution. Utilisez l'option
inst.stage2
boot pour spécifier l'emplacement de l'image. Vous pouvez également utiliser l'optioninst.repo=
pour spécifier l'image ainsi que la source d'installation. -
L'emplacement de la source d'installation utilisée avec
inst.repo
doit contenir un fichier.treeinfo
valide. -
Lorsque vous sélectionnez le DVD d'installation RHEL9 comme source d'installation, le fichier
.treeinfo
pointe vers les référentiels BaseOS et AppStream. Vous pouvez utiliser une seule optioninst.repo
pour charger les deux référentiels.
-
Le programme d'installation ne peut pas démarrer sans son image d'exécution. Utilisez l'option
Créez un sous-répertoire pour stocker les fichiers d'image de démarrage dans le répertoire
/var/lib/tftpboot/
, et copiez les fichiers d'image de démarrage dans ce répertoire. Dans cet exemple, le répertoire est/var/lib/tftpboot/images/RHEL-9.x/
:# mkdir -p /var/lib/tftpboot/images/RHEL-9/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-9/
Sur le serveur DHCP, démarrez et activez le service
dhcpd
. Si vous avez configuré un serveur DHCP sur l'hôte local, démarrez et activez le servicedhcpd
sur l'hôte local.# systemctl start dhcpd # systemctl enable dhcpd
Démarrez et activez le service
tftp.socket
:# systemctl start tftp.socket # systemctl enable tftp.socket
Le serveur de démarrage PXE est maintenant prêt à servir les clients PXE. Vous pouvez démarrer le client, qui est le système sur lequel vous installez Red Hat Enterprise Linux, sélectionner PXE Boot lorsque vous êtes invité à spécifier une source de démarrage et démarrer l'installation réseau.
Ressources supplémentaires
2.5.4. Configuration d'un serveur réseau pour les systèmes IBM Power
Cette procédure permet de configurer un serveur de démarrage réseau pour les systèmes IBM Power à l'aide de GRUB2.
Tous les fichiers de configuration présentés dans cette section sont des exemples. Les détails de la configuration varient et dépendent de l'architecture et des exigences spécifiques.
Procédure
En tant que root, installez les paquets suivants. Si vous avez déjà un serveur DHCP configuré dans votre réseau, excluez les paquets dhcp-server.
# dnf install tftp-server dhcp-server
Autoriser les connexions entrantes vers le site
tftp service
dans le pare-feu :# firewall-cmd --add-service=tftp
Note-
Cette commande permet un accès temporaire jusqu'au prochain redémarrage du serveur. Pour activer l'accès permanent, ajoutez l'option
--permanent
à la commande. - En fonction de l'emplacement du fichier ISO d'installation, vous devrez peut-être autoriser les connexions entrantes pour HTTP ou d'autres services.
-
Cette commande permet un accès temporaire jusqu'au prochain redémarrage du serveur. Pour activer l'accès permanent, ajoutez l'option
Créez un répertoire de démarrage réseau
GRUB2
dans la racine tftp :# grub2-mknetdir --net-directory=/var/lib/tftpboot Netboot directory for powerpc-ieee1275 created. Configure your DHCP server to point to /boot/grub2/powerpc-ieee1275/core.elf
NoteLa sortie de la commande vous informe du nom du fichier qui doit être configuré dans votre configuration DHCP, décrite dans cette procédure.
Si le serveur PXE fonctionne sur une machine x86, le site
grub2-ppc64-modules
doit être installé avant de créer un répertoire de démarrage réseauGRUB2
dans la racine tftp :# dnf install grub2-ppc64-modules
Créez un fichier de configuration
GRUB2
:/var/lib/tftpboot/boot/grub2/grub.cfg
comme indiqué dans l'exemple suivant :set default=0 set timeout=5 echo -e "\nWelcome to the Red Hat Enterprise Linux 9 installer!\n\n" menuentry 'Red Hat Enterprise Linux 9' { linux grub2-ppc64/vmlinuz ro ip=dhcp inst.repo=http://10.32.5.1/RHEL-9/x86_64/iso-contents-root/ initrd grub2-ppc64/initrd.img }
Note-
Le programme d'installation ne peut pas démarrer sans son image d'exécution. Utilisez l'option
inst.stage2
boot pour spécifier l'emplacement de l'image. Vous pouvez également utiliser l'optioninst.repo=
pour spécifier l'image ainsi que la source d'installation. -
L'emplacement de la source d'installation utilisée avec
inst.repo
doit contenir un fichier.treeinfo
valide. -
Lorsque vous sélectionnez le DVD d'installation RHEL8 comme source d'installation, le fichier
.treeinfo
pointe vers les référentiels BaseOS et AppStream. Vous pouvez utiliser une seule optioninst.repo
pour charger les deux référentiels.
-
Le programme d'installation ne peut pas démarrer sans son image d'exécution. Utilisez l'option
Montez l'image ISO du DVD à l'aide de la commande :
# mount -t iso9660 /path_to_image/name_of_iso/ /mount_point -o loop,ro
Créez un répertoire et copiez-y les fichiers
initrd.img
etvmlinuz
de l'image ISO du DVD, par exemple :# cp /mount_point/ppc/ppc64/{initrd.img,vmlinuz} /var/lib/tftpboot/grub2-ppc64/
Configurez votre serveur DHCP pour qu'il utilise les images de démarrage fournies avec
GRUB2
, comme indiqué dans l'exemple suivant. Notez que si vous avez déjà un serveur DHCP configuré, effectuez cette étape sur le serveur DHCP.subnet 192.168.0.1 netmask 255.255.255.0 { allow bootp; option routers 192.168.0.5; group { #BOOTP POWER clients filename "boot/grub2/powerpc-ieee1275/core.elf"; host client1 { hardware ethernet 01:23:45:67:89:ab; fixed-address 192.168.0.112; } } }
-
Ajustez les paramètres de l'échantillon
subnet
,netmask
,routers
,fixed-address
ethardware ethernet
en fonction de votre configuration réseau. Notez le paramètrefile name
; il s'agit du nom du fichier qui a été produit par la commandegrub2-mknetdir
plus tôt dans cette procédure. Sur le serveur DHCP, démarrez et activez le service
dhcpd
. Si vous avez configuré un serveur DHCP sur l'hôte local, démarrez et activez le servicedhcpd
sur l'hôte local.# systemctl start dhcpd # systemctl enable dhcpd
Démarrez et activez le service
tftp.socket
:# systemctl start tftp.socket # systemctl enable tftp.socket
Le serveur de démarrage PXE est maintenant prêt à servir les clients PXE. Vous pouvez démarrer le client, qui est le système sur lequel vous installez Red Hat Enterprise Linux, sélectionner PXE Boot lorsque vous êtes invité à spécifier une source de démarrage et démarrer l'installation réseau.