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

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

Die Implementierung von Red Hat Virtualization (RHV) in verschiedenen Netzwerken erfordert eine Art Automatisierung, um neue RHV-Hosts zu installieren. Es ist besonders praktisch, den Prozess zu automatisieren, wenn es geringfügige Unterschiede zwischen verschiedenen Hosts im selben Netzwerk gibt.

In diesem Artikel führe ich Sie durch den Prozess des Entwerfens und Einrichtens einer Preboot Execute Environment (PXE), der das Einrichten eines PXE-Servers, das Konfigurieren eines DHCP-Servers und das Installieren eines TFTP-Servers umfasst. Das Einrichten einer PXE-Startumgebung ist nicht besonders schwierig, erfordert jedoch mehrere kritische Schritte, und jeder Schritt enthält viele Details.

Gestaltung

Die Einrichtung eines PXE-Servers zur Bereitstellung verschiedener Serverfarmen in verschiedenen Netzwerken ist von Vorteil, insbesondere wenn Sie die Bereitstellung später automatisieren.

In diesem Setup konfigurieren wir einen PXE-Server und zwei verschiedene Serverfarmen. Das Farmnetzwerk jedes Servers verfügt über ein eigenes dediziertes PXE-Netzwerk (in diesem Artikel als „Bereitstellungsnetzwerk“ bezeichnet), während sich der PXE-Server selbst in keinem dieser Netzwerke befindet.

Unten sehen Sie das Netzwerkdiagramm mit Beispiel-IP-Bereichen:

Dieses Design erreicht Folgendes:

  1. Diese Einrichtung ist sicherer als die Verwendung regulärer Verwaltungsnetzwerke (z. B. ovirtmgmt).
  2. Dieses Setup schützt Verwaltungsnetzwerke vor dem Broadcast-Sturm, der durch DHCP-Anfragen (Dynamic Host Configuration Protocol) verursacht werden kann.
  3. PXE-Server müssen entweder über eine DMZ-Schnittstelle oder über einen Proxy-Server einen Satellitenserver oder das Internet erreichen, um die benötigten Pakete herunterzuladen. Wenn sich der/die PXE-Server außerhalb der Bereitstellungsnetzwerke befinden, werden diese Netzwerke vor Kompromittierung geschützt.

Annahmen

Dieser Artikel basiert der Einfachheit halber auf den folgenden Annahmen:

1. Das PXE-Setup (DHCP, Trivial File Transfer Protocol (TFTP) und Hypertext Transfer Protocol (HTTP)) wird auf einem einzelnen Server gehostet, obwohl dies nicht erforderlich ist.

Die Installation des Betriebssystems (OS) auf einem Server folgt der Reihenfolge im Bild unten:

2. Der PXE-Server kann das Internet über einen Proxyserver erreichen, und wenn nicht, wird ein Satellitenserver verwendet.

3. Der PXE-Server wird auf Red Hat Enterprise Linux (RHEL) 7.x eingerichtet.

PXE-Server-Betriebssystem

Der PXE-Server wird auf einem Server mit vier Kern-CPUs und vier GB Arbeitsspeicher installiert, obwohl Server mit niedrigeren Spezifikationen funktionieren können.

Der Server verfügt über eine Netzwerkschnittstellenkarte (NIC), die für alle Arten von Datenverkehr verwendet wird, obwohl Sie unterschiedliche Netzwerkschnittstellen haben können, wenn eine Netzwerktrennung erforderlich ist.

RHEL7.6 ISO-Image wird verwendet, um das Betriebssystem zu installieren, mit der minimalen Installationsoption.

Nach der Installation sind die Registrierung des Betriebssystems und die Aktivierung der relevanten Repositories erforderlich:

1. Bearbeiten Sie den rhsm Datei:

# vi /etc/rhsm/rhsm.conf

2. Fügen Sie im folgenden Abschnitt die relevanten Details des Proxy-Servers hinzu:

#an http proxy server to use
proxy_hostname =

#port for http proxy server
proxy_port =

#user name for authenticating to an http proxy, if needed
proxy_user =

#password for basic http proxy auth, if needed
proxy_password =

3. Speichern Sie die Datei.

4. Registrieren Sie das System und schließen Sie es an:

#subscription-manager register --auto-attach
username: your-rhsm-username
password: your-rhsm-password

5. Aktivieren der benötigten Repositories:

# subscription-manager repos --enable=rhel-7-server-rh-common-rpms --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms

DHCP-Setup

Im Folgenden finden Sie die Schritte zum Einrichten von DHCP zur Unterstützung von PXE-Start für UEFI-Server:

1. Installieren Sie den DHCP-Server:

# yum install -y dhcp

2. Passen Sie die DHCP-Konfigurationsdatei an (/etc/dhcp/dhcpd.conf ). Hier ist eine Beispielkonfigurationsdatei, die auf dem obigen Netzwerkdiagramm basiert:

# DHCP Server Configuration File
#
#. see /usr/share/doc/dhcp*/dhcpd.conf.example
#
#. see dhcpd.conf(5) man page


option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.1.0 netmask 255.255.255.0 {
   option routers 192.168.1.0;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.1.255;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
   option routers 192.168.2.1;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.2.255;
   range 192.168.2.2 192.168.2.254;

   class "pxeclients" {
     match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
     next-server 192.168.1.10;
     if option architecture-type = 00:07 {
        filename "shim.efi";
        } else {
        filename "pxelinux/pxelinux.0";
     }
   }
}

subnet 192.168.3.0 netmask 255.255.255.0 {
   option routers 192.168.3.1;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.3.255;
   range 192.168.3.2 192.168.3.254;

   class "pxeclients" {
     match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
     next-server 192.168.1.10;
     if option architecture-type = 00:07 {
        filename "shim.efi";
        } else {
        filename "pxelinux/pxelinux.0";
     }
   }
}

3. Aktivieren und starten Sie den dhcpd Dienst:

# systemctl enable dhcpd; systemctl start dhcpd

TFTP-Setup

Der TFTP-Server wird benötigt, um Folgendes bereitzustellen:

  1. initrd.img - Der „Bootloader“, der auf eine RAM-Disk geladen wird
  2. vmlinuz - Ein komprimierter bootfähiger Linux-Kernel

Die Einrichtung des TFTP-Servers zur Unterstützung von PXE-Boot für UEFI-Server unterscheidet sich etwas von der Einrichtung zur Unterstützung der BIOS-Server.

Im Folgenden finden Sie die Schritte zum Einrichten eines TFTP-Servers zur Unterstützung von PXE-Start für UEFI-Server:

1. Installieren Sie den TFTP-Server:

# yum install -y tftp-server

2. Laden Sie die benötigten Pakete aus den RHEL-Repositories herunter:

# mkdir /root/packages

# cd /root/packages

# yumdownloader shim-version-architecture

# yumdownloader grub2-efi- version-architecture

3. Extrahieren Sie die benötigten Binärdateien:

# rpm2cpio shim-version-architecture.rpm | cpio -dimv

# rpm2cpio grub2-efi- version-architecture.rpm | cpio -dimv

# cp boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/

# cp boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/

4. Laden Sie das ISO-Image herunter und verschieben Sie es auf den PXE-Server.

5. Mounten Sie das ISO-Image:

# mount -t iso9660 /path/iso-file.iso /mnt -o loop,ro

6. Erstellen Sie ein Unterverzeichnis zum Speichern von Boot-Image-Dateien in /var/lib/tftpboot :

# mkdir -p /var/lib/tftp/images/rhv-4.3

7. Kopieren Sie die Boot-Image-Dateien:

# cp /mnt/pxeboot/{vmlinuz,initrd.img} /var/lib/tftp/images/rhv-4.3/

8. Erstellen Sie eine Konfigurationsdatei mit dem Namen grub.cfg in /var/lib/tftpboot . Hier ist eine Beispielkonfigurationsdatei unter /var/lib/tftpboot/grub.cfg :

set default=0
set timeout=60
menuentry  'Install RHVH 4.3' --class fedora --class gnu-linux --class gnu --class os {
   linuxefi images/rhv-4.3/vmlinuz inst.ks=http://192.168.1.10/kickstarts/ks.cfg inst.stage2=http:// 192.168.1.10/rhv4.3/ISO quiet
   initrdefi images/rhv-4.3/initrd.img
}

9. Aktivieren und starten Sie tftp Dienst:

#systemctl enable tftp; systemctl start tftp

Tipps zum Erstellen der grub.cfg

Erstellen einer grub.cfg Je nach Netzwerk sind möglicherweise einige zusätzliche Parameter erforderlich. Hier sind einige häufig verwendete Parameter, die möglicherweise in der grub.cfg benötigt werden :

rd.net.timeout.carrier=60

Wenn diese Option gesetzt ist, dhclient wird mit -timeout aufgerufen , daher ist es nützlich, wenn die Antworten des DHCP-Servers verzögert sind:

ip=device-name:dhcp

Dies ist nützlich, falls der zu installierende Server mehrere Schnittstellen hat und nur eine für den PXE-Boot vorgesehen ist.

Weitere Optionen finden Sie auf der Manpage für die Dracut-Befehlszeile.

Abschluss

Die Einrichtung eines PXE-Systems ist ein etwas langwieriger Prozess, daher werden wir nächste Woche mit Teil zwei fortfahren. An diesem Punkt haben Sie einen funktionierenden PXE-Server, 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.

In Teil zwei werde ich mit der PXE-Einrichtung fortfahren, indem ich Ihnen zeige, wie Sie den HTTP-Server, die Kickstart-Datei, die hostbasierte Firewall und das Netzwerk einrichten. Ich bespreche auch die Fehlerbehebung Ihres PXE-Setups und spreche einige Automatisierungsoptionen an.

[ Möchten Sie mehr über die Linux-Systemadministration erfahren? Nehmen Sie an einem Red Hat Systemadministrationskurs teil. ]


Linux
  1. Wie kann ich Ubuntu Server 14.04 mit Nfs über das Netzwerk booten?

  2. Einrichten von DomainKeys für E-Mail auf einem dedizierten Server

  3. So richten Sie VSFTPD unter CentOS 8 ein

  4. Anleitung zum Auflisten und Festlegen des SELinux-Kontexts für MySQL Server

  5. So legen Sie den Pfad für sudo-Befehle fest

So richten Sie SSH unter CentOS und RHEL ein

So richten Sie einen TeamSpeak-Server unter CentOS 7 ein

So richten Sie einen Minecraft-Server unter CentOS 7 ein

So richten Sie Apache als Frontend-Proxy-Server für Node.js CentOS 8 ein

Wie lege ich Einschränkungen für ausgehende E-Mails fest?

So richten Sie einen Heimserver ein