
Bild von foto76 bei FreeDigitalPhotos.net
PXE , steht für Pre-Boot Execution Environment, hilft Ihnen, ein System über das Netzwerk zu installieren, ohne eine DVD / CD-ROM zu haben. Bei dieser Methode bootet der Client nur mit seiner Netzwerkschnittstellenkarte, was für Systemadministratoren sehr hilfreich ist, um das Betriebssystem auf dem System zu installieren, in dem keine DVD-/CD-Geräte vorhanden sind.
Die PXE-Umgebung benötigt den DHCP-Server, der dem Client eine IP-Adresse, andere Netzwerkinformationen wie Nameserver, die IP-Adresse oder den Hostnamen des TFTP-Servers (der die zum Starten des Installationsprogramms erforderlichen Dateien bereitstellt) und den Speicherort von die Dateien auf dem TFTP-Server.
Zur Vorbereitung einer PXE-Installation müssen folgende Schritte durchgeführt werden:
- HTTP-Server konfigurieren
- Konfigurieren Sie die Dateien auf dem TFTP-Server
- DHCP konfigurieren.
- Starten Sie alle Dienste
- Firewall-Konfigurationen
- Booten Sie den Client und starten Sie die Installation.
1. PXE-Server installieren:
Installieren Sie die folgenden Pakete zum Einrichten der PXE-Umgebung,
# yum -y install httpd xinetd syslinux tftp-server
2. PXE-Server konfigurieren:
HTTP-Server konfigurieren:
Hier verwenden wir den Apache-Server als Netzwerkserver, um den gesamten Installationsbaum für die Version zu exportieren
Mounten Sie jetzt das CentOS 7-Image auf /mnt . Ich habe bereits ein CentOS 7-ISO-Image auf /tmp Verzeichnis.
# mount -o loop /tmp/CentOS-7-x86_64-DVD-1503-01.iso /mnt
Erstellen Sie als Nächstes ein Verzeichnis zum Speichern von CentOS-Paketen.
# mkdir /var/www/centos7
Kopieren Sie alle Dateiinhalte aus /mnt nach /var/www/centos7 .
# cp -a /mnt/* /var/www/centos7/
Legen Sie die richtigen Berechtigungen für das obige Verzeichnis fest.
# chmod -R 755 /var/www/centos7/
Erstellen Sie eine Apache-Konfigurationsdatei für den PXE-Server unter /etc/httpd/conf.d/ Verzeichnis:
# vi /etc/httpd/conf.d/pxe.conf
Fügen Sie die folgenden Zeilen hinzu:
Alias /centos7 /var/www/centos7/ <Directory /var/www/centos7/> Options Indexes FollowSymLinks Order Deny,Allow Allow from all </Directory>
Speichern und schließen Sie die Datei.
Konfigurieren Sie die Dateien auf dem TFTP-Server:
Der nächste Schritt besteht darin, die zum Starten der Installation erforderlichen Dateien auf den TFTP-Server zu kopieren, damit sie gefunden werden können, wenn der Client sie anfordert.
Kopieren Sie alle Bootloader-Dateien, die von Syslinux-Paketen bereitgestellt werden, nach /var/lib/tftpboot, indem Sie den folgenden Befehl verwenden.
# cp -a /usr/share/syslinux/* /var/lib/tftpboot/
Erstellen Sie das centos7-Verzeichnis und kopieren Sie den bootfähigen CentOS 7-Kernel und die initrd-Images aus dem gemounteten DVD-Speicherort in die centos7-Ordnerstruktur.
# mkdir /var/lib/tftpboot/centos7 # cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7 # cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos7
PXE-Server liest normalerweise seine Konfiguration aus einer Standarddatei in einem Ordner namens pxelinux.cfg gehostet , erstellen Sie ein Konfigurationsverzeichnis für den PXE-Server:
# mkdir /var/lib/tftpboot/pxelinux.cfg
Erstellen Sie nun die PXE-Serverkonfigurationsdatei unter pxelinux.cfg :
# vi /var/lib/tftpboot/pxelinux.cfg/default
Fügen Sie die folgenden Zeilen hinzu:
default menu.c32 prompt 0 timeout 300 ONTIMEOUT 1 menu title ########## CentOS 7 PXE Boot Menu ########## label 1 menu label ^1) Install CentOS 7 menu default kernel centos7/vmlinuz append initrd=centos7/initrd.img method=http://192.168.12.10/centos7 devfs=nomount label 2 menu label ^2) Boot from local drive localboot 0
Bearbeiten Sie die Datei /etc/xinetd.d/tftp,
vi /etc/xinetd.d/tftp
Aktivieren Sie den TFTP-Server. Ändern Sie dazu "disable=yes" auf „nein“ .
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
DHCP-Server konfigurieren
Jetzt müssen wir den DHCP-Server so konfigurieren, dass er mit dem PXE-Server funktioniert.
Bearbeiten Sie die Datei /etc/dhcp/dhcpd.conf ,
# vi /etc/dhcp/dhcpd.conf
Fügen Sie die grüne Linie am Ende Ihres Subnetzes hinzu. Sie können den folgenden Inhalt auch kopieren und in dhcpd.conf einfügen und ihn gemäß Ihrer Netzwerkumgebung ändern. Eine ausführlichere Anleitung finden Sie hier.
subnet 192.168.12.0 netmask 255.255.255.0 { range 192.168.12.100 192.168.12.200; option domain-name-servers 8.8.8.8, 8.8.4.4; option domain-name "itzgeek.local"; option routers 192.168.12.2; option broadcast-address 192.168.12.255; default-lease-time 600; max-lease-time 7200; filename "pxelinux.0"; }
Alle Dienste starten:
Sobald die Konfiguration abgeschlossen ist, starten Sie alle Dienste neu.
# systemctl restart xinetd # systemctl restart httpd # systemctl restart dhcpd
Automatisches Starten aller Dienste beim Systemstart aktivieren.
# systemctl enable xinetd # systemctl enable httpd # systemctl enable dhcpd
Firewall-Konfigurationen:
Wir müssen den Apache-, DHCP- und TFTP-Dienst in der Firewall zulassen. Führen Sie dazu die folgenden Befehle aus.
# firewall-cmd --permanent --add-service=http ## Port 80 # firewall-cmd --permanent --add-service=dhcp ## Port 67 # firewall-cmd --permanent --add-port=69/udp ## Port for TFTP # firewall-cmd --permanent --add-port=69/tcp ## Port for TFTP # firewall-cmd --reload ## Apply rules
3. Booten Sie den Client und starten Sie die Installation:
Der Client kann ein beliebiges System sein, das über eine aktivierte Netzwerkstartoption (PXE-Start) verfügt. Sie können diese Option in Ihren Bios-Einstellungen aktivieren, indem Sie während der BIOS-POST-Vorgänge eine bestimmte Taste drücken, wie im Motherboard-Handbuch angegeben.
Die Maschine beginnt, von der Netzwerkschnittstelle zu booten.

Jetzt versucht das System, automatisch eine IP-Adresse vom DHCP-Server zu beziehen.

Sobald das System die IP-Adresse erhält, bringt Sie das System zum PXE-Menü.
Hinweis:Gemäß unserer Konfiguration ist CentOS 7 installieren standardmäßig ausgewählt, und die Installation startet automatisch, wenn innerhalb von 30 Sekunden keine Taste gedrückt wird.

Jetzt können Sie mit der Installation von CentOS 7 fortfahren.
Das ist alles.
Referenz:
CentOS-Wiki