Accéder au contenuNavigation Accéder à la page : page précédente [raccourci clavier p] / page suivante [raccourci clavier n]
documentation.suse.com / Documentation de SUSE Linux Enterprise Server / Guide de déploiement / Configuration d'un serveur d'installation / Préparation du démarrage du système cible
S'applique à SUSE Linux Enterprise Server 12 SP5

9 Préparation du démarrage du système cible

SUSE® Linux Enterprise Server peut être installé de différentes manières. Outre l'installation classique à partir d'un support abordée au Chapitre 6, Installation avec YaST, vous avez le choix entre plusieurs approches réseau ; vous pouvez même envisager une installation entièrement automatique de SUSE Linux Enterprise Server.

Les exemples utilisent NFS pour traiter les données d'installation. Si vous souhaitez utiliser FTP, SMB ou HTTP, reportez-vous au Chapitre 8, Configuration du serveur qui contient les sources d'installation.

Note
Note : terminologie

Dans les sections suivantes, le système destiné à héberger votre nouvelle installation SUSE Linux Enterprise Server est désigné sous les termes de système cible ou cible d'installation. Le terme dépôt (anciennement appelé « source d'installation ») désigne toutes les sources de données d'installation. Il s'agit notamment des supports physiques, tels que les CD et DVD, et des serveurs réseau qui transfèrent les données d'installation sur votre réseau.

Cette section expose les tâches de configuration nécessaires pour les scénarios de démarrage complexes. Elle contient des exemples de configuration « prêts à l'emploi » pour le protocole DHCP, le démarrage PXE, le protocole TFTP et la fonction Wake on LAN.

Les exemples supposent que les serveurs DHCP, TFTP et NFS résident sur la même machine ayant pour adresse IP 192.168.1.1. Tous les services peuvent résider sur des ordinateurs différents sans problème. Veillez à modifier les adresses IP en fonction de vos besoins.

9.1 Configuration d'un serveur DHCP

En plus de fournir une allocation automatique d'adresses à vos clients réseau, le serveur DHCP annonce l'adresse IP du serveur TFTP et le fichier qui doit être extrait par les routines d'installation sur la machine cible. Le fichier à charger dépend de l'architecture de la machine cible et de l'utilisation éventuelle du démarrage BIOS ou UEFI hérité.

  1. Connectez-vous en tant qu'utilisateur root à la machine qui héberge le serveur DHCP.

  2. Activez le serveur DHCP en exécutant la commande systemctl enable dhcpd.

  3. Ajoutez les lignes suivantes à la configuration de sous-réseau du fichier de configuration du serveur DHCP, situé dans /etc/dhcpd.conf :

    # The following lines are optional
    option domain-name "my.lab";
    option domain-name-servers 192.168.1.1;
    option routers 192.168.1.1;
    option ntp-servers 192.168.1.1;
    ddns-update-style none;
    default-lease-time 3600;
    
    # The following lines are required
    option arch code 93 = unsigned integer 16; # RFC4578
    subnet 192.168.1.0 netmask 255.255.255.0 {
     next-server 192.168.1.1;
     range 192.168.1.100 192.168.1.199;
     default-lease-time 3600;
     max-lease-time 3600;
     if option arch = 00:07 or option arch = 00:09 {
       filename "/EFI/x86/grub.efi";
     }
     else if option arch = 00:0b {
       filename "/EFI/aarch64/bootaa64.efi";
     }
     else  {
       filename "/BIOS/x86/pxelinux.0";
     }
    }

    Cet exemple de configuration utilise le sous-réseau 192.168.1.0/24 avec DHCP, DNS et la passerelle sur le serveur avec l'adresse IP 192.168.1.1. Assurez-vous que toutes les adresses IP utilisées sont modifiées en fonction de votre topologie de réseau. Pour plus d'informations sur les options disponibles dansdhcpd.conf, reportez-vous à la page de manuel dhcpd.conf.

  4. Redémarrez le serveur DHCP en exécutant la commande systemctl restart dhcpd.

Si vous avez l'intention d'utiliser le protocole SSH pour le contrôle distant d'une installation PXE et Wake on LAN, indiquez l'adresse IP que le protocole DHCP doit fournir à la cible d'installation. Pour ce faire, modifiez la configuration DHCP mentionnée ci-dessus, conformément à l'exemple suivant :

group {
 host test {
   hardware ethernet MAC_ADDRESS;
   fixed-address IP_ADDRESS;
   }
}

L'instruction d'hôte présente le nom d'hôte de la cible d'installation. Pour lier le nom d'hôte et l'adresse IP à un hôte, vous devez connaître et indiquer l'adresse matérielle (MAC) du système. Remplacez toutes les variables utilisées dans cet exemple par les valeurs réelles qui correspondent à votre environnement.

Une fois le serveur DHCP redémarré, une adresse IP statique est fournie à l'hôte spécifié ; vous pouvez ainsi vous connecter au système via la fonctionnalité SSH.

9.2 Configuration d'un serveur TFTP

Si vous utilisez une installation basée sur SUSE, vous pouvez utiliser YaST pour configurer un serveur TFTP. Sinon, configurez-le manuellement. Le serveur TFTP fournit l'image de démarrage au système cible dès que ce dernier a démarré et a envoyé une requête à ce sujet.

9.2.1 Configuration d'un serveur TFTP à l'aide de YaST

  1. Connectez-vous en tant qu'utilisateur root.

  2. Sélectionnez YaST › Services réseau › Serveur TFTP et installez le paquetage demandé.

  3. Cliquez sur Activer pour vous assurer que le serveur est démarré et inclus dans les routines de démarrage. Aucune autre action de votre part n'est nécessaire pour garantir cette opération. xinetd démarre tftpd au moment du démarrage.

  4. Cliquez sur Ouvrir port dans pare-feu pour ouvrir le port approprié dans le pare-feu exécuté sur votre machine. Si aucun pare-feu n'est en cours d'exécution sur votre serveur, cette option n'est pas disponible.

  5. Cliquez sur Parcourir pour rechercher le répertoire de l'image de démarrage. Le répertoire par défaut /srv/tftpboot est créé et sélectionné automatiquement.

  6. Cliquez sur Terminer pour appliquer vos paramètres et démarrer le serveur.

9.2.2 Configuration manuelle d'un serveur TFTP

  1. Loguez-vous en tant qu'utilisateur root, et installez les paquetages tftp et xinetd.

  2. Modifiez la configuration de xinetd sous /etc/xinetd.d pour vous assurer que le serveur TFTP se lance au démarrage :

    1. S'il n'existe pas, créez dans ce répertoire un fichier nommé tftp, à l'aide de la commande touch tftp. Exécutez ensuite chmod 755 tftp.

    2. Ouvrez le fichier tftp et ajoutez les lignes suivantes :

      service tftp
      {
              socket_type            = dgram
              protocol               = udp
              wait                   = yes
              user                   = root
              server                 = /usr/sbin/in.tftpd
              server_args            = -s /srv/tftpboot
              disable                = no
      }
    3. Enregistrez le fichier et redémarrez xinetd en exécutant systemctl restart xinetd.

9.3 Installation des fichiers sur le serveur TFTP

Les procédures suivantes décrivent comment préparer le serveur pour les machines cibles avec UEFI et BIOS sur des architectures x86 32 et 64 bits. La structure préparée est déjà compatible avec les systèmes AArch64.

9.3.1 Préparation de la structure

Dans cette procédure, remplacez OS_VERSION (VERSION_OS) et SP_VERSION (VERSION_SP) par la version du système d'exploitation et la version du Service Pack utilisées. Utilisez, par exemple, sles12 et sp5.

  1. Créez une structure à l'emplacement /srv/tftpboot pour prendre en charge les différentes options.

    root # mkdir -p /srv/tftpboot/BIOS/x86
    root # mkdir -p /srv/tftpboot/EFI/x86/boot
    root # mkdir -p /srv/tftpboot/EFI/aarch64/boot
    root # mkdir -p /srv/install/x86/OS_VERSION/SP_VERSION/cd1
    root # mkdir -p /srv/install/aarch64/OS_VERSION/SP_VERSION/cd1
  2. Téléchargez les images ISO DVD de SUSE Linux Enterprise Server 12 SP5 à partir du site Web SUSE pour toutes les architectures dont vous avez besoin.

  3. Montez les fichiers ISO comme décrit à la Section 8.6, « Utilisation d'images ISO du support d'installation sur le serveur ». Pour que les fichiers soient disponibles après un redémarrage, créez une entrée dans /etc/fstab. Pour une installation standard, seul le DVD 1 est requis.

    root # mount -o loop PATH_TO_ISO /srv/install/ARCH/OS_VERSION/SP_VERSION/cd1/

    Répétez cette étape pour toutes les architectures requises et remplacez ARCH par x86 ou aarch64 et PATH_TO_ISO (CHEMIN_VERS_ISO) par le chemin d'accès au fichier ISO correspondant.

  4. Copiez les fichiers kernel, initrd et message requis pour qu'UEFI et x86 BIOS démarrent à l'emplacement approprié.

    root # cd /srv/install/x86/OS_version/SP_version/cd1/boot/x86_64/loader/
    root # cp -a linux initrd message /srv/tftpboot/BIOS/x86/
  5. Assurez-vous que le chemin /srv/install est disponible via NFS. Pour plus de détails, reportez-vous à la Section 8.2, « Configuration manuelle d'un dépôt NFS ».

9.3.2 Fichiers BIOS pour x86

  1. Copiez pxelinux.0 dans le dossier TFTP et préparez un sous-dossier pour le fichier de configuration.

    root # cp /usr/share/syslinux/pxelinux.0 /srv/tftpboot/BIOS/x86/
    root # mkdir /srv/tftpboot/BIOS/x86/pxelinux.cfg
  2. Créez le fichier /srv/tftpboot/BIOS/x86/pxelinux.cfg/default et ajoutez les lignes suivantes :

    default install
    
    # hard disk
    label harddisk
     localboot -2
    # install
    label install
     kernel linux
     append initrd=initrd install=nfs://192.168.1.1:/srv/install/x86/OS_version/SP_version/cd1
    
    display message
    implicit 0
    prompt 1
    timeout 5
  3. Modifiez le fichier /srv/tftpboot/BIOS/x86/message pour qu'il soit conforme au fichier default que vous venez de modifier.

    Welcome to the Installer Environment!
    
    To start the installation enter 'install' and press <return>.
    
    Available boot options:
     harddisk   - Boot from Hard Disk (this is default)
     install    - Installation

9.3.3 Fichiers UEFI pour x86

Dans cette procédure, remplacez OS_version et SP_version par la version du système d'exploitation et la version du Service Pack utilisées. Utilisez, par exemple, sles12 et sp5.

  1. Copiez tous les fichiers grub2 requis pour le démarrage d'UEFI.

    root # cd /srv/install/x86/OS_version/SP_version/cd1/EFI/BOOT
    root # cp -a bootx64.efi grub.efi MokManager.efi /srv/tftpboot/EFI/x86/
  2. Copiez les fichiers kernel et initrd dans la structure de répertoires.

    root # cd /srv/install/x86/OS_version/SP_version/cd1/boot/x86_64/loader/
    root # cp -a linux initrd /srv/tftpboot/EFI/x86/boot
  3. Créez le fichier /srv/tftpboot/EFI/x86/grub.cfg en incluant au moins le contenu suivant :

    set timeout=5
    menuentry 'Install OS_version SP_version for x86_64' {
      linuxefi /EFI/x86/boot/linux \
       install=nfs://192.168.1.1/srv/install/x86/OS_version/SP_version/cd1
      initrdefi /EFI/x86/boot/initrd
    }

9.3.4 Fichiers UEFI pour AArch64

Dans cette procédure, remplacez OS_version et SP_version par la version du système d'exploitation et la version du Service Pack utilisées. Utilisez, par exemple, sles12 et sp5.

  1. Cette opération est relativement similaire à celle réalisée dans l'environnement EFI x86_64. Commencez par copier les fichiers nécessaires au démarrage d'UEFI dans un environnement grub2-efi.

    root # cd /srv/install/aarch64/OS_version/SP_version/cd1/EFI/BOOT
    root # cp -a bootaa64.efi /srv/tftpboot/EFI/aarch64/
  2. Copiez les fichiers kernel et initrd dans la structure de répertoires.

    root # cd /srv/install/aarch64/OS_version/SP_version/cd1/boot/aarch64
    root # cp -a linux initrd /srv/tftpboot/EFI/aarch64/boot
  3. Créez à présent le fichier /srv/tftpboot/EFI/grub.cfg et ajoutez le contenu suivant :

    menuentry 'Install OS_version SP_version' {
      linux /EFI/aarch64/boot/linux network=1 usessh=1 sshpassword="suse" \
       install=nfs://192.168.1.1:/srv/install/aarch64/OS_version/SP_version/cd1 \
       console=ttyAMA0,115200n8
      initrd /EFI/aarch64/boot/initrd
    }

    Cet ajout au fichier de configuration contient quelques autres options pour activer la console série et autoriser l'installation via SSH, ce qui est utile pour les systèmes ne disposant pas d'une interface de console KVM standard. Vous remarquerez qu'il est configuré pour une plate-forme ARM spécifique.

9.4 Options de configuration PXELINUX

Les options répertoriées à cet endroit constituent un sous-ensemble de toutes les options disponibles pour le fichier de configuration PXELINUX.

APPEND OPTIONS

Ajoute une ou plusieurs options à la ligne de commande du kernel. Celles-ci sont ajoutées pour les démarrages automatique et manuel. Les options sont ajoutées en tout début de ligne de commande du kernel ; en règle générale, elles peuvent être remplacées par les options de kernel entrées de manière explicite.

APPEND -

N'ajoute rien. APPEND suivi d'un seul tiret, utilisé comme argument dans une section LABEL peut servir à remplacer un APPEND global.

DEFAULT OPTIONS_KERNEL...

Définit la ligne de commande de kernel par défaut. Si PXELINUX démarre automatiquement, il agit comme si les entrées qui figurent après DEFAULT avaient été saisies à l'invite de démarrage, et ce à une exception près : l'option auto est ajoutée automatiquement, ce qui indique un démarrage automatique.

Si aucun fichier de configuration n'existe ou si aucune entrée DEFAULT n'est définie dans le fichier de configuration, la valeur par défaut est le nom de kernel « linux » sans la moindre option.

IFAPPEND FLAG

Ajoute une option spécifique à la ligne de commande du kernel en fonction de la valeur FLAG. L'option IFAPPEND est disponible uniquement sur PXELINUX. FLAG attend une valeur, décrite dans le Tableau 9.1, « Options de ligne de commande de kernel générées et ajoutées en provenance de IFAPPEND » :

Tableau 9.1 : Options de ligne de commande de kernel générées et ajoutées en provenance de IFAPPEND

Argument

Ligne de commande de kernel générée/Description

1

ip=CLIENT_IP:BOOT_SERVER_IP:GW_IP:NETMASK

Les marques de réservation sont remplacées en fonction de l'entrée du serveur de démarrage PXE ou DHCP/BOOTP.

Notez que cette option ne remplace par l'exécution d'un client DHCP sur le système démarré. En l'absence de renouvellements réguliers, le bail obtenu par le BIOS PXE arrive à expiration, ce qui permet au serveur DHCP de réutiliser l'adresse IP.

2

BOOTIF=MAC_ADDRESS_OF_BOOT_INTERFACE

Cette option se révèle particulièrement utile pour éviter les timeouts lorsque le serveur d'installation sonde les interfaces LAN les unes après les autres jusqu'à ce qu'il obtienne une réponse d'un serveur DHCP. Cette option permet à un programme initrd de déterminer l'interface à partir de laquelle le système a démarré. linuxrc lit cette option et utilise cette interface réseau.

4

SYSUUID=SYSTEM_UUID

Ajoute des UUID en hexadécimales minuscules ; voir /usr/share/doc/packages/syslinux/pxelinux.txt

LABEL LABEL KERNEL IMAGE APPEND OPTIONS...

Indique que si LABEL est spécifié comme kernel à démarrer, PXELINUX doit démarrer à la place IMAGE et les options APPEND spécifiées doivent être utilisées plutôt que celles renseignées dans la section principale du fichier (avant la première commande LABEL). La valeur par défaut de la variable IMAGE est identique à celle de LABEL ; si aucune option APPEND n'est fournie, l'entrée globale (le cas échéant) est utilisée par défaut. Vous pouvez utiliser jusqu'à 128 entrées LABEL.

PXELINUX utilise la syntaxe suivante :

label MYLABEL
  kernel MYKERNEL
  append MYOPTIONS

Les libellés sont tronqués comme s'il s'agissait de noms de fichiers et ils doivent être uniques après cette opération. Par exemple, les deux libellés « v2.6.30 » et « v2.6.31 » ne pourraient pas être différenciés sous PXELINUX car, une fois tronqués, ils portent tous deux le même nom de fichier DOS.

Le kernel ne doit pas nécessairement être un kernel Linux. Il peut également s'agir d'un secteur de démarrage ou d'un fichier COMBOOT.

LOCALBOOT TYPE

Sous PXELINUX, si vous remplacez une option KERNEL par LOCALBOOT 0, vous appelez ce libellé précis, et entraînez le démarrage du disque local et non du kernel.

Argument

Description

0

Effectue un démarrage normal.

4

Effectue un démarrage local avec le pilote UNDI (Universal Network Driver Interface - Interface de pilote réseau universelle) qui réside toujours en mémoire.

5

Effectue un démarrage local avec l'intégralité de la pile PXE, y compris le pilote UNDI, qui réside toujours en mémoire.

Aucune autre valeur n'est définie. Si vous ne savez pas à quoi correspondent les piles UNDI et PXE, indiquez 0.

TIMEOUT TIME-OUT

Indique la durée d'attente (en 1/10e de seconde) dans l'invite de démarrage, avant que le démarrage automatique soit lancé. Le timeout est annulé dès que l'utilisateur commence à saisir des données ; le système considère que l'utilisateur va terminer la commande initiée. Un timeout de zéro désactive entièrement le timeout (il s'agit également de la valeur par défaut). La valeur maximale de timeout est 35 996 (un peu moins d'une heure).

PROMPT val_drapeau

Si l'option val_drapeau a pour valeur 0, l'invite de démarrage apparaît uniquement si vous appuyez sur la touche Maj ou Alt, ou si Verr. maj ou Arrêt défil est défini (option par défaut). Si val_drapeau a la valeur 1, cet argument affiche toujours l'invite de démarrage.

F2  FILENAME
F1  FILENAME
..etc...
F9  FILENAME
F10 FILENAME

Affiche le fichier indiqué à l'écran lorsque vous appuyez sur une touche de fonction à l'invite de démarrage. Cette option peut être utilisée pour implémenter l'aide en ligne sur le pré-lancement (normalement pour les options de ligne de commande du kernel). Afin d'assurer une compatibilité avec les versions antérieures, vous pouvez également utiliser la touche F10 à la place de F0. Il n'y a actuellement aucun moyen de lier les noms de fichiers aux touches F11 et F12.

9.5 Préparation du système cible pour le démarrage PXE

Préparez le BIOS du système pour le démarrage de l'environnement PXE en incluant l'option PXE dans l'ordre de démarrage du BIOS.

Avertissement
Avertissement : ordre de démarrage du BIOS

Ne placez pas l'option PXE avant l'option de démarrage du disque dur dans le BIOS. Le système essaierait sinon de se réinstaller chaque fois que vous le démarrez.

9.6 Préparation du système cible pour la fonction Wake on LAN (réveil à distance)

Pour la fonction Wake on LAN (WOL), vous devez activer l'option BIOS appropriée avant d'effectuer l'installation. Notez également l'adresse MAC du système cible. Ces informations sont nécessaires pour lancer la fonction Wake on LAN.

9.7 Wake on LAN

La fonction Wake on LAN permet à une machine d'être activée par un paquet réseau spécial qui contient l'adresse MAC de la machine. Comme chaque machine au monde dispose d'un identificateur MAC unique, vous ne risquez pas d'activer par erreur la mauvaise machine.

Important
Important : réveil à distance sur différents segments du réseau

Si la machine de contrôle n'est pas située sur le même segment réseau que la cible d'installation à réveiller, vous devez configurer les requêtes WOL afin qu'elles soient envoyées en mode multidiffusion ou contrôler à distance une machine de ce segment réseau afin qu'il joue le rôle de l'expéditeur de ces requêtes.

Les utilisateurs de SUSE Linux Enterprise Server peuvent utiliser un module YaST nommé WOL pour configurer facilement la fonction Wake on LAN. Les utilisateurs d'autres versions de systèmes d'exploitation basés sur SUSE Linux peut utiliser un outil de ligne de commande.

9.8 Wake on LAN (réveil à distance) avec YaST

  1. Connectez-vous en tant qu'utilisateur root.

  2. Sélectionnez YaST › Services réseau › WOL.

  3. Cliquez sur Ajouter, puis entrez le nom d'hôte et l'adresse MAC du système cible.

  4. Pour activer cette machine, sélectionnez l'entrée appropriée et cliquez sur Réveiller.

9.9 Démarrage à partir du CD ou d'une clé USB au lieu de PXE

Vous pouvez également utiliser un CD, un DVD ou une clé USB avec une petite image système au lieu de démarrer via PXE. Le chargement des fichiers nécessaires commencera via NFS lorsque les fichiers kernel et initrd seront chargés. Une image de démarrage peut être créée avec mksusecd. Cela peut être utile si la machine cible ne prend pas en charge le démarrage PXE.

Installez-le à l'aide de la commande zypper sudo dans mksusecd. Pour créer une image ISO de démarrage, utilisez la commande suivante :

tux > mksusecd --create image.iso \
--net=nfs://192.168.1.1:/srv/install/ARCH/OS_VERSION/SP_VERSION/cd1  \
/srv/tftpboot/EFI/ARCH/boot

Remplacez ARCH par le dossier correspondant à l'architecture du système cible. Remplacez également OS_version (VERSION_SE) et SP_version (Version_SP) en fonction de vos chemins comme indiqué à la Section 9.3, « Installation des fichiers sur le serveur TFTP ».

Au lieu d'utiliser un serveur NFS pour l'option --net, vous pouvez aussi utiliser un dépôt HTTP, par exemple le dépôt openSUSE :

tux > mksusecd --create image.iso \
--net=http://download.opensuse.org/tumbleweed/repo/oss/suse \
/srv/tftpboot/EFI/ARCH/boot

Le fichier image.iso peut être écrit sur un DVD ou un CD ou à l'aide de dd sur une clé USB :

root # dd if=image.iso of=/dev/USB_DEVICE

Remplacez USB_DEVICE (PÉRIPHÉRIQUE_USB) par le nom de périphérique de votre clé USB. Vérifiez bien le nom du périphérique pour être certain de ne pas détruire accidentellement les données présentes sur une autre unité.