GNU/Linux >> LINUX-Kenntnisse >  >> Linux

PXE-Booten mit UEFI-Hardware fortgesetzt

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:

  1. 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 generierten Kickstart Datei an den entsprechenden Speicherort auf dem HTTP-Server.
  2. Play 2:Schalten Sie den benötigten Server ein, indem Sie die MAC-Adresse der PXE-Schnittstelle verwenden.
  3. Spiel 3:Prüfen Sie den neu installierten Server mit der statischen IP, bevor Sie zur Installation auf einen anderen Server wechseln.

Vorteile:

  1. Es ist keine manuelle Aktivität erforderlich, außer der Aktualisierung der Variablendatei im Falle neuer Server.

Nachteile:

  1. Diese Option erfordert die Integration mit der Hardwareverwaltungs-API.
  2. 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:

  1. Keine Abhängigkeit von den Ansible-Modulen des Hardwareherstellers.
  2. Mehrere Server können parallel konfiguriert werden.

Nachteile:

  1. 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:

  1. Ü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.
  2. Verwenden Sie tcpdump auf dem/den PXE-Server(n), um bei der Fehlerbehebung zu helfen.
  3. 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:

  1. Starten Sie den neuen Server von RHEL 7 iso.
  2. Wählen Sie die Rescue Möglichkeit.
  3. Drücken Sie Shift+F2 um den Shell-Prompt zu erhalten.
  4. Verwenden Sie fdisk um eine neue Partition auf /dev/sda zu erstellen vom Typ Linux.
  5. Unmounten Sie die ISO.
  6. Server neu starten.
  7. 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
  1. Starten Sie den Server erneut und wiederholen Sie die Schritte 1 bis 3.
  2. Mounten Sie /dev/sda1
#mkdir /mnt

#mount /dev/sda1 /mnt
  1. 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

Linux
  1. Newline durch Nul ersetzen?

  2. Überwachen Sie einen Server mit Munin

  3. Filtern und optimieren Sie statische Dateianfragen mit NGINX auf Ubuntu 18.04

  4. Bildvorschau mit ngx_http_image_filter_module

  5. Warnung mit nftw

So erstellen Sie einen persönlichen Dateiserver mit SSH unter Linux

Linux-WC-Befehl mit Beispielen

So richten Sie den PXE-Start für UEFI-Hardware ein

Digitale Signaturen mit GnuPG

Datei mit tftp-Client in Linux ablegen

Windows-Administrator, der mit einem Linux-Dateiserver (Ubuntu) klein anfangen möchte