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.
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é.
Connectez-vous en tant qu'utilisateur
root
à la machine qui héberge le serveur DHCP.Activez le serveur DHCP en exécutant la commande
systemctl enable dhcpd
.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 IP192.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 manueldhcpd.conf
.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 #
Connectez-vous en tant qu'utilisateur
root
.Sélectionnez
› › et installez le paquetage demandé.Cliquez sur
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.Cliquez sur
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.Cliquez sur
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.Cliquez sur
pour appliquer vos paramètres et démarrer le serveur.
9.2.2 Configuration manuelle d'un serveur TFTP #
Loguez-vous en tant qu'utilisateur
root
, et installez les paquetagestftp
etxinetd
.Modifiez la configuration de xinetd sous
/etc/xinetd.d
pour vous assurer que le serveur TFTP se lance au démarrage :S'il n'existe pas, créez dans ce répertoire un fichier nommé
tftp
, à l'aide de la commandetouch tftp
. Exécutez ensuitechmod 755 tftp
.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 }
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
.
Créez une structure à l'emplacement
/srv/tftpboot
pour prendre en charge les différentes options.root #
mkdir -p /srv/tftpboot/BIOS/x86root #
mkdir -p /srv/tftpboot/EFI/x86/bootroot #
mkdir -p /srv/tftpboot/EFI/aarch64/bootroot #
mkdir -p /srv/install/x86/OS_VERSION/SP_VERSION/cd1root #
mkdir -p /srv/install/aarch64/OS_VERSION/SP_VERSION/cd1Té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.
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
ouaarch64
et PATH_TO_ISO (CHEMIN_VERS_ISO) par le chemin d'accès au fichier ISO correspondant.Copiez les fichiers
kernel
,initrd
etmessage
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/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 #
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.cfgCré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
Modifiez le fichier
/srv/tftpboot/BIOS/x86/message
pour qu'il soit conforme au fichierdefault
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
.
Copiez tous les fichiers grub2 requis pour le démarrage d'UEFI.
root #
cd /srv/install/x86/OS_version/SP_version/cd1/EFI/BOOTroot #
cp -a bootx64.efi grub.efi MokManager.efi /srv/tftpboot/EFI/x86/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/bootCré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
.
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/BOOTroot #
cp -a bootaa64.efi /srv/tftpboot/EFI/aarch64/Copiez les fichiers kernel et initrd dans la structure de répertoires.
root #
cd /srv/install/aarch64/OS_version/SP_version/cd1/boot/aarch64root #
cp -a linux initrd /srv/tftpboot/EFI/aarch64/bootCré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 sectionLABEL
peut servir à remplacer unAPPEND
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 deIFAPPEND
» :Tableau 9.1 : Options de ligne de commande de kernel générées et ajoutées en provenance deIFAPPEND
#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 commandeLABEL
). La valeur par défaut de la variable IMAGE est identique à celle de LABEL ; si aucune optionAPPEND
n'est fournie, l'entrée globale (le cas échéant) est utilisée par défaut. Vous pouvez utiliser jusqu'à 128 entréesLABEL
.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
parLOCALBOOT 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). Sival_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.
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.
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 #
Connectez-vous en tant qu'utilisateur
root
.Sélectionnez
› › .Cliquez sur
, puis entrez le nom d'hôte et l'adresse MAC du système cible.Pour activer cette machine, sélectionnez l'entrée appropriée et cliquez sur
.
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é.