Automatisierte Installationen mehrerer RHEL/CentOS 7-Distributionen mit PXE-Server und Kickstart-Dateien
Dieser Artikel ist eine Erweiterung meines vorherigen PXE-Boot-Environment-Setups auf RHEL/CentOS 7 und konzentriert sich darauf, wie Sie automatische Installationen von RHEL/CentOS 7 auf Headless-Rechnern durchführen können, ohne dass ein Benutzereingriff erforderlich ist, indem Sie eine Kickstart-Datei verwenden, die von einem lokalen FTP-Server gelesen wird.
Die Vorbereitung der Umgebung für diese Art der Installation wurde bereits im vorherigen Tutorial bezüglich der PXE-Server-Einrichtung behandelt, der einzige fehlende Schlüssel, eine Kickstart-Datei, wird in diesem Tutorial weiter unten behandelt.
Der einfachste Weg, eine angepasste Kickstart-Datei zu erstellen, die Sie für mehrere Installationen weiter verwenden können, besteht darin, manuell eine Installation von RHEL/CentOS 7 durchzuführen und nach Abschluss des Installationsvorgangs die Datei mit dem Namen anaconda-ks.cfg, die sich im /root-Pfad befindet, an einen zugänglichen Netzwerkspeicherort zu kopieren und den initrd-Boot-Parameter inst.ks=protocol:// anzugeben. path/to/kickstart.filezur PXE-Menükonfigurationsdatei.
Anforderungen
- Einrichten eines PXE-Netzwerk-Boot-Servers unter RHEL/CentOS 7
Dieses Tutorial und die Konfiguration der Kickstart-Datei behandeln nur die Minimalinstallation von RHEL/CentOS 7 ohne grafische Installation, im Grunde genommen die Kikstart-Datei, die aus der vorherigen Minimalinstallationsprozedur von RHEL/CentOS 7 resultiert.
- CentOS 7 Minimales Installationsverfahren
- RHEL 7 – Minimales Installationsverfahren
Wenn Sie eine Kickstart-Datei benötigen, die die GUI-Installation und eine bestimmte Partitionstabelle abdeckt, empfehle ich Ihnen, zuerst eine anpassbare
grafische Installation von RHEL/CentOS 7 in einer virtualisierten Umgebung durchzuführen und die resultierende Kickstart-Datei für zukünftige GUI-Installationen zu verwenden.
Schritt 1: Erstellen und Kopieren der Kiskstart-Datei in den FTP-Serverpfad
1. Gehen Sie im ersten Schritt in das Verzeichnis /root Ihres PXE-Rechners und kopieren Sie die Datei mit dem Namen anaconda-ks.cfg in den Vsftpd-Standardserverpfad (/var/ftp/pub) – auch den Pfad für RHEL/CentOS 7 Local Mirror Installation Source, konfiguriert auf dem PXE-Netzwerk-Bootserver – Schritt 6 (siehe Artikel zur Einrichtung des PXE-Servers oben).
# cp anaconda-ks.cfg /var/ftp/pub/
chmod 755 /var/ftp/pub/anaconda-ks.cfg
2. Nachdem die Datei kopiert wurde, öffnen Sie sie mit Ihrem bevorzugten Texteditor und nehmen Sie die folgenden minimalen Änderungen vor.
# nano /var/ftp/pub/anaconda-ks.cfg
- Ersetzen Sie –url mit dem Quellspeicherort Ihrer Netzwerkinstallation: Beispiel: –url=ftp://192.168.1.25/pub/
- Ersetzen Sie network –bootproto durch dhcp, falls Sie die Netzwerkschnittstellen während des Installationsvorgangs manuell konfiguriert haben.
Im Folgenden finden Sie einen Auszug, wie eine Kickstart-Datei aussehen könnte.
#version=RHEL7
System authorization information
auth --enableshadow --passalgo=sha512
Use network installation
url --url="ftp://192.168.1.25/pub/"
Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
System language
lang en_US.UTF-8
Network information
network --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network --hostname=localhost.localdomain
Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
System services
services --enabled="chronyd"
System timezone
timezone Europe/Bucharest --isUtc
System bootloader configuration
bootloader --location=mbr --boot-drive=sda
Partition clearing information
clearpart --none --initlabel
Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol / --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap --fstype="swap" --size=2048 --name=swap01 --vgname=centos
%packages
@compat-libraries
@core
wget
net-tools
chrony
%end
Weitere Informationen zu den Optionen und der Syntax von Kickstart-Dateien finden Sie in der RHEL 7 Kickstart-Dokumentation.
3. Bevor Sie versuchen, diese Datei für Installationsprozeduren zu verwenden, ist es wichtig, dass Sie die Datei mit dem Befehl ksvalidator überprüfen, der im Pykickstart-Paket enthalten ist, insbesondere wenn manuelle Anpassungen durchgeführt wurden. Installieren Sie das Pykickstart-Paket, und überprüfen Sie Ihre Kickstart-Datei, indem Sie die folgenden Befehle ausführen.
# yum install pykickstart
ksvalidator /var/ftp/pub/anaconda-ks.cfg
4. Die letzte Überprüfung besteht darin, sicherzustellen, dass die Kickstart-Datei von Ihrem angegebenen Netzwerkspeicherort aus zugänglich ist – in diesem Fall die FTP Local Mirror-Installationsquelle, die durch die folgende URL-Adresse definiert wird.
ftp://192.168.1.25/pub/
Schritt 2: Hinzufügen des Kikstart-Installationslabels zur PXE-Serverkonfiguration
5. Um auf die Option Automatische Installation von RHEL/CentOS 7 über das PXE-Menü zuzugreifen, fügen Sie der PXE-Standarddateikonfiguration die folgende Bezeichnung hinzu.
# nano /var/lib/tftpboot/pxelinux.cfg/default
Auszug aus der PXE-Menübeschriftung.
Für RHEL 7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Für CentOS 7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Wie Sie an diesem Beispiel sehen können, kann die automatische Installation über VNC mit Passwort überwacht werden (VNC-Passwort entsprechend ersetzen) und die Kickstart-Datei befindet sich lokal auf dem PXE-Server und wird durch den initrd-Boot-Parameter inst.ks= FTP network location angegeben (ersetzen Sie Protokoll und Netzwerkadresse entsprechend, wenn Sie andere Installationsmethoden wie HTTP verwenden, HTTPS-, NFS- oder Remote-Installationsquellen und Kickstart-Dateien).
Schritt 3: Konfigurieren von Clients für die automatische Installation von RHEL/CentOS 7 mithilfe von Kickstart
6. Um RHEL/CentOS 7 automatisch zu installieren und den gesamten Installationsprozess zu überwachen, insbesondere auf Headless-Servern, weisen Sie Ihren Client-Computer über BIOS
an, vom Netzwerk zu booten, warten Sie einige Sekunden, drücken Sie dann die Tasten F8 und Enter und wählen Sie dann die Option Kickstart aus dem PXE-Menü.
7. Nachdem der Kernel und die Ramdisk geladen und die Kickstart-Datei erkannt haben, wird der Installationsvorgang automatisch gestartet, ohne dass ein Eingreifen der Benutzerseite erforderlich ist. Wenn Sie den Installationsvorgang beobachten möchten, stellen Sie von einem anderen Computer aus eine Verbindung mit einem VNC-Client her, indem Sie die Adresse verwenden, die Ihnen das Installationsprogramm zur Verfügung stellt, und genießen Sie die Ansicht.
8. Melden Sie sich nach Abschluss des Installationsvorgangs mit dem Root-Konto und dem Passwort an, das Sie bei der vorherigen Installation verwendet haben (the
, das Sie in die Kickstart-Datei kopiert haben) und ändern Sie Ihr Client-Root-Passwort, indem Sie den Befehl passwd ausführen.
Das ist alles! Automatische Kickstart-Installationen bieten viele Vorteile für Systemadministratoren in Umgebungen, in denen sie Systeminstallationen auf mehreren Rechnern gleichzeitig und in kurzer Zeit durchführen müssen, ohne den Installationsprozess manuell stören zu müssen.










