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 en standard -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) og menu 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.