Installera flera Linuxdistributioner med hjälp av PXE-nätverksuppstart på RHEL/CentOS 8

PXE Server – Preboot eXecution Environment (preboot eXecution Environment) är en standardiserad klient-server-arkitektur som instruerar ett klientsystem att starta upp, köra eller installera flera Linux-operativsystem med hjälp av ett PXE-kapabelt nätverksgränssnitt på din nätverksinfrastruktur.

Krav

    • Installation av CentOS 8 Minimal Server
    • Installation av RHEL 8 Minimal Server
    • Konfigurera statisk IP-adress i RHEL/CentOS 8

I denna artikel, kommer du att lära dig att installera och konfigurera en PXE Network Boot Server på CentOS/RHEL 8 med speglade lokala installationsförråd som tillhandahålls av CentOS 8 och RHEL 8 ISO-avbildningar.

För den här PXE Network Boot-konfigurationen kommer vi att installera följande paket på systemet:

  • DNSMASQ – en lättviktig DNS-förmedlare som tillhandahåller en DNS- och DHCP-tjänst med stöd för PXE och en TFTP-server.
  • Syslinux – en Linux boot loader som tillhandahåller boot loaders för nätverksuppstart.
  • TFTP Server – ett enkelt lockstep File Transfer Protocol som skapar startbara avbildningar som är tillgängliga för nedladdning via ett nätverk.
  • VSFTPD Server – ett säkert filöverföringsprotokoll som kommer att vara värd för den lokalt monterade speglade DVD-avbildningen – som kommer att fungera som ett officiellt RHEL/CentOS 8-spegelinstallationsförråd från vilket installationsprogrammet kommer att hämta de paket som krävs.

Steg 1: Installera och konfigurera DNSMASQ Server

1. Det är viktigt att påminna dig om att ett av dina nätverksgränssnitt måste konfigureras med en statisk IP-adress från samma nätverks-IP-område som tillhandahåller PXE-tjänster.

När du har konfigurerat en statisk IP-adress uppdaterar du dina systemprogramvarupaket och installerar DNSMASQ-daemon.

# dnf install dnsmasq
Installera DNSMASQ på CentOS

2. När DNSMASQ väl är installerad hittar du dess standardkonfigurationsfil under katalogen /etc/dnsmasq.conf, som är självförklarande men svårare att konfigurera, på grund av dess mycket kommenterade förklaringar.

Först ska du se till att ta en säkerhetskopia av den här filen om du behöver den för att granska den senare och sedan skapa en ny konfigurationsfil med hjälp av din favoritredigerare som visas.

# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup# nano /etc/dnsmasq.conf

3. Kopiera och klistra in följande konfigurationer i /etc/dnsmasq.conf-filen och ändra konfigurationsparametrarna i enlighet med dina nätverksinställningar.

dnsmasq.conf – Konfigurationsfil
Konfigurera DNSMASQ på CentOS

Konfigurationsangivelserna som du behöver ändra är följande:

  • gränssnitt – Ett nätverksgränssnitt för servern ska lyssna och tillhandahålla tjänster.
  • bind-interfaces – Avkommentera för att binda gränssnittet till ett visst nätverkskort.
  • domain – Ersätt det med ditt domännamn.
  • dhcp-range – Byt ut det med ditt nätverks IP-område.
  • dhcp-boot – Byt ut det med din IP-adress till nätverksgränssnittet.
  • dhcp-option=3,192.168.1.1 – Byt ut det med din nätverksgateway.
  • dhcp-option=6,92.168.1.1 – Ersätt den med din DNS-server-IP.
  • server=8.8.4.4 – Lägg till dina DNS-forwarders IP-adresser.
  • dhcp-option=28,10.0.0.255 – Ersätt den med din nätverks-IP-adress för sändning (valfritt).
  • dhcp-option=42,0.0.0.0.0 – Lägg till dina nätverks-tidsservrar (0.0.0.0.0-adressen är för självreferens).
  • pxe-prompt – Behåll den som standard.
  • pxe=service – Använd x86PC för 32-bitars/64-bitars arkitekturer och lägg till en menybeskrivningsprompt under strängkvotar.
  • enable-tftp – Aktiverar den inbyggda TFTP-servern.
  • tftp-root – Lägg till platsen för nätverksuppstartsfiler /var/lib/tftpboot.

För andra avancerade alternativ som rör konfigurationsfiler är du välkommen att läsa dnsmasq-manualen.

Steg 2: Installera SYSLINUX Bootloaders

4. När DNSMASQs huvudkonfiguration är klar installerar du paketet Syslinx PXE bootloader med följande kommando.

# dnf install syslinux
Installera Syslinux i CentOS

5. Syslinx PXE-bootloaders är installerade under /usr/share/syslinux, du kan bekräfta det genom att köra kommandot ls enligt följande.

# ls /usr/share/syslinux
Kontrollera Syslinux Boot Loaders

Steg 3: Installera TFTP-server och kopiera den med SYSLINUX Bootloaders

6. Installera nu TFTP-Server och kopiera alla Syslinux bootloaders från /usr/share/syslinux/ till /var/lib/tftpboot som visas.

# dnf install tftp-server# cp -r /usr/share/syslinux/* /var/lib/tftpboot
Installera TFTP-Server i CentOS

Steg 4: Konfigurera konfigurationsfilen för PXE-servern

7. Som standard läser PXE-servern sin konfiguration från en uppsättning specifika filer som finns i pxelinux.cfg, som måste finnas i den katalog som beskrivs i inställningen tftp-root från DNSMASQ-konfigurationsfilen ovan.

Skapa först en pxelinux.cfg-katalog och skapa en default-fil genom att utfärda följande kommandon.

# mkdir /var/lib/tftpboot/pxelinux.cfg# touch /var/lib/tftpboot/pxelinux.cfg/default

8. Öppna och redigera nu PXE default-konfigurationsfilen med korrekta installationsalternativ för Linuxdistributionen. Kom också ihåg att de sökvägar som anges i filen måste vara relativa till katalogen /var/lib/tftpboot.

# nano /var/lib/tftpboot/pxelinux.cfg/default

Nedan följer en exempelkonfigurationsfil som du kan använda, men se till att du ändrar installationsavbildningarna, protokollen och IP:erna så att de återspeglar källförråden och platserna för din nätverksinstallation i enlighet med detta.

PXE Standardkonfigurationsfil
PXE Standardkonfigurationsfil

I ovanstående konfiguration kan du märka att CentOS 8-startbilderna (kärna och initrd) finns i en centos7-katalog i förhållande till /var/lib/tftpboot (i.e /var/lib/tftpboot/centos7) och att installationskällorna kan nås med hjälp av FTP-protokollet på 192.168.1.2/pub (PXE-serverns IP-adress).

I menu label 2 beskrivs också officiella CentOS 8-installationskällor, mirror repositories (internetuppkoppling är ett krav på klientsystemet) och menu label 3 beskriver att klientinstallationen ska göras via en fjärr-VNC (här ska VNC-lösenordet ersättas med ett starkt lösenord).

Viktigt: Som du ser i konfigurationen ovan har vi använt CentOS 8-avbildningar i demonstrationssyfte, men du kan också använda RHEL 8-avbildningar.

Steg 5: Lägg till CentOS 8-avbildningar till PXE-servern

9. För att lägga till CentOS 8-avbildningar till PXE-servern måste du ladda ner CentOS 8 DVD ISO-avbildningen lokalt med kommandot wget och montera den.

10. När du har laddat ner CentOS 8 måste du skapa en centos7-katalog och kopiera startbara kernel- och initrd-avbildningar.

Anledningen till att ha detta tillvägagångssätt är att du senare kan ha separata kataloger för varje ny Linuxdistribution under /var/lib/tftpboot utan att förstöra hela katalogstrukturen.

Steg 6: Skapa en lokal CentOS 8-spegelinstallationskälla för spegelinstallationer

11. Det finns en mängd olika protokoll (HTTP, HTTPS eller NFS) som är tillgängliga för att ställa in CentOS 8 lokala installationskällespeglar, men jag har valt FTP-protokollet eftersom det är enkelt att ställa in med hjälp av vsftpd-servern.

Låt oss installera Vsftpd-servern och kopiera allt innehåll från CentOS 8-dvd:n till FTP-katalogen /var/ftp/pub som visas.

# dnf install vsftpd# cp -r /mnt/* /var/ftp/pub/ # chmod -R 755 /var/ftp/pub

12. Nu när all PXE-serverkonfiguration är klar kan du starta, aktivera och kontrollera statusen för DNSMASQ- och VSFTPD-servrarna.

# systemctl start dnsmasq# systemctl status dnsmasq# systemctl start vsftpd# systemctl status vsftpd# systemctl enable dnsmasq# systemctl enable vsftpd

13. Därefter måste du öppna portar i din brandvägg så att klientsystemen kan nå och starta upp från PXE-servern.

14. För att verifiera nätverksplatsen för FTP-installationskällan öppnar du din webbläsare och skriver in PXE-serverns IP-adress med FTP-protokollet följt av /pub nätverksplats.

ftp://192.168.1.2/pub
Verifiera FTP-katalogen

Steg 7: Konfigurera klienterna så att de kan starta upp från nätverket

15. Konfigurera nu klientsystemen så att de kan starta upp och installera CentOS 8 på deras system genom att konfigurera Network Boot som främsta uppstartsenhet från BIOS-menyn.

När systemet har startat upp får du en PXE-prompt, där du måste trycka på F8-tangenten för att komma in i presentationen och sedan trycka på Enter-tangenten för att gå vidare till PXE-menyn.

PXE Boot Server Menu
Installera CentOS 8 från PXE Server

Det var allt för att ställa in en minimal PXE Server på CentOS/RHEL 8.

Lämna ett svar

Din e-postadress kommer inte publiceras.