Instalirajte više distribucija Linuxa koristeći PXE mrežno pokretanje na RHEL/CentOS 8


PXE serverPreboot eXecution Environment je standardizirana arhitektura klijent-server koja daje instrukcije klijentskom sistemu da pokrene, pokrene ili instalira više Linux operativnih sistema koristeći mrežno sučelje sposobno za PXE na vašoj mrežnoj infrastrukturi.

Zahtjevi

    • Instalacija CentOS 8 Minimal Servera
    • Instalacija RHEL 8 Minimal Servera
    • Konfigurirajte statičku IP adresu u RHEL/CentOS 8

U ovom članku ćete naučiti kako da instalirate i konfigurišete PXE Network Boot Server na CentOS/RHEL 8 sa preslikanim lokalnim instalacijskim spremištima koje obezbeđuje CentOS 8 i RHEL 8 ISO slike.

Za ovo PXE Network Boot postavljanje, instalirat ćemo sljedeće pakete na sistem:

  • DNSMASQ – lagani DNS prosljeđivač koji pruža DNS i DHCP usluge s podrškom za PXE i TFTP server.
  • Syslinux – Linux pokretački program koji pruža pokretače za pokretanje mreže.
  • TFTP server – jednostavan protokol za prijenos fajlova u zaključanom koraku koji kreira slike koje se mogu pokrenuti dostupne za preuzimanje putem mreže.
  • VSFTPD Server – siguran protokol za prijenos datoteka koji će ugostiti lokalno montiranu preslikanu DVD sliku – koja će djelovati kao službeno RHEL/CentOS 8 ogledalo instalacijskog repozitorija odakle će instalater izvaditi svoje potrebne pakete.

Korak 1: Instalirajte i konfigurirajte DNSMASQ server

1. Važno je da vas podsjetimo da jedno od vaših mrežnih sučelja mora biti konfigurirano sa statičkom IP adresom iz istog raspona mrežnih IP adresa koji pruža PXE usluge.

Nakon što konfigurirate statičku IP adresu, ažurirajte sistemske softverske pakete i instalirajte DNSMASQ demon.

dnf install dnsmasq

2. Kada se DNSMASQ instalira, pronaći ćete njegovu zadanu konfiguracijsku datoteku u /etc/dnsmasq.conf direktoriju, što je samo po sebi razumljivo, ali više teško konfigurirati, zbog njegovih vrlo komentiranih objašnjenja.

Prvo, obavezno napravite sigurnosnu kopiju ove datoteke u slučaju da vam je možda potrebna da biste je kasnije pregledali, a zatim kreirajte novu konfiguracijsku datoteku koristeći svoj omiljeni uređivač kao što je prikazano.

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

3. Sada kopirajte i zalijepite sljedeće konfiguracije u datoteku /etc/dnsmasq.conf i promijenite parametre konfiguracije prema vašim mrežnim postavkama.

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

Slijede se konfiguracijski izrazi koje trebate promijeniti:

  • interfejs – Mrežni interfejs servera treba da sluša i pruža usluge.
  • bind-interfaces – Dekomentirajte da povežete interfejs sa datom mrežnom karticom.
  • domena – Zamijenite je imenom svoje domene.
  • dhcp-range – Promijenite ga s opsegom IP adrese vaše mreže.
  • dhcp-boot – Zamijenite ga IP adresom vašeg mrežnog interfejsa.
  • dhcp-option=3,192.168.1.1 – Zamijenite ga svojim mrežnim prolazom.
  • dhcp-option=6,92.168.1.1 – Zamijenite ga IP-om vašeg DNS servera.
  • server=8.8.4.4 – Dodajte IP adrese vaših DNS prosljeđivača.
  • dhcp-option=28,10.0.0.255 – Opciono ga zamijenite IP adresom vašeg mrežnog emitiranja.
  • dhcp-option=42,0.0.0.0 -Dodajte svoje mrežne servere vremena (0.0.0.0 adresa je za samoreferencu).
  • pxe-prompt – Neka bude zadano.
  • pxe=service – Koristite x86PC za 32-bitne/64-bitne arhitekture i dodajte upit za opis menija ispod navodnika.
  • enable-tftp – Omogućava ugrađeni TFTP server.
  • tftp-root – Dodajte lokaciju datoteka za pokretanje mreže /var/lib/tftpboot.

Za ostale napredne opcije u vezi sa konfiguracionim datotekama slobodno pročitajte dnsmasq priručnik.

Korak 2: Instalirajte SYSLINUX pokretače

4. Nakon završene glavne konfiguracije DNSMASQ-a, instalirajte Syslinx PXE paket za pokretanje koristeći sljedeću naredbu.

dnf install syslinux

5. Syslinx PXE pokretači su instalirani pod /usr/share/syslinux, možete to potvrditi pokretanjem komande ls kao što je prikazano.

ls /usr/share/syslinux

Korak 3: Instalirajte TFTP-Server i kopirajte ga pomoću SYSLINUX pokretača

6. Sada, instalirajte TFTP-Server i kopirajte sve Syslinux bootloadere sa /usr/share/syslinux/ u /var/lib /tftpboot kao što je prikazano.

dnf install tftp-server
cp -r /usr/share/syslinux/* /var/lib/tftpboot

Korak 4: Podesite konfiguracioni fajl PXE servera

7. Prema zadanim postavkama, PXE server čita svoju konfiguraciju iz skupa određenih datoteka pronađenih u pxelinux.cfg, a koje se moraju pronaći u direktorij opisan u tftp-root postavci iz DNSMASQ konfiguracijske datoteke iznad.

Prvo, kreirajte pxelinux.cfg direktorij i kreirajte podrazumevani datoteku izdavanjem sljedećih naredbi.

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

8. Sada otvorite i uredite PXE podrazumevani konfiguracioni fajl sa ispravnim instalacijskim opcijama distribucije Linuxa. Također, ne zaboravite da putanje postavljene u ovoj datoteci moraju biti relativne u odnosu na /var/lib/tftpboot direktorij.

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

Slijedi primjer konfiguracijske datoteke koju možete koristiti, ali svakako promijenite instalacijske slike, protokole i IP adrese kako bi odražavali izvorna spremišta mrežne instalacije i lokacije u skladu s tim.

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

U gornjoj konfiguraciji, možete primijetiti da se slike za pokretanje CentOS 8 (kernel i initrd) nalaze u centos7 > direktorij u odnosu na /var/lib/tftpboot (tj. /var/lib/tftpboot/centos7) i instalaterskim spremištima može se pristupiti korištenjem FTP protokola na 192.168.1.2/pub (IP adresa PXE servera).

Također, oznaka menija 2 opisuje zvanične izvore instalacije CentOS 8, zrcalna spremišta (internetska veza je obavezna na klijentskom sistemu) i oznaka menija 3 opisuje da treba obaviti instalaciju klijenta putem udaljenog VNC (ovdje zamijenite VNC lozinku jakom lozinkom).

Važno: Kao što vidite u gornjoj konfiguraciji, koristili smo CentOS 8 sliku u svrhu demonstracije, ali možete koristiti i RHEL 8 slike.

Korak 5: Dodajte slike za pokretanje CentOS 8 na PXE server

9. Da biste dodali CentOS 8 slike na PXE server, morate lokalno preuzeti CentOS 8 DVD ISO sliku koristeći wget komandu i montirati je.

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. Nakon što preuzmete CentOS 8, trebate kreirati centos8 direktorij i kopirati kernel i initrd slike za pokretanje.

mkdir /var/lib/tftpboot/centos8
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos8
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos8

Razlog ovakvog pristupa je taj što kasnije možete imati zasebne direktorije za svaku novu Linux distribuciju pod /var/lib/tftpboot bez zabrljanja cijele strukture direktorija.

Korak 6: Kreirajte izvor za instalaciju lokalnog ogledala CentOS 8

11. Postoji niz protokola (HTTP, HTTPS ili NFS) koji su dostupni za postavljanje CentOS 8 lokalni izvorni izvori za instalaciju, ali sam izabrao FTP protokol jer ga je lako postaviti pomoću vsftpd servera.

Hajde da instaliramo Vsftpd server i kopiramo sav CentOS 8 DVD sadržaj u FTP direktorijum /var/ftp/pub kao što je prikazano.

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

12. Sada kada je sva konfiguracija PXE servera završena, možete pokrenuti, omogućiti i provjeriti status DNSMASQ i VSFTPD servera.

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

13. Zatim morate otvoriti portove na vašem firewall-u kako bi klijentski sistemi mogli doći i pokrenuti se sa PXE servera.

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. Da potvrdite mrežnu lokaciju FTP instalacijskog izvora, otvorite svoj pretraživač i upišite IP adresu PXE servera sa FTP protokolom nakon čega slijedi /pub mrežna lokacija.

ftp://192.168.1.2/pub

Korak 7: Konfigurirajte klijente za pokretanje s mreže

15. Sada konfigurirajte klijentske sisteme za pokretanje i instaliranje CentOS 8 na svoje sisteme tako što ćete konfigurirati Network Boot kao glavni uređaj za pokretanje iz BIOS menija.

Nakon pokretanja sistema, dobit ćete PXE prompt, gdje trebate pritisnuti tipku F8 da uđete u prezentaciju, a zatim pritisnuti tipku Enter da nastavite naprijed na PXE meni.

To je sve za postavljanje minimalnog PXE servera na CentOS/RHEL 8.