Installer flere Linux-distributioner ved hjælp af PXE Network Boot på RHEL/CentOS 8
PXE Server - Preboot eXecution Environment er en standardiseret klient-serverarkitektur, der instruerer et klientsystem om at starte, køre eller installere flere Linux-operativsystemer ved hjælp af en PXE-kompatibel netværksgrænseflade på din netværksinfrastruktur.
-
- Installation af CentOS 8 Minimal Server
- Installation af RHEL 8 Minimal Server
- Konfigurer statisk IP-adresse i RHEL/CentOS 8
I denne artikel lærer du, hvordan du installerer og konfigurerer en PXE Network Boot Server på CentOS/RHEL 8 med spejlede lokale installationslagre leveret af CentOS 8 og RHEL 8 ISO Images.
For denne PXE Network Boot-opsætning installerer vi følgende pakker på systemet:
- DNSMASQ - en let DNS-videresender, der giver en DNS- og DHCP-service med support til PXE og en TFTP-server.
- Syslinux - en Linux boot loader, der giver bootloadere til netværksstart.
- TFTP-server - en simpel lockstep File Transfer Protocol, der skaber bootbare billeder, der kan downloades via et netværk.
- VSFTPD Server - en sikker protokol til filoverførsel, der er vært for det lokalt monterede spejlede DVD-billede - som fungerer som et officielt RHEL/CentOS 8-spejlinstallationslager, hvorfra installationsprogrammet tager de nødvendige pakker ud.
Trin 1: Installer og konfigurer DNSMASQ Server
1. Det er vigtigt at minde dig om, at en af dine netværksgrænseflader skal konfigureres med en statisk IP-adresse fra det samme netværk IP-interval, der leverer PXE-tjenester.
Når du har konfigureret en statisk IP-adresse, skal du opdatere dine systemsoftwarepakker og installere DNSMASQ-dæmonen.
# dnf install dnsmasq
2. Når først DNSMASQ er installeret, finder du standardkonfigurationsfilen under
/etc/dnsmasq.conf
-mappen, som er selvforklarende, men sværere at konfigurere på grund af dens meget kommenterede forklaringer.Sørg først for at tage en sikkerhedskopi af denne fil, hvis du muligvis har brug for den til at gennemgå senere, og opret derefter en ny konfigurationsfil ved hjælp af din foretrukne editor som vist.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup # nano /etc/dnsmasq.conf
3. Kopier og indsæt nu følgende konfigurationer på
/etc/dnsmasq.conf
-filen, og skift konfigurationsparametrene i henhold til dine netværksindstillinger.interface=enp0s3,lo #bind-interfaces domain=tecmint # DHCP range-leases dhcp-range= enp0s3,192.168.1.3,192.168.1.253,255.255.255.0,1h # PXE dhcp-boot=pxelinux.0,pxeserver,192.168.1.2 # Gateway dhcp-option=3,192.168.1.1 # DNS dhcp-option=6,92.168.1.1, 8.8.8.8 server=8.8.4.4 # Broadcast Address dhcp-option=28,10.0.0.255 # NTP Server dhcp-option=42,0.0.0.0 pxe-prompt="Press F8 for menu.", 60 pxe-service=x86PC, "Install CentOS 8 from network server 192.168.1.2", pxelinux enable-tftp tftp-root=/var/lib/tftpboot
De konfigurationserklæringer, du skal ændre, følges:
- grænseflade - En netværksgrænseflade på serveren skal lytte og levere tjenester.
- bind-interfaces - kommentar til at binde interface til et givet netværkskort.
- domæne - Erstat det med dit domænenavn.
- dhcp-range - Skift det med dit netværks IP-rækkevidde.
- dhcp-boot - Erstat det med din netværksgrænseflades IP-adresse.
- dhcp-option = 3,192.168.1.1 - Udskift det med din netværksgateway.
- dhcp-option = 6,92.168.1.1 - Erstat det med din DNS-server-IP.
- server = 8.8.4.4 - Tilføj dine DNS-forwarders IP-adresser.
- dhcp-option = 28,10.0.0.255 - Udskift den med din netværksudsendte IP-adresse.
- dhcp-option = 42,0.0.0.0 - Tilføj dine netværkstidservere (0.0.0.0 Adresse er til selvreference).
- pxe-prompt - Hold det som standard.
- pxe = service - Brug x86PC til 32-bit/64-bit arkitekturer, og tilføj en menubeskrivelsesprompt under strengcitater.
- enable-tftp - Aktiverer den indbyggede TFTP-server.
- tftp-root - Tilføj netværksstartfiler placering/var/lib/tftpboot.
For andre avancerede indstillinger vedrørende konfigurationsfiler er du velkommen til at læse dnsmasq-manualen.
Trin 2: Installer SYSLINUX Bootloaders
4. Når DNSMASQ-hovedkonfigurationen er udført, skal du installere Syslinx PXE-bootloader-pakken ved hjælp af følgende kommando.
# dnf install syslinux
5. Syslinx PXE bootloaders er installeret under
/usr/share/syslinux
, du kan bekræfte det ved at køre kommandoen ls som vist.# ls /usr/share/syslinux
Trin 3: Installer TFTP-server og kopier den med SYSLINUX Bootloaders
6. Installer nu TFTP-server, og kopier alle Syslinux-bootloadere fra
/usr/share/syslinux/
til/var/lib/tftpboot
som vist.# dnf install tftp-server # cp -r /usr/share/syslinux/* /var/lib/tftpboot
Trin 4: Opsæt PXE-serverkonfigurationsfil
7. Som standard læser PXE-serveren sin konfiguration fra et sæt specifikke filer, der findes i
pxelinux.cfg
, som skal findes i den mappe, der er beskrevet i tftp-root-indstillingen fra DNSMASQ-konfigurationsfilen ovenfor .Opret først en
pxelinux.cfg
-mappe, og opret enstandard
-fil ved at udstede følgende kommandoer.# mkdir /var/lib/tftpboot/pxelinux.cfg # touch /var/lib/tftpboot/pxelinux.cfg/default
8. Åbn og rediger nu PXE
standard
konfigurationsfil med korrekte Linux-installationsinstallationsmuligheder. Sørg også for at huske, at stierne, der er indstillet i denne fil, skal være i forhold til/var/lib/tftpboot
-mappen.# nano /var/lib/tftpboot/pxelinux.cfg/default
Følgende er et eksempel på en konfigurationsfil, som du kan bruge den, men sørg for at ændre installationsbillederne, protokollerne og IP'erne for at afspejle dine netværksinstallations kildelager og placeringer i overensstemmelse hermed.
default menu.c32 prompt 0 timeout 300 ONTIMEOUT local menu title ########## PXE Boot Menu ########## label 1 menu label ^1) Install CentOS 8 x64 with Local Repo kernel centos8/vmlinuz append initrd=centos7/initrd.img method=ftp://192.168.1.2/pub devfs=nomount label 2 menu label ^2) Install CentOS 8 x64 with http://mirror.centos.org Repo kernel centos8/vmlinuz append initrd=centos8/initrd.img method=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/ devfs=nomount ip=dhcp label 3 menu label ^3) Install CentOS 8 x64 with Local Repo using VNC kernel centos8/vmlinuz append initrd=centos8/initrd.img method=ftp://192.168.1.2/pub devfs=nomount inst.vnc inst.vncpassword=password label 4 menu label ^4) Boot from local drive
I ovenstående konfiguration kan du bemærke, at CentOS 8-opstartsbillederne (kernel og initrd) ligger i en centos7-mappe i forhold til
/var/lib/tftpboot
(dvs./var/lib/tftpboot/centos7
) og installationsregisteret kan tilgås ved hjælp af FTP-protokollen på192.168.1.2/pub
(PXE-serverens IP-adresse).Menuen
menuet 2
beskriver officielle CentOS 8 installationskilder spejl repositories (internetforbindelse skal på klientsystemet) ogmenu label 3
beskriver, at klientinstallationen skal udføres via en ekstern VNC (her udskift VNC-adgangskoden med en stærk adgangskode).Vigtigt: Som du ser i ovenstående konfiguration, har vi brugt CentOS 8-billede til demonstrationsformål, men du kan også bruge RHEL 8-billeder.
Trin 5: Føj CentOS 8 Boot Images til PXE Server
9. For at tilføje CentOS 8-billeder til PXE Server skal du downloade CentOS 8 DVD ISO-billede lokalt ved hjælp af wget-kommandoen og montere det.
# wget http://centos.mirrors.estointernet.in/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-dvd1.iso # mount -o loop CentOS-8.2.2004-x86_64-dvd1.iso /mnt
10. Når du har downloadet CentOS 8, skal du oprette en
centos7
-mappe og kopiere bootbar kerne- og initrd-billeder.# mkdir /var/lib/tftpboot/centos8 # cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos8 # cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos8
Årsagen til at have denne tilgang er, at du senere kan have separate mapper til hver nye Linux-distribution under
/var/lib/tftpboot
uden at ødelægge hele katalogstrukturen.Trin 6: Opret CentOS 8 Local Mirror Installation Source
11. Der er en række forskellige protokoller (HTTP, HTTPS eller NFS), der er tilgængelige til opsætning af CentOS 8 lokale installationskildespejle, men jeg har valgt FTP-protokol, fordi det er let at konfigurere ved hjælp af vsftpd-server.
Lad os installere Vsftpd-serveren og kopiere alt CentOS 8 DVD-indholdet til FTP-biblioteket
/var/ftp/pub
som vist.# dnf install vsftpd # cp -r /mnt/* /var/ftp/pub/ # chmod -R 755 /var/ftp/pub
12. Nu hvor al PXE-serverkonfiguration er afsluttet, kan du starte, aktivere og kontrollere status for DNSMASQ- og VSFTPD-servere.
# systemctl start dnsmasq # systemctl status dnsmasq # systemctl start vsftpd # systemctl status vsftpd # systemctl enable dnsmasq # systemctl enable vsftpd
13. Dernæst skal du åbne porte på din firewall for at klientsystemer kan nå og starte fra PXE-serveren.
# firewall-cmd --add-service=ftp --permanent ## Port 21 # firewall-cmd --add-service=dns --permanent ## Port 53 # firewall-cmd --add-service=dhcp --permanent ## Port 67 # firewall-cmd --add-port=69/udp --permanent ## Port for TFTP # firewall-cmd --add-port=4011/udp --permanent ## Port for ProxyDHCP # firewall-cmd --reload ## Apply rules
14. For at bekræfte FTP-installationskildens netværksplacering skal du åbne din browser og skrive PXE-serverens IP-adresse med FTP-protokollen efterfulgt af
/pub
netværksplacering.ftp://192.168.1.2/pub
Trin 7: Konfigurer klienter til at starte fra netværk
15. Konfigurer nu klientsystemer til at starte og installere CentOS 8 på deres systemer ved at konfigurere Network Boot som primær boot-enhed fra BIOS-menuen.
Når systemet er startet op, får du en PXE-prompt, hvor du skal trykke på
F8
-tasten for at komme ind i præsentationen og derefter trykke på Enter-tasten for at gå videre til PXE-menuen.Alt dette er til opsætning af en minimal PXE-server på CentOS/RHEL 8.