GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Konfigurieren Sie den PXE-Installationsserver (Network Boot) unter CentOS 7.x

Der PXE-Server (Preboot eXecution Environment) ermöglicht die unbeaufsichtigte oder automatisierte Betriebssysteminstallation über das Netzwerk. Der Hauptvorteil von pxe besteht darin, dass wir kein bootfähiges Laufwerk zum Starten des Betriebssystems (Betriebssystem) benötigen und keine ISO-Datei brennen müssen in DVD oder USB-Gerät.

Sobald der PXE-Server konfiguriert ist, können wir Hunderte von Systemen gleichzeitig über das Netzwerk installieren. Da es auf der Client-Server-Architektur funktioniert, booten Sie die Clients über die PXE-Option, um die Betriebssysteminstallation auf den Clients zu erhalten.

In diesem Artikel werde ich den PXE-Server auf CentOS 7.x einrichten und dann versuchen, das Betriebssystem auf dem Client mit pxe boot zu installieren.

Nachfolgend finden Sie Details zu meinem Setup:

  • Server-IP =172.168.1.11
  • Hostname =pxe.example.com
  • Betriebssystem =CentOS 7.x
  • SELinux =aktiviert
  • Firewall =aktiviert

Schritt:1 Erforderliche Pakete für PXE-Setup installieren

Um den PXE-Server auf Centos 7.x zu installieren und zu konfigurieren, benötigen wir die folgenden Pakete „dhcp, tftp-server, ftp server(vsftpd), xinted“. Öffnen Sie das Terminal, führen Sie den folgenden Befehl aus:

[[email protected] ~]# yum install dhcp tftp tftp-server syslinux vsftpd xinetd

Schritt:2 DHCP-Server für PXE konfigurieren

Wenn wir das DHCP-Paket installieren, wird eine Beispielkonfigurationsdatei des DHCP-Servers unter „/usr/share/doc/dhcp*/dhcpd.conf.example“ erstellt. stark> “, obwohl sich die Konfigurationsdatei von dhcp unter „/etc/dhcp/dhcpd.conf befindet ’.

Kopieren Sie die folgenden Zeilen in die Datei „/etc/dhcp/dhcpd.conf“, ersetzen Sie das IP-Subnetz und andere Details gemäß Ihrer Umgebung.

[[email protected] ~]# vi /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.

ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;

# internal subnet for my DHCP Server
subnet 172.168.1.0 netmask 255.255.255.0 {
range 172.168.1.21 172.168.1.151;
option domain-name-servers 172.168.1.11;
option domain-name "pxe.example.com";
option routers 172.168.1.11;
option broadcast-address 172.168.1.255;
default-lease-time 600;
max-lease-time 7200;

# IP of PXE Server
next-server 172.168.1.11;
filename "pxelinux.0";
}

Schritt:3 TFTP-Server bearbeiten und konfigurieren (/etc/xinetd.d/tftp)

TFTP (Trivial File Transfer Protocol) wird verwendet, um Dateien ohne jegliche Authentifizierung vom Datenserver zu seinen Clients zu übertragen. Bei der Einrichtung eines PXE-Servers wird tftp für das Bootstrap-Laden verwendet. Um den TFTP-Server zu konfigurieren, bearbeiten Sie seine Konfigurationsdatei „/etc/xinetd.d/tftp “, ändern Sie den Parameter „disable =yes“ in „disable =no“ und lassen Sie die anderen Parameter unverändert.

[[email protected] ~]# vi /etc/xinetd.d/tftp
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
}

Alle Dateien, die sich auf den Netzwerkstart beziehen, müssen im TFTP-Stammverzeichnis „/var/lib/tftpboot abgelegt werden ”

Führen Sie die folgenden Befehle aus, um die erforderlichen Netzwerk-Boot-Dateien in „/var/lib/tftpboot/“

zu kopieren
[[email protected] ~]# cp -v /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot
[[email protected] ~]#
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]# mkdir /var/lib/tftpboot/networkboot
[email protected] ~]#

Schritt:4 Mounten Sie die CentOS 7.x ISO-Datei und kopieren Sie ihren Inhalt auf den lokalen FTP-Server

In meinem Fall habe ich bereits die CentOS 7.x-ISO-Datei auf meinen PXE-Server heruntergeladen. Führen Sie die folgenden Befehle aus, um die ISO-Datei zu mounten, und kopieren Sie dann ihren Inhalt in das Verzeichnis des FTP-Servers „/var/ftp/pub

[[email protected] ~]# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[[email protected] ~]# cd /mnt/
[[email protected] mnt]# cp -av * /var/ftp/pub/

Kopieren Sie die Kernel-Datei (vmlimz) und die initrd-Datei aus der gemounteten ISO-Datei nach „/var/lib/tftpboot/networkboot/

[[email protected] ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/
[[email protected] ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/
[[email protected] ~]#

Jetzt können Sie die ISO-Datei mit dem Befehl „umount“ aushängen

[[email protected] ~]# umount /mnt/
[[email protected] ~]#

Schritt:5 KickStart- und PXE-Menüdatei erstellen.

Bevor wir die Kickstart-Datei erstellen, erstellen wir zuerst das Root-Passwort in einer verschlüsselten Zeichenfolge, da wir diese verschlüsselte Passwort-Zeichenfolge in der Kickstart-Datei verwenden werden.

[[email protected] ~]# openssl passwd -1 [email protected]#
$1$e2wrcGGX$tZPQKPsXVhNmbiGg53MN41
[[email protected] ~]#

Die Standard-Kickstart-Datei des Systems befindet sich unter /root mit dem Namen „anaconda-ks.cfg“. ’. Wir werden einen neuen Kickstart im Ordner /var/ftp/pub mit dem Namen „centos7.cfg“ erstellen ’

Kopieren Sie den folgenden Inhalt in die neue Kickstart-Datei. Bitte ändern Sie die Kickstart-Datei nach Ihren Bedürfnissen.

[[email protected] ~]# vi /var/ftp/pub/centos7.cfg

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use FTP installation media
url --url="ftp://172.168.1.11/pub/"
# Root password
rootpw --iscrypted $1$e2wrcGGX$tZPQKPsXVhNmbiGg53MN41
# System authorization information
auth useshadow passalgo=sha512
# Use graphical install
graphical
firstboot disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux disabled
# Installation logging level
logging level=info
# System timezone
timezone Europe/Amsterdam
# System bootloader configuration
bootloader location=mbr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=300
part pv.01 --size=1 --grow
volgroup root_vg01 pv.01
logvol / --fstype xfs --name=lv_01 --vgname=root_vg01 --size=1 --grow
%packages
@^minimal
@core
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end

Erstellen Sie eine PXE-Menüdatei (/var/lib/tftpboot/pxelinux.cfg/default ), kopieren Sie den folgenden Inhalt in die pxe-Menüdatei.

[[email protected] ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

default menu.c32
prompt 0
timeout 30
MENU TITLE LinuxTechi.com PXE Menu
LABEL centos7_x64
MENU LABEL CentOS 7_X64
KERNEL /networkboot/vmlinuz
APPEND initrd=/networkboot/initrd.img inst.repo=ftp://172.168.1.11/pub ks=ftp://172.168.1.11/pub/centos7.cfg

Schritt:6 Starten und aktivieren Sie den xinetd-, dhcp- und vsftpd-Dienst.

Verwenden Sie die folgenden Befehle, um xinetd, dhcp und vsftpd zu starten und zu aktivieren.

[[email protected] ~]# systemctl start xinetd
[[email protected] ~]# systemctl enable xinetd
[[email protected] ~]# systemctl start dhcpd.service
[[email protected] ~]# systemctl enable dhcpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[[email protected] ~]# 
[[email protected] ~]# systemctl start vsftpd
[[email protected] ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[[email protected] ~]#

Falls SELinux aktiviert ist, legen Sie die folgende Selinux-Regel für den FTP-Server fest.

[[email protected] ~]# setsebool -P allow_ftpd_full_access 1
[[email protected] ~]#

Öffnen Sie die Ports in der Betriebssystem-Firewall mit den folgenden Firewall-cmd-Befehlen

[[email protected] ~]# firewall-cmd --add-service=ftp --permanent
success
[[email protected] ~]# firewall-cmd --add-service=dhcp --permanent
success
[[email protected] ~]# firewall-cmd --add-port=69/tcp --permanent 
success
[[email protected] ~]# firewall-cmd --add-port=69/udp --permanent 
success
[[email protected] ~]# firewall-cmd --add-port=4011/udp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Bis zu diesem Punkt ist die Installation und Konfiguration des PXE-Servers abgeschlossen.

Schritt:7 Starten Sie die Clients mit der PXE-Startoption.

Wie oben zu sehen ist, wurde die Installation mit jeder menschlichen Interaktion gestartet. Ich hoffe, Ihnen gefällt die Installation und Konfiguration des PXE-Servers. Bitte teilen Sie uns Ihr Feedback und Ihre Kommentare mit.


Cent OS
  1. So konfigurieren Sie CentOS-Netzwerkeinstellungen

  2. Installationsschritte von OpenCart 2.0 auf CentOS 7

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

  4. Konfigurieren Sie den MariaDB-Server auf CentOS

  5. Centos 7:Konfigurieren Sie den DNS-Server

So installieren und konfigurieren Sie OTRS (Ticketing Tool) unter CentOS 7 / RHEL 7

So installieren und konfigurieren Sie den VNC-Server auf Centos 8 / RHEL 8

So installieren Sie einen CentOS 7.2-Minimalserver

Serverfehler!

Installieren Sie den PXE-Server und konfigurieren Sie den PXE-Client unter CentOS 7

Centos 7:NTP-Server konfigurieren