Postavljanje 'PXE Network Boot Server' za višestruke instalacije Linux distribucije u RHEL/CentOS 7


PXE Server – Preboot eXecution Environment – daje instrukcije klijentskom računaru da pokrene, pokrene ili instalira operativni sistem direktno sa mrežnog interfejsa, eliminišući potrebu za snimanjem CD/DVD-a ili korišćenjem fizičkog medija, ili, može olakšati posao instaliranja Linux distribucija na vašu mrežnu infrastrukturu na više mašina u isto vrijeme.

Zahtjevi

  1. Minimalna procedura instalacije CentOS 7
  2. RHEL 7 Minimalna procedura instalacije
  3. Konfigurirajte statičku IP adresu u RHEL/CentOS 7
  4. Uklonite neželjene usluge u RHEL/CentOS 7
  5. Instalirajte NTP server da postavite ispravno sistemsko vrijeme u RHEL/CentOS 7

Ovaj članak će objasniti kako možete instalirati i konfigurirati PXE server na RHEL/CentOS 7 x64-bit sa preslikanim lokalnim instalacijskim spremištima, izvori dati od CentOS 7 DVD ISO image, uz pomoć DNSMASQ servera.

Koji pruža DNS i DHCP usluge, Syslinux paket koji obezbjeđuje bootloadere za pokretanje mreže, TFTP-server, koji čini slike koje se mogu pokrenuti dostupne su za preuzimanje putem mreže koristeći Trivijalni protokol za prijenos datoteka (TFTP) i VSFTPD server koji će ugostiti lokalno montiranu preslikanu DVD sliku – koja će djelovati kao službeni RHEL /CentOS 7 mirror instalacijsko spremište odakle će instalater izdvojiti svoje potrebne pakete.

Korak 1: Instalirajte i konfigurirajte DNSMASQ Server

1. Nema potrebe da vas podsjećam da je apsolutno zahtjevno da jedno od sučelja vaše mrežne kartice, u slučaju da vaš server ima više NIC-ova, mora biti konfigurirano sa statičkom IP adresom iz istog IP raspona koji pripada segment mreže koji će pružati PXE usluge.

Dakle, nakon što ste konfigurirali svoju statičku IP adresu, ažurirali sistem i izvršili druga početna podešavanja, koristite sljedeću naredbu da instalirate DNSMASQ demon.

yum install dnsmasq

2. DNSMASQ glavna zadana konfiguracijska datoteka koja se nalazi u /etc direktoriju je sama po sebi razumljiva, ali namjerava da bude prilično teška za editovanje, u skladu sa njegovim objašnjenjima sa velikim brojem komentara.

Prvo se pobrinite da napravite sigurnosnu kopiju ove datoteke u slučaju da je trebate kasnije pregledati, a zatim kreirajte novu praznu konfiguracijsku datoteku koristeći svoj omiljeni uređivač teksta izdavanjem sljedećih naredbi.

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

3. Sada kopirajte i zalijepite sljedeće konfiguracije u datoteku dnsmasq.conf i uvjerite se da ste promijenili dolje objašnjene izjave da odgovaraju vašim mrežnim postavkama.

interface=eno16777736,lo
#bind-interfaces
domain=centos7.lan
DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
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 7 from network server 192.168.1.20", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

Izjave koje trebate promijeniti su sljedeće:

  1. interfejs – Interfejsi koje server treba da sluša i pruža usluge.
  2. bind-interfaces – Uklonite komentar da biste vezali samo ovaj interfejs.
  3. domena – Zamijenite je imenom vaše domene.
  4. dhcp-range – Zamijenite ga IP opsegom definiranim vašom mrežnom maskom na ovom segmentu.
  5. dhcp-boot – Zamijenite IP naredbu IP adresom vašeg interfejsa.
  6. dhcp-option=3,192.168.1.1 – Zamijenite IP adresu sa mrežnim segmentom Gateway.
  7. dhcp-option=6,92.168.1.1 – Zamijenite IP adresu IP adresom vašeg DNS servera – može se definirati nekoliko DNS IP adresa.
  8. server=8.8.4.4 – Stavite IP adrese vaših DNS prosljeđivača.
  9. dhcp-option=28,10.0.0.255 – Zamijenite IP adresu sa adresom mrežnog emitiranja – opciono.
  10. dhcp-option=42,0.0.0.0 – Stavite svoje mrežne servere vremena – opciono (0.0.0.0 adresa je za samoreferencu).
  11. pxe-prompt – Ostavi kao zadano – znači pritisnuti tipku F8 za ulazak u meni 60 sa vremenom čekanja u sekundama.
  12. pxe=service – Koristite x86PC za 32-bitne/64-bitne arhitekture i unesite prompt za opis menija ispod navodnika. Druge vrste vrijednosti mogu biti: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI i X86-64_EFI.
  13. enable-tftp – Omogućava ugrađeni TFTP server.
  14. tftp-root – Koristite /var/lib/tftpboot – lokaciju za sve datoteke za netbooting.

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

Korak 2: Instalirajte SYSLINUX pokretače

4. Nakon što ste uredili i sačuvali DNSMASQ glavnu konfiguracijsku datoteku, nastavite i instalirajte Syslinx PXE bootloader paket izdavanjem sljedeće naredbe.

yum install syslinux

5. Datoteke PXE pokretača nalaze se na /usr/share/syslinux apsolutnoj sistemskoj putanji, tako da to možete provjeriti navođenjem sadržaja ove putanje. Ovaj korak nije obavezan, ali možda ćete morati biti svjesni ove putanje jer ćemo u sljedećem koraku kopirati sav njegov sadržaj na stazu TFTP server.

ls /usr/share/syslinux

Korak 3: Instalirajte TFTP-Server i popunite ga SYSLINUX bootloaderima

6. Sada, pređimo na sljedeći korak i instaliramo TFTP-server i zatim kopiramo sve fajlove bootlodera koje pruža Syslinux paket sa gore navedene lokacije na / var/lib/tftpboot putanje izdavanjem sljedećih naredbi.

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

Korak 4: Podesite konfiguracioni fajl PXE servera

7. Obično PXE server čita svoju konfiguraciju iz grupe određenih fajlova (GUID fajlovi – prvo, MAC fajlovi – sljedeći, Default fajl – posljednji) smješteni u folderu pod nazivom pxelinux.cfg, koji se mora nalaziti u direktoriju navedenom u tftp-root > izjava iz DNSMASQ glavne konfiguracijske datoteke.

Kreirajte potreban direktorij pxelinux.cfg i popunite ga podrazumevanom datotekom izdavanjem sljedećih naredbi.

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

8. Sada je vrijeme da uredite konfiguracijsku datoteku PXE Server s važećim instalacijskim opcijama Linux distribucija. Također imajte na umu da sve putanje koje se koriste u ovoj datoteci moraju biti relativne u odnosu na /var/lib/tftpboot direktorij.

Ispod možete vidjeti primjer konfiguracijske datoteke koju možete koristiti, ali modificirajte instalacijske slike (kernel i initrd datoteke), protokole (FTP, HTTP, HTTPS, NFS) i IP-ove da odražavaju vaša mrežna instalacijska izvorna spremišta i staze u skladu s tim.

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

Dodajte sljedeći cijeli izvod u datoteku.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

menu title ########## PXE Boot Menu ##########

label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password

label 4
menu label ^4) Boot from local drive

Kao što možete vidjeti slike pokretanja CentOS 7 (kernel i initrd) se nalaze u direktoriju pod nazivom centos7 u odnosu na /var/lib/tftpboot (na apsolutnoj sistemskoj putanji to bi značilo /var/lib/tftpboot/centos7) i spremišta instalatera može se doći korištenjem FTP protokola na 192.168.1.20/pub mrežnoj lokaciji – u ovom slučaju repozitorije se hostuju lokalno jer je IP adresa ista kao adresa PXE servera).

Također meni oznaka 3 navodi da instalaciju klijenta treba obaviti sa udaljene lokacije putem VNC (ovdje zamijenite VNC lozinku jakom lozinkom) u slučaju da instalirate na klijentu bez glave a meni oznaka 2 navodi kao
instalacijski izvori CentOS 7 službeni Internet mirror (ovaj slučaj zahtijeva internetsku vezu dostupnu na klijentu preko DHCP i NAT).

Važno: Kao što vidite u gornjoj konfiguraciji, koristili smo CentOS 7 u svrhu demonstracije, ali također možete definirati RHEL 7 slike, te slijediti cijela uputstva i konfiguracije su bazirane samo na CentOS 7, stoga budite oprezni pri odabiru distribucije.

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

9. Za ovaj korak su potrebni CentOS kernel i initrd fajlovi. Da biste dobili te datoteke, potrebna vam je CentOS 7 DVD ISO slika. Dakle, samo naprijed i preuzmite CentOS DVD sliku, stavite je u svoj DVD uređaj i montirajte sliku na /mnt sistemsku putanju izdavanjem donje naredbe.

Razlog za korištenje DVD-a, a ne minimalne slike CD-a je činjenica da će se kasnije ovaj DVD sadržaj koristiti za kreiranje
lokalno spremišta instalatera za FTP izvore.

mount -o loop /dev/cdrom  /mnt
ls /mnt

Ako vaša mašina nema DVD drajv, takođe možete preuzeti CentOS 7 DVD ISO lokalno koristeći wget ili curl uslužne programe sa CentOS ogledala i montirati ga.

wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
mount -o loop /path/to/centos-dvd.iso  /mnt

10. Nakon što DVD sadržaj postane dostupan, kreirajte centos7 direktorij i kopirajte CentOS 7 kernel za pokretanje i initrd slike sa lokacije montirane na DVD u strukturu foldera centos7.

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

Razlog za korištenje ovog pristupa je taj što kasnije možete kreirati nove zasebne direktorije u /var/lib/tftpboot putanji i dodati druge Linux distribucije u PXE meni bez zabrljanja cijele strukture direktorija.

Korak 6: Kreirajte izvor za instalaciju lokalnog ogledala CentOS 7

11. Iako možete postaviti Installation Source Mirrors putem raznih protokola kao što su HTTP, HTTPS ili NFS, za ovaj vodič sam odabrao FTP > protokol jer je vrlo pouzdan i jednostavan za postavljanje uz pomoć vsftpd servera.

Dalje instalirajte vsftpd demon, kopirajte sav sadržaj montiran na DVD na vsftpd zadanu putanju servera (/var/ftp/pub) – ovo može potrajati u zavisnosti od resursa vašeg sistema i dodati čitljive dozvole za ovu putanju izdavanjem sljedećih naredbi.

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

Korak 7: Pokrenite i omogućite Daemone širom sistema

12. Sada kada je konfiguracija PXE servera konačno završena, pokrenite DNSMASQ i VSFTPD servere, provjerite njihov status i omogućite ga na cijelom sistemu da automatski se pokreće nakon svakog ponovnog pokretanja sistema, pokretanjem naredbi ispod.

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

Korak 8: Otvorite zaštitni zid i testirajte izvor FTP instalacije

13. Da dobijete listu svih portova koji moraju biti otvoreni na vašem Firewall-u kako bi klijentske mašine mogle doći i pokrenuti se sa PXE servera, pokrenite naredbu netstat i dodajte CentOS 7 Firewald pravila u skladu s dnsmasq i vsftpd portovima za slušanje.

netstat -tulpn
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 biste testirali mrežnu putanju izvora FTP instalacije, otvorite pretraživač lokalno (lynx bi to trebao učiniti) ili na drugom računaru i upišite IP adresu vašeg PXE servera sa
FTP protokol praćen /pub mrežnom lokacijom na unesenom URL-u i rezultat bi trebao biti kao što je prikazano na slici ispod.

ftp://192.168.1.20/pub

15. Za otklanjanje grešaka na PXE serveru za eventualne pogrešne konfiguracije ili druge informacije i dijagnostiku u režimu uživo pokrenite sljedeću naredbu.

tailf /var/log/messages

16. Konačno, posljednji potrebni korak koji trebate učiniti je demontaža CentOS 7 DVD-a i uklanjanje fizičkog medija.

umount /mnt

Korak 9: Konfigurirajte klijente za pokretanje s mreže

17. Sada vaši klijenti mogu pokrenuti i instalirati CentOS 7 na svoje mašine tako što će konfigurirati Network Boot kao primarni uređaj za pokretanje iz BIOS-a svog sistema ili pritiskom na određeni taster tokom BIOS POSToperacije kao što je navedeno u priručniku za matičnu ploču.

Da biste odabrali pokretanje mreže. Nakon što se pojavi prvi PXE prompt, pritisnite tipku F8 da uđete u prezentaciju, a zatim pritisnite tipku Enter da nastavite naprijed na PXE meni.

18. Nakon što dođete do PXE menija, odaberite vrstu instalacije CentOS 7, pritisnite tipku Enter i nastavite s procedurom instalacije na isti način na koji biste ga mogli instalirati s lokalnog uređaj za pokretanje medija.

Imajte na umu da korištenje varijante 2 iz ovog menija zahtijeva aktivnu internet vezu na ciljnom klijentu. Također, ispod
na snimcima ekrana možete vidjeti primjer daljinske instalacije klijenta putem VNC-a.

To je sve za postavljanje minimalnog PXE servera na CentOS 7. U svom sljedećem članku iz ove serije, raspravljat ću o drugim pitanjima u vezi sa ovom konfiguracijom PXE servera, kao što je kako postaviti automatizirane instalacije CentOS 7 koristeći Kickstart datoteke i dodavanje drugih Linux distribucija na PXE meni – Ubuntu Server i Debian 7.