Rechercher

2.5. Préparation de l'installation à partir du réseau à l'aide de PXE

download PDF

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.
Note

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

  1. Exporter l'image ISO d'installation ou l'arborescence d'installation vers un serveur NFS, HTTPS, HTTP ou FTP.
  2. Configurez le serveur TFTP et le serveur DHCP, et démarrez le service TFTP sur le serveur PXE.
  3. Démarrez le client et lancez l'installation.
Important

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.

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.

Important

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

  1. 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
  2. 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.
  3. 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";
    	  }
    	}
    }
  4. Accédez au fichier pxelinux.0 à partir du paquet SYSLINUX 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
  5. Extraire le paquet :

    # rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
  6. Créez un répertoire pxelinux/ dans tftpboot/ et copiez tous les fichiers du répertoire dans le répertoire pxelinux/:

    # mkdir /var/lib/tftpboot/pxelinux
    # cp my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
  7. Créez le répertoire pxelinux.cfg/ dans le répertoire pxelinux/:

    # mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  8. Créez un fichier de configuration nommé default et ajoutez-le au répertoire pxelinux.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'option inst.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 option inst.repo pour charger les deux référentiels.
  9. 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/
  10. 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 service dhcpd sur l'hôte local.

    # systemctl start dhcpd
    # systemctl enable dhcpd
  11. 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.

Important
  • 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

  1. 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
  2. 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.
  3. 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";
    		}
      }
    }
  4. Accédez au fichier BOOTX64.EFI du paquet shim et au fichier grubx64.efi du paquet grub2-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
  5. Extraire les paquets :

    # rpm2cpio shim-version-architecture.rpm | cpio -dimv
    # rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
  6. 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/
  7. Ajoutez un fichier de configuration nommé grub.cfg dans le répertoire tftpboot/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'option inst.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 option inst.repo pour charger les deux référentiels.
  8. 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/
  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 service dhcpd sur l'hôte local.

    # systemctl start dhcpd
    # systemctl enable dhcpd
  10. 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.

Important

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

  1. 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
  2. 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.
  3. 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
    Note

    La sortie de la commande vous informe du nom du fichier qui doit être configuré dans votre configuration DHCP, décrite dans cette procédure.

    1. 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éseau GRUB2 dans la racine tftp :

      # dnf install grub2-ppc64-modules
  4. 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'option inst.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 option inst.repo pour charger les deux référentiels.
  5. 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
  6. Créez un répertoire et copiez-y les fichiers initrd.img et vmlinuz de l'image ISO du DVD, par exemple :

    # cp /mount_point/ppc/ppc64/{initrd.img,vmlinuz} /var/lib/tftpboot/grub2-ppc64/
  7. 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;
        }
      }
    }
  8. Ajustez les paramètres de l'échantillon subnet, netmask, routers, fixed-address et hardware ethernet en fonction de votre configuration réseau. Notez le paramètre file name; il s'agit du nom du fichier qui a été produit par la commande grub2-mknetdir plus tôt dans cette procédure.
  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 service dhcpd sur l'hôte local.

    # systemctl start dhcpd
    # systemctl enable dhcpd
  10. 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.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.