Server PXE - Preboot eXecution Environment - instruiește un computer client să pornească, să ruleze sau să instaleze un sistem de operare direct din interfața de rețea, eliminând necesitatea pentru a arde un CD / DVD sau a utiliza un mediu fizic sau, poate ușura munca de instalare a distribuțiilor Linux pe infrastructura de rețea pe mai multe mașini la fel timp.
Acest articol va explica modul în care puteți instala și configura un Server PXE pe RHEL/CentOS 7 x64-bit cu depozite de instalare locale în oglindă, surse furnizate de imaginea ISO CentOS 7 DVD, cu ajutorul DNSMASQ Server.
Care oferă DNS și DHCP Servicii, Syslinux pachet care oferă bootloadere pentru bootarea în rețea, Server TFTP, care face ca imaginile bootabile să fie disponibile pentru a fi descărcate prin rețea folosind
Protocol banal de transfer de fișiere (TFTP) și VSFTPD Server care va găzdui imaginea DVD oglindită montată local - care va acționa ca un depozit oficial de instalare oglindă RHEL / CentOS 7 de unde instalatorul își va extrage pachetele necesare.1. Nu este necesar să vă reamintim că este absolut solicitant ca una dintre interfețele plăcii dvs. de rețea, în cazul în care serverul dvs. prezintă mai multe NIC-uri, trebuie să fie configurat cu o adresă IP statică din același interval IP care aparține segmentului de rețea care va furniza PXE Servicii.
Deci, după ce ați configurat adresa IP statică, ați actualizat sistemul și ați efectuat alte setări inițiale, utilizați următoarea comandă pentru instalare DNSMASQ daemon.
# yum install dnsmasq.
2. Fișierul principal de configurare implicit DNSMASQ situat în /etc directorul se auto-explică, dar intenționează să fie destul de dificil de editat, respectă explicațiile sale foarte comentate.
Mai întâi asigurați-vă că faceți copie de rezervă a acestui fișier în cazul în care trebuie să îl revizuiți mai târziu și, apoi, creați un nou fișier de configurare necompletat utilizând editorul dvs. de text preferat prin emiterea următoarelor comenzi.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup. # nano /etc/dnsmasq.conf.
3. Acum, copiați și lipiți următoarele configurații pe dnsmasq.conf fișier și asigurați-vă că modificați declarațiile explicate mai jos pentru a se potrivi în mod corespunzător cu setările de rețea.
interface = eno16777736, lo. # interfețe de legare. domain = centos7.lan. # Leasing-uri DHCP. 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. opțiunea dhcp = 3.192.168.1.1. # DNS. opțiunea dhcp = 6,92.168.1.1, 8.8.8.8. server = 8.8.4.4. # Adresă de difuzare. dhcp-option = 28,10.0.0.255. # Server NTP. dhcp-option = 42,0.0.0.0 pxe-prompt = "Apăsați F8 pentru meniu.", 60. pxe-service = x86PC, "Instalați CentOS 7 de pe serverul de rețea 192.168.1.20", pxelinux. enable-tftp. tftp-root = / var / lib / tftpboot.
Afirmațiile pe care trebuie să le modificați sunt următoarele:
Pentru alte opțiuni avansate referitoare la fișierul de configurare, nu ezitați să citiți manual dnsmasq.
4. După ce ați editat și salvat DNSMASQ fișierul principal de configurare, continuați și instalați Syslinx Pachetul de încărcare PXE prin emiterea următoarei comenzi.
# yum install syslinux.
5. Fișierele de încărcare PXE se află în /usr/share/syslinux calea absolută a sistemului, astfel încât să o puteți verifica listând conținutul acestei căi. Acest pas este opțional, dar poate fi necesar să fiți conștienți de această cale, deoarece la pasul următor, vom copia tot conținutul său în Server TFTP cale.
# ls / usr / share / syslinux.
6. Acum, trecem la pasul următor și instalăm Server TFTP și, apoi, copiați toate fișierele bootlodere furnizate de pachetul Syslinux din locația listată mai sus în /var/lib/tftpboot cale prin emiterea următoarelor comenzi.
# yum instalați tftp-server. # cp -r / usr / share / syslinux / * / var / lib / tftpboot.
7. De obicei Server PXE își citește configurația dintr-un grup de fișiere specifice (GUID fișiere - mai întâi, MAC fișiere - în continuare, Mod implicit fișier - ultimul) găzduit într-un folder numit pxelinux.cfg, care trebuie localizat în directorul specificat în tftp-root declarație din fișierul de configurare principal DNSMASQ.
Creați directorul necesar pxelinux.cfg și populează-l cu un Mod implicit fișier prin emiterea următoarelor comenzi.
# mkdir /var/lib/tftpboot/pxelinux.cfg. # touch /var/lib/tftpboot/pxelinux.cfg/default.
8. Acum este timpul să editați Server PXE fișier de configurare cu opțiuni de instalare valabile pentru distribuțiile Linux. De asemenea, rețineți că toate căile utilizate în acest fișier trebuie să fie relative la /var/lib/tftpboot director.
Mai jos puteți vedea un exemplu de fișier de configurare pe care îl puteți utiliza, dar modificați imaginile de instalare (kernel și initrd fișiere), protocoale (FTP, HTTP, HTTPS, NFS) și IP-uri pentru a reflecta depozitele și căile sursă de instalare a rețelei în consecinţă.
# nano /var/lib/tftpboot/pxelinux.cfg/default.
Adăugați următorul extras întreg în fișier.
meniu implicit.c32. prompt 0. expirare 300. Titlul meniului local ONTIMEOUT ########## PXE Boot Menu ########### eticheta 1. eticheta meniului ^ 1) Instalați CentOS 7 x64 cu Local Repo. kernel centos7 / vmlinuz. addend initrd = centos7 / initrd.img method = ftp: //192.168.1.20/pub devfs = nomount label 2. eticheta meniului ^ 2) Instalați CentOS 7 x64 cu http://mirror.centos.org Repo. kernel centos7 / vmlinuz. adăugați initrd = centos7 / initrd.img method = http://mirror.centos.org/centos/7/os/x86_64/ devfs = nomount ip = dhcp label 3. eticheta meniului ^ 3) Instalați CentOS 7 x64 cu Local Repo folosind VNC. kernel centos7 / vmlinuz. adăugați initrd = centos7 / initrd.img method = ftp: //192.168.1.20/pub devfs = nomount inst.vnc inst.vncpassword = parola etichetă 4. eticheta meniului ^ 4) Pornire de pe unitatea locală.
După cum puteți vedea, imaginile de boot CentOS 7 (nucleu și initrd) se află într-un director numit centos7 relativ la /var/lib/tftpboot (pe o cale absolută a sistemului asta ar însemna /var/lib/tftpboot/centos7) și depozitele de instalare pot fi accesate folosind FTP protocol pe 192.168.1.20/pub locația rețelei - în acest caz repozitele sunt găzduite local deoarece adresa IP este aceeași cu adresa serverului PXE).
De asemenea, meniul eticheta 3 specifică faptul că instalarea clientului trebuie făcută dintr-o locație la distanță prin VNC (aici înlocuiți parola VNC cu o parolă puternică) în cazul în care instalați un client fără cap și meniul eticheta 2 specifică ca
sursele de instalare o oglindă oficială de Internet CentOS 7 (acest caz necesită o conexiune la internet disponibilă pe client prin DHCP și NAT).
Important: După cum vedeți în configurația de mai sus, am folosit CentOS 7 în scop demonstrativ, dar puteți defini și RHEL 7 imaginile și urmărirea instrucțiunilor și configurațiilor întregi se bazează numai pe CentOS 7, deci aveți grijă când alegeți distribuție.
9. Pentru acest pas sunt necesare fișierele kernel CentOS și initrd. Pentru a obține acele fișiere aveți nevoie de CentOS 7 DVD ISO Imagine. Deci, mergeți mai departe și descărcați CentOS DVD Image, puneți-l în unitatea DVD și montați imaginea pe /mnt calea sistemului prin emiterea comenzii de mai jos.
Motivul utilizării DVD-ului și nu a unei imagini CD minime este faptul că ulterior acest conținut DVD ar fi folosit pentru a crea
depozite de instalare locală pentru FTP surse.
# mount -o loop / dev / cdrom / mnt. # ls / mnt.
Dacă aparatul dvs. nu are unitate DVD, îl puteți descărca CentOS 7 DVD ISO folosind local wget sau răsuci utilitati din a Oglinda CentOS și montează-l.
# 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. După ce conținutul DVD este disponibil, creați fișierul centos7 director și copiați imaginile kernel bootabile CentOS 7 și imaginile initrd din locația montată pe DVD în structura folderului 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.
Motivul utilizării acestei abordări este că, mai târziu, puteți crea noi directoare separate în /var/lib/tftpboot calea și adăugați alte distribuții Linux în meniul PXE fără a deranja întreaga structură de directoare.
11. Deși puteți configura Oglinzi sursă de instalare printr-o varietate de protocoale, cum ar fi HTTP, HTTPS sau NFS, am ales pentru acest ghid FTP protocol, deoarece este foarte fiabil și ușor de configurat cu ajutorul vsftpd Server.
Instalați în continuare daft vsftpd, copiați tot conținutul montat pe DVD în vsftpd calea implicită a serverului (/var/ftp/pub) - acest lucru poate dura ceva timp, în funcție de resursele sistemului și poate adăuga permisiuni lizibile la această cale, prin emiterea următoarelor comenzi.
# yum instala vsftpd. # cp -r / mnt / * / var / ftp / pub / # chmod -R 755 / var / ftp / pub.
12. Acum, când configurația serverului PXE este terminată, începeți DNSMASQ și VSFTPD serverele, verificați starea lor și activați-l la nivel de sistem, pentru a porni automat după fiecare repornire a sistemului, executând comenzile de mai jos.
# systemctl începe dnsmasq. # systemctl status dnsmasq. # systemctl începe vsftpd. # systemctl status vsftpd. # systemctl activate dnsmasq. # systemctl activa vsftpd.
13. Pentru a obține o listă a tuturor porturilor care trebuie să fie deschise pe firewall-ul dvs. pentru ca mașinile client să ajungă și să pornească de pe serverul PXE, rulați netstat comandați și adăugați reguli CentOS 7 Firewalld în consecință la porturile de ascultare dnsmasq și vsftpd.
# 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 ## Aplică reguli.
14. Pentru a testa calea de rețea a sursei de instalare FTP, deschideți un browser local (râsul ar trebui să o facă) sau pe un alt computer și tastați adresa IP a serverului dvs. PXE cu
Protocol FTP urmat de /pub locația rețelei pe adresa URL depusă și rezultatul ar trebui să fie așa cum este prezentat în captura de ecran de mai jos.
ftp://192.168.1.20/pub.
15. Pentru a depana serverul PXE pentru eventuale configurări greșite sau alte informații și diagnostice în modul live rulați următoarea comandă.
# tailf / var / log / messages.
16. În cele din urmă, ultimul pas necesar pe care trebuie să-l faceți este să demontați CentOS 7 DVD și să eliminați suportul fizic.
# umount / mnt.
17. Acum clienții dvs. pot porni și instala CentOS 7 pe mașinile lor configurând Network Boot ca dispozitivul principal de pornire din BIOS-ul sistemelor lor sau prin apăsarea unei taste specificate în timpul BIOS POST operațiunile specificate în manualul plăcii de bază.
Pentru a alege pornirea în rețea. După ce apare primul mesaj PXE, apăsați F8 tasta pentru a introduce prezentarea și apoi apăsați introduce tasta pentru a continua cu meniul PXE.
18. După ce ați ajuns la meniul PXE, alegeți tipul de instalare CentOS 7, apăsați introduce tasta și continuați cu procedura de instalare în același mod în care ați putea să-l instalați de pe un dispozitiv de boot local.
Vă rugăm să rețineți că utilizarea variantei 2 din acest meniu necesită o conexiune activă la Internet pentru clientul țintă. De asemenea, mai jos
capturi de ecran puteți vedea un exemplu de instalare la distanță a clientului prin VNC.
Asta este doar pentru a configura un minim Server PXE pe CentOS 7. În următorul articol din această serie, voi discuta despre alte probleme referitoare la această configurație a serverului PXE, cum ar fi modul de configurare a instalațiilor automate ale CentOS 7 folosind Kickstart și adăugarea altor distribuții Linux în meniul PXE - Server Ubuntu și Debian 7.