„PXE tinklo įkrovos serverio“ nustatymas keliems Linux platinimo diegimams RHEL/CentOS 7


PXE serveris – išankstinio įkrovimo vykdymo aplinka – nurodo kliento kompiuteriui paleisti, paleisti arba įdiegti operacinę sistemą tiesiogiai naudojant tinklo sąsają, todėl nereikia įrašyti CD/DVD arba naudoti fizinę laikmeną, arba gali palengvinti „Linux“ paskirstymo diegimą jūsų tinklo infrastruktūroje keliuose įrenginiuose tuo pačiu metu.

Reikalavimai

  1. Minimali CentOS 7 diegimo procedūra
  2. RHEL 7 minimali montavimo procedūra
  3. Konfigūruokite statinį IP adresą RHEL/CentOS 7
  4. Pašalinkite nepageidaujamas paslaugas iš RHEL/CentOS 7
  5. Įdiekite NTP serverį, kad nustatytumėte teisingą sistemos laiką RHEL/CentOS 7

Šiame straipsnyje bus paaiškinta, kaip galite įdiegti ir konfigūruoti PXE serverį RHEL/CentOS 7 x64 bitų su veidrodinėmis vietinėmis diegimo saugyklomis, pateikti šaltiniai naudojant CentOS 7 DVD ISO atvaizdą, naudojant DNSMASQ serverį.

Kuris teikia DNS ir DHCP paslaugas, Syslinux paketą, kuris teikia įkrovos įkroviklius tinklo paleidimui, TFTP-Server, kuris leidžia Įkrovos vaizdus galima atsisiųsti per tinklą naudojant Trivial File Transfer Protocol (TFTP) ir VSFTPD serverį, kuris priglobs vietinį integruotą veidrodinį DVD vaizdą, kuris veiks kaip oficialus RHEL /CentOS 7 veidrodinio diegimo saugykla, iš kurios diegimo programa išskirs reikiamus paketus.

1 veiksmas: įdiekite ir sukonfigūruokite DNSMASQ serverį

1. Nereikia priminti, kad viena iš tinklo plokštės sąsajų, jei serveris turi daugiau NIC, turi būti sukonfigūruotas su statiniu IP adresu iš to paties IP diapazono, kuris priklauso tinklo segmentą, kuris teiks PXE paslaugas.

Taigi, sukonfigūravę statinį IP adresą, atnaujinę sistemą ir atlikę kitus pradinius nustatymus, naudokite šią komandą, kad įdiegtumėte DNSMASQ demoną.

yum install dnsmasq

2. Pagrindinis DNSMASQ numatytasis konfigūracijos failas, esantis /etc kataloge, yra savaime aiškus, tačiau jį bus gana sunku redaguoti, atsižvelgiant į labai komentuojamus paaiškinimus.

Pirmiausia įsitikinkite, kad sukūrėte šio failo atsarginę kopiją, jei vėliau prireiktų jį peržiūrėti, tada sukurkite naują tuščią konfigūracijos failą naudodami mėgstamą teksto rengyklę, išduodami šias komandas.

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

3. Dabar nukopijuokite ir įklijuokite toliau nurodytas konfigūracijas į dnsmasq.conf failą ir įsitikinkite, kad pakeisite toliau pateiktus paaiškinimus, kad jie atitiktų jūsų tinklo nustatymus.

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

Teiginiai, kuriuos turite pakeisti, yra šie:

  1. sąsaja – sąsajos, kurių serveris turi klausytis ir teikti paslaugas.
  2. Bind-interfaces – panaikinkite komentarą, kad susietumėte tik šioje sąsajoje.
  3. domenas – pakeiskite jį savo domeno pavadinimu.
  4. dhcp-range – pakeiskite jį IP diapazonu, kurį apibrėžia jūsų tinklo kaukė šiame segmente.
  5. dhcp-boot – pakeiskite IP teiginį savo sąsajos IP adresu.
  6. dhcp-option=3,192.168.1.1 – pakeiskite IP adresą savo tinklo segmento šliuzu.
  7. dhcp-option=6,92.168.1.1 – pakeiskite IP adresą savo DNS serverio IP – galima apibrėžti kelis DNS IP.
  8. server=8.8.4.4 – įkelkite savo DNS peradresatorių IP adresus.
  9. dhcp-option=28,10.0.0.255 – Pakeiskite IP adresą tinklo transliacijos adresu – pasirinktinai.
  10. dhcp-option=42,0.0.0.0 – Įdėkite savo tinklo laiko serverius – pasirinktinai (0.0.0.0 Adresas skirtas savarankiškai).
  11. pxe-prompt – palikti kaip numatytąjį – reiškia paspausti klavišą F8, kad patektumėte į 60 meniu su sekundžių laukimo laiku.
  12. pxe=service – naudokite x86PC 32 bitų/64 bitų architektūroms ir įveskite meniu aprašo raginimą po kabutėmis. Kiti verčių tipai gali būti: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI ir X86-64_EFI.
  13. enable-tftp – įjungia integruotą TFTP serverį.
  14. tftp-root – naudokite /var/lib/tftpboot – visų tinklo įkrovos failų vietą.

Jei norite sužinoti daugiau apie kitas išplėstines konfigūracijos failo parinktis, perskaitykite dnsmasq vadovą.

2 veiksmas: įdiekite SYSLINUX įkrovos tvarkykles

4. Redaguodami ir išsaugoję pagrindinį DNSMASQ konfigūracijos failą, eikite į priekį ir įdiekite Syslinx PXE įkrovos paketą, išduodami šią komandą.

yum install syslinux

5. PXE įkrovos failų failai yra /usr/share/syslinux absoliučiame sistemos kelyje, todėl galite tai patikrinti įtraukę šio kelio turinį. Šis veiksmas yra neprivalomas, bet jums gali tekti žinoti šį kelią, nes atlikdami kitą veiksmą visą jo turinį nukopijuosime į TFTP serverio kelią.

ls /usr/share/syslinux

3 veiksmas: įdiekite TFTP serverį ir užpildykite jį SYSLINUX įkrovos įkrovikliais

6. Dabar pereikime prie kito veiksmo ir įdiekite TFTP-Server, tada nukopijuokite visus Syslinux paketo pateiktus įkrovos tvarkyklių failus iš aukščiau nurodytos vietos į / var/lib/tftpboot kelią, išleisdami šias komandas.

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

4 veiksmas: nustatykite PXE serverio konfigūracijos failą

7. Paprastai PXE serveris nuskaito savo konfigūraciją iš konkrečių failų grupės (GUID failų – pirma, MAC failai – kitas, numatytasis failas – paskutinis), talpinami aplanke pavadinimu pxelinux.cfg, kuris turi būti kataloge, nurodytame tftp-root > teiginys iš DNSMASQ pagrindinio konfigūracijos failo.

Sukurkite reikiamą katalogą pxelinux.cfg ir užpildykite jį numatytuoju failu, išduodami šias komandas.

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

8. Dabar laikas redaguoti PXE serverio konfigūracijos failą su galiojančiomis Linux platinimo diegimo parinktimis. Taip pat atminkite, kad visi šiame faile naudojami keliai turi būti susiję su /var/lib/tftpboot katalogu.

Žemiau galite pamatyti konfigūracijos failo pavyzdį, kurį galite naudoti, tačiau pakeiskite diegimo vaizdus (branduolių ir initrd failus), protokolus (FTP, HTTP, HTTPS, NFS) ir IP, kad atitinkamai atspindėtų jūsų tinklo diegimo šaltinio saugyklas ir kelius.

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

Pridėkite visą šią ištrauką prie failo.

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

Kaip matote, CentOS 7 įkrovos vaizdai (branduolys ir initrd) yra kataloge pavadinimu centos7, palyginti su /var/lib/tftpboot (absoliučiame sistemos kelyje tai reikštų /var/lib/tftpboot/centos7) ir diegimo programos saugyklas galima pasiekti naudojant FTP protokolą 192.168.1.20/pub tinklo vietoje – šiuo atveju atpirkimo sandoriai yra priglobti lokaliai, nes IP adresas yra toks pat kaip PXE serverio adresas).

Taip pat meniu 3 etiketė nurodo, kad klientas turi būti įdiegtas iš nuotolinės vietos per VNC (čia pakeiskite VNC slaptažodį stipriu slaptažodžiu), jei įdiegiate be galvos kliento ir meniu 2 etiketė nurodoma kaip
diegimo šaltiniai yra oficialus CentOS 7 interneto veidrodis (šiuo atveju reikalingas interneto ryšys, pasiekiamas kliente per DHCP ir NAT).

Svarbu: kaip matote anksčiau pateiktoje konfigūracijoje, demonstravimo tikslais naudojome CentOS 7, tačiau taip pat galite apibrėžti RHEL 7 vaizdus ir vadovaudamiesi visomis instrukcijomis bei konfigūracijomis yra pagrįsti tik CentOS 7, todėl būkite atsargūs rinkdamiesi platinimą.

5 veiksmas: pridėkite CentOS 7 įkrovos vaizdus į PXE serverį

9. Šiam veiksmui reikalingi CentOS branduolio ir initrd failai. Norėdami gauti tuos failus, jums reikia CentOS 7 DVD ISO vaizdo. Taigi, atsisiųskite CentOS DVD vaizdą, įdėkite jį į savo DVD įrenginį ir prijunkite vaizdą į /mnt sistemos kelią, išleisdami toliau pateiktą komandą.

Priežastis, kodėl naudojamas DVD, o ne minimalus CD vaizdas, yra tai, kad vėliau šis DVD turinys bus naudojamas kuriant
FTP šaltinių vietinės diegimo programos saugyklos.

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

Jei jūsų įrenginyje nėra DVD įrenginio, taip pat galite atsisiųsti CentOS 7 DVD ISO vietoje naudodami wget arba curl priemones iš CentOS veidrodžio ir pritvirtinkite.

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. Kai DVD turinys bus pasiekiamas, sukurkite centos7 katalogą ir nukopijuokite CentOS 7 įkrovos branduolį bei initrd vaizdus iš DVD prijungtos vietos į centos7 aplanko struktūrą.

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

Priežastis naudoti šį metodą yra ta, kad vėliau /var/lib/tftpboot kelyje galite sukurti naujus atskirus katalogus ir įtraukti kitus Linux platinimus į PXE meniu nesugadindami visos katalogų struktūros.

6 veiksmas: sukurkite CentOS 7 vietinio veidrodžio diegimo šaltinį

11. Nors galite nustatyti diegimo šaltinio veidrodžius naudodami įvairius protokolus, pvz., HTTP, HTTPS arba NFS, šiame vadove pasirinkau FTP > protokolą, nes yra labai patikimas ir lengvai nustatomas naudojant vsftpd serverį.

Toliau įdiekite vsftpd demoną, nukopijuokite visą DVD prijungtą turinį į vsftpd numatytąjį serverio kelią (/var/ftp/pub) – tai gali šiek tiek užtrukti, priklausomai nuo jūsų sistemos išteklių ir pridėti nuskaitomus leidimus į šį kelią, išduodami šias komandas.

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

7 veiksmas: paleiskite ir įgalinkite „Daemons“ visoje sistemoje

12. Dabar, kai PXE serverio konfigūracija pagaliau baigta, paleiskite DNSMASQ ir VSFTPD serverius, patikrinkite jų būseną ir įgalinkite ją visoje sistemoje, kad automatiškai paleidžiama po kiekvieno sistemos perkrovimo, vykdydami toliau pateiktas komandas.

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

8 veiksmas: atidarykite ugniasienę ir patikrinkite FTP diegimo šaltinį

13. Norėdami gauti sąrašą visų prievadų, kurie turi būti atidaryti užkardoje, kad klientų įrenginiai pasiektų ir paleistų iš PXE serverio, paleiskite komandą netstat ir pridėkite CentOS 7 Ugniasienės taisyklės atitinka dnsmasq ir vsftpd klausymosi prievadus.

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. Norėdami išbandyti FTP diegimo šaltinio tinklo kelią, atidarykite naršyklę vietoje (lynx turėtų tai padaryti) arba kitame kompiuteryje ir įveskite savo PXE serverio IP adresą su
FTP protokolas, po kurio nurodoma /pub tinklo vieta pateiktame URL, o rezultatas turi būti toks, kaip parodyta toliau esančioje ekrano kopijoje.

ftp://192.168.1.20/pub

15. Norėdami derinti PXE serverį, kad būtų galima rasti netinkamų konfigūracijų ar kitos informacijos ir diagnostikos tiesioginio režimo, paleiskite šią komandą.

tailf /var/log/messages

16. Galiausiai paskutinis būtinas veiksmas, kurį turite padaryti, yra atjungti CentOS 7 DVD ir pašalinti fizinę laikmeną.

umount /mnt

9 veiksmas: sukonfigūruokite klientus, kad jie būtų paleisti iš tinklo

17. Dabar jūsų klientai gali paleisti ir įdiegti CentOS 7 savo kompiuteriuose sukonfigūruodami tinklo įkrovą kaip pagrindinį įkrovos įrenginį iš savo sistemos BIOS arba paspausdami nurodytą klavišą per BIOS POSToperacijos, kaip nurodyta pagrindinės plokštės vadove.

Norėdami pasirinkti tinklo paleidimą. Kai pasirodys pirmasis PXE raginimas, paspauskite klavišą F8, kad įeitumėte į pristatymą, tada paspauskite klavišą Enter, kad pereitumėte į PXE meniu.

18. Pasiekę PXE meniu, pasirinkite CentOS 7 diegimo tipą, paspauskite klavišą Enter ir tęskite diegimo procedūrą taip pat, kaip įdiegtumėte iš vietinio medijos įkrovos įrenginys.

Atkreipkite dėmesį, kad norint naudoti šio meniu 2 variantą, tiksliniame kliente reikalingas aktyvus interneto ryšys. Taip pat toliau
ekrano kopijose galite pamatyti kliento nuotolinio diegimo per VNC pavyzdį.

Tai viskas, norint nustatyti minimalų PXE serverį CentOS 7. Kitame šios serijos straipsnyje aptarsiu kitas problemas, susijusias su šia PXE serverio konfigūracija, pvz., kaip nustatyti automatinius CentOS 7 diegimus naudojant Kickstart failus ir pridedant kitus Linux platinimus. į PXE meniu – Ubuntu serveris ir Debian 7.