Dieser Artikel ist der zweite Teil einer kleinen Serie. Falls Sie ihn verpasst haben, lesen Sie unbedingt den ersten Artikel Einrichten des PXE-Boots für UEFI-Hardware .
Im ersten Artikel haben Sie einen funktionierenden PXE-Server erstellt, einen DHCP-Server, der für die Bereitstellung von IP-Adressen an PXE-gebootete Systeme konfiguriert ist, und einen TFTP-Server, um ein bootfähiges System und ISO-Images bereitzustellen. Dieser Artikel setzt die Aufgabe fort, Ihre Umgebung fertigzustellen, und enthält einige Tipps zur Fehlerbehebung, wenn etwas schief geht.
HTTP-Einrichtung
Ein HTTP-Server wird benötigt, um den neuen Server mit dem Kickstart
zu versorgen Datei sowie das zu installierende Betriebssystem. Es ist möglich, diese Dateien über HTTPS bereitzustellen, aber für die meisten neuen Server wird der Einfachheit halber HTTP verwendet.
Hier sind die Schritte zum Einrichten des HTTP-Servers:
1- Installieren Sie HTTP
Server:
# yum install -y httpd
2- Mounten Sie das Red Hat Virtualization Host ISO-Image (falls es nicht gemountet ist):
# mount -t iso9660 /path/iso-file.iso /mnt -o loop,ro
3- Kopieren Sie das Squash-Image und die ISO-Dateien an die Zielorte:
# mkdir /var/www/html/rhv4.3/{ISO,image}
# cp -a /mnt /var/www/html/rhv4.3/ISO
# cp /mnt/Packages/redhat-virtualization-host-image-update* /tmp
# rpm2cpio redhat-virtualization-host-image-update* | cpio -idmv
# cp /tmp/usr/share/redhat-virtualization-host-version_number_version.squashfs.img /var/www/html/rhv4.3/image
4- Kopieren Sie den Kickstart
Datei an den Zielspeicherort:
# mkdir /var/www/html/kickstarts/
# vi /var/www/html/kickstarts/ks.cfg 🡪 Create a new file called ks.cfg
5- Aktivieren und starten Sie httpd
Dienst:
#systemctl enable httpd; systemctl start httpd
Kickstart-Datei
Hier ist ein Beispiel für Kickstart
Datei, die zur Installation des RHVH OS verwendet werden kann. Red Hat empfiehlt dringend, die Option „Portionierung automatisch konfigurieren“ im Installationsziel zu verwenden.
lang en_US
keyboard us
eula --agreed
rootpw Redhat --plaintext
#platform x86, AMD64, or Intel EM64T
reboot
text
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
liveimg --url=http:// 192.168.1.10/rhv4.3/image/redhat-virtualization-host-version_number_version.squashfs.img
clearpart --drives=sda --all
ignoredisk --only-use=sda
autopart --type=thinp
%post --erroronfail
nodectl init
%end
Bemerkungen:
1- Die folgende URL wird von Red Hat bereitgestellt und kann zum Erstellen eines benutzerdefinierten Kickstart
verwendet werden Datei:
[https://access.redhat.com/labs/kickstartconfig/](https://access.redhat.com/labs/kickstartconfig/)
2- Im %post
Abschnitt des Kickstart
-Datei können Linux-Befehle hinzugefügt werden, um die statischen IPs für ovirtmgmt
festzulegen sowie der hostname
.
Automatisierungsoptionen
Dieses Verfahren eignet sich zur Installation mehrerer Server, erfordert jedoch manuelle Änderungen. Es kann jedoch auf verschiedene Arten vollständig automatisiert werden.
Die Automatisierung ist nicht Gegenstand dieses Artikels, aber zwei verschiedene Optionen für die Automatisierung werden hier auf hoher Ebene erwähnt:
Mit Ansible das Einschalten der Server automatisieren
Die meisten HW-Anbieter haben jetzt ihre Ansible
Module, um verschiedene Details zu den Servern abzurufen und sie ein- und auszuschalten. Um die Installation des Betriebssystems zu automatisieren, müssen wir also ein Ansible-Playbook erstellen, um Folgendes zu tun:
- Spiel 1:Jinja2-Vorlage für den
Kickstart
erstellen Datei, in der die statische IP und der Hostname im Post-Abschnitt ordnungsgemäß ersetzt werden, indem eine Variablendatei verwendet wird, die die MAC-Adresse der PXE-Schnittstelle der statischen IP und dem Hostnamen für jeden Server zuordnet, und dann den dynamisch generiertenKickstart
Datei an den entsprechenden Speicherort auf dem HTTP-Server. - Play 2:Schalten Sie den benötigten Server ein, indem Sie die MAC-Adresse der PXE-Schnittstelle verwenden.
- Spiel 3:Prüfen Sie den neu installierten Server mit der statischen IP, bevor Sie zur Installation auf einen anderen Server wechseln.
Vorteile:
- Es ist keine manuelle Aktivität erforderlich, außer der Aktualisierung der Variablendatei im Falle neuer Server.
Nachteile:
- Diese Option erfordert die Integration mit der Hardwareverwaltungs-API.
- Mit dieser Option kann ein Betriebssystem jeweils auf einem Server installiert werden (Sie können jeweils nur eine Kickstart-Datei auf dem HTTP-Server hosten).
Mit Ansible die Hosts nach der Installation des Betriebssystems konfigurieren
Hier in der dhcpd.conf
Wir codieren die IP-Adresse fest, die jeder MAC-Adresse eines neuen Servers im Bereitstellungsnetzwerk zugewiesen wird. Als Nächstes erstellen wir eine Bestandsdatei mit diesen IPs sowie eine Variablendatei mit dem Hostnamen und der statischen IP-Adresse für jeden Server, der seiner IP-Adresse im Bereitstellungsnetzwerk zugeordnet ist. Erstellen Sie schließlich ein Ansible-Spiel, um den Server nach der Installation des Betriebssystems nachzukonfigurieren.
Vorteile:
- Keine Abhängigkeit von den Ansible-Modulen des Hardwareherstellers.
- Mehrere Server können parallel konfiguriert werden.
Nachteile:
- Nicht vollständig automatisiert wie die
dhcpd.conf
geändert werden muss, sowie die Variablen für neue Server müssen hinzugefügt werden. Außerdem müssen die Server manuell eingeschaltet werden.
[ Brauchen Sie mehr zu Ansible? Nehmen Sie an einem kostenlosen technischen Überblickskurs von Red Hat teil. Ansible Essentials:Simplicity in Automation Technical Overview ]
Firewalld und Netzwerkeinrichtung
Wenn zwischen den PXE-Servern und den Bereitstellungsnetzwerken Firewalls vorhanden sind, muss eingehender TFTP- und HTTP-Datenverkehr von den Bereitstellungsnetzwerken zu den PXE-Servern zugelassen werden. ICMP-Datenverkehr von den PXE-Servern zu den Bereitstellungsnetzwerken (neue Server müssen vom DHCP-Server aus anpingbar sein) muss ebenfalls zugelassen werden.
Eingehender SSH-Datenverkehr von den Bereitstellungsnetzwerken zu den PXE-Servern muss zur Fehlerbehebung aktiviert werden, wie im folgenden Abschnitt erläutert wird.
Darüber hinaus verkompliziert das Verbinden der PXE-Schnittstelle auf den neuen Servern die Einrichtung und wird nicht benötigt.
Von den PXE-Servern müssen DHCP-, TFTP- und HTTP-Dienste durch firewalld
aktiviert werden . Unter der Annahme, dass sich DHCP-, TFTP- und HTTP-Dienste alle auf demselben Server befinden, muss der folgende Befehl ausgeführt werden:
# firewall-cmd --permanent --add-service=http --add-service=dhcp --add-service=tftp
# firewall-cmd –reload
Fehlerbehebung
PXE-Setups erfordern am Anfang etwas Aufwand, und die Fehlerbehebung kann ein Problem darstellen, da wir auf den neuen Servern nicht viel tun können, da sie noch kein Betriebssystem haben. Hier sind einige Hinweise, die bei der Fehlersuche hilfreich sein könnten:
- Überprüfen Sie, ob der Server über die DHCP-IP erreichbar ist. Suchen Sie dazu die entsprechende DHCP-IP-Adresse in
/var/lib/dhcpd/dhcpd.leases
(oder indem Sie eines der öffentlich verfügbaren Python-Skripte verwenden, um diese Datei zu parsen) und sie dann pingen. - Verwenden Sie
tcpdump
auf dem/den PXE-Server(n), um bei der Fehlerbehebung zu helfen. - Erfassen von
/run/initramfs/rdsosreport.txt
anmelden, falls die Serverinstallation fehlschlägt.
Dies ist der schwierigste Teil bei der Fehlerbehebung. Wenn die Installation fehlschlägt, haben Sie kein Netzwerk, um diese Datei zu übertragen, und der Red Hat Support kann Ihnen ohne diese Datei nicht helfen.
Es gibt viele Möglichkeiten, diese Datei zu sammeln, aber die einfachste ist die folgende:
- Starten Sie den neuen Server von RHEL 7 iso.
- Wählen Sie die
Rescue
Möglichkeit. - Drücken Sie
Shift+F2
um den Shell-Prompt zu erhalten. - Verwenden Sie
fdisk
um eine neue Partition auf/dev/sda
zu erstellen vom Typ Linux. - Unmounten Sie die ISO.
- Server neu starten.
- Sobald die Installation fehlschlägt und Sie sich in der Dracut-Eingabeaufforderung befinden, gehen Sie wie folgt vor:
#mkdir /mnt
#mount /dev/sda1 /mnt
#cp /run/initramfs/rdsosreport.txt /dev/sda1
#umount /dev/sda1
- Starten Sie den Server erneut und wiederholen Sie die Schritte 1 bis 3.
- Mounten Sie
/dev/sda1
#mkdir /mnt
#mount /dev/sda1 /mnt
- Hier haben Sie zwei Möglichkeiten:
- Beziehen Sie eine DHCP-IP-Adresse mit:
#dhclient
#scp /mnt/rdsosreport.txt [email protected]:/root
- Mounten Sie ein Verzeichnis auf Ihrem Laptop als Partition auf Ihrem neuen Server und kopieren Sie die
rdsosreport.txt
zu dieser Partition.
Abschluss
Herzlichen Glückwunsch zum Erreichen dieses Punktes. Sie haben jetzt ein funktionierendes PXE-System, das neue RHV-Hosts bereitstellen kann. Denken Sie daran, den Abschnitt zur Fehlerbehebung zu lesen, wenn nicht alles wie erwartet funktioniert. Sie müssen auch jeden Schritt wie beschrieben ausführen, um erfolgreich zu diesem Punkt zu gelangen. Überprüfen Sie Ihre Arbeit, da es viele detaillierte Schritte gibt. Viel Glück mit Ihrer neuen Umgebung.
Referenzen
- Installationshosts für die Red Hat-Virtualisierung
- Vorbereitung einer Netzwerkinstallation