Cum se instalează Ubuntu prin serverul PXE utilizând surse DVD locale


PXE sau Preboot eXecution Environment este un mecanism server-client care instruiește un computer client să pornească din rețea.

În acest ghid, vom arăta cum să instalați Serverul Ubuntu printr-un server PXE cu surse HTTP locale oglindite din imaginea ISO a serverului Ubuntu prin web Apache Server. Serverul PXE folosit în acest tutorial este Server Dnsmasq.

Cerințe:

  1. Instalare Ubuntu Server 16.04 sau 17.04
  2. O interfață de rețea configurată cu o adresă IP statică
  3. Ubuntu Server 16.04 sau 17.04 imagine ISO

Pasul 1: Instalați și configurați serverul DNSMASQ

1. Pentru a configura serverul PXE, la primul pas, conectați-vă cu contul root sau cu un cont cu privilegii root și instalați pachetul Dnsmasq în Ubuntu lansând următoarea comandă.

apt install dnsmasq

2. Apoi, faceți backup pentru fișierul de configurare principal dnsmasq și apoi începeți editarea fișierului cu următoarele configurații.

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

Adăugați următoarea configurație în fișierul dnsmasq.conf.

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

În fișierul de configurare de mai sus înlocuiți următoarele rânduri în consecință.

  • interfață Înlocuiți cu propria interfață de rețea a mașinii.
  • domeniu – înlocuiți-l cu numele dvs. de domeniu.
  • dhcp-range – Definiți-vă propriul interval de rețea pentru ca DHCP să aloce IP-uri acestui segment de rețea și cât timp ar trebui acordată o adresă IP pentru un client.
  • dhcp-option=3 – IP-ul tău Gateway.
  • dhcp-option=6 IP-uri de server DNS – pot fi definite mai multe IP-uri DNS.
  • server – Adresa IP a redirecționării DNS.
  • dhcp-option=28 – adresa dvs. de difuzare a rețelei.
  • dhcp-option=42 – server NTP – utilizați 0.0.0.0 Adresa este pentru auto-referință.
  • dhcp-boot – fișierul de pornire pxe și adresa IP a serverului PXE (aici pxelinux.0 și adresa IP a aceleiași mașini).
  • pxe-prompt – Utilizatorii pot apăsa tasta F8 pentru a intra în meniul PXE sau pot aștepta 2 secunde înainte de a trece automat la meniul PXE.
  • pxe=service – Folosiți x86PC pentru arhitecturi pe 32 de biți/64 de biți și introduceți un prompt de descriere a meniului sub ghilimele șir. Alte tipuri de valori pot fi: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI și X86-64_EFI.
  • enable-tftp – Activează serverul TFTP încorporat.
  • tftp-root – calea de sistem pentru fișierele de boot net.

3. De asemenea, după ce ați terminat de editat fișierul de configurare dnsmasq, creați directorul pentru fișierele PXE netboot lansând comanda de mai jos și reporniți demonul dnsmasq pentru a aplica modificările. Verificați starea serviciului dnsmasq pentru a vedea dacă a fost pornit.

mkdir /srv/tftp
systemctl restart dnsmasq.service
systemctl status dnsmasq.service

Pasul 2: Instalați fișierele TFTP Netboot

4. La pasul următor, luați cea mai recentă versiune a imaginii ISO server Ubuntu pentru arhitectura pe 64 de biți lansând următoarea comandă.

wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. După descărcarea ISO a serverului Ubuntu, montați imaginea în directorul /mnt și enumerați conținutul directorului montat rulând comenzile de mai jos.

mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
ls /mnt/

6. Apoi, copiați fișierele netboot din arborele montat Ubuntu în calea sistemului tftp lansând comanda de mai jos. De asemenea, listați calea sistemului tftp pentru a vedea fișierele copiate.

cp -rf /mnt/install/netboot/* /srv/tftp/
ls /srv/tftp/

Pasul 3: Pregătiți fișierele sursă de instalare locale

7. Sursele de instalare a rețelei locale pentru serverul Ubuntu vor fi furnizate prin protocolul HTTP. Mai întâi, instalați, porniți și activați serverul web Apache lansând următoarele comenzi.

apt install apache2
systemctl start apache2
systemctl status apache2
systemctl enable apache2

8. Apoi, copiați conținutul DVD-ului Ubuntu montat pe calea rădăcină web a serverului web Apache, executând comenzile de mai jos. Listați conținutul căii rădăcină web Apache pentru a verifica dacă arborele montat ISO Ubuntu a fost complet copiat.

cp -rf /mnt/* /var/www/html/
ls /var/www/html/

9. Apoi, deschideți portul HTTP în firewall și navigați la adresa IP a mașinii dvs. printr-un browser (http://192.168.1.14/ubuntu) pentru a testa dacă poate ajunge la surse prin protocolul HTTP.

ufw allow http

Pasul 4: Configurați fișierul de configurare a serverului PXE

10. Pentru a putea pivota rootf-urile prin PXE și surse locale, Ubuntu trebuie să fie instruit printr-un fișier preseed. Creați următorul fișier local-sources.seed în calea rădăcină a documentului de pe serverul web cu următorul conținut.

nano /var/www/html/ubuntu/preseed/local-sources.seed

Adăugați următoarea linie în fișierul local-sources.seed.

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

Aici, asigurați-vă că înlocuiți adresa IP în consecință. Ar trebui să fie adresa IP la care se află resursele web. În acest ghid, sursele web, serverul PXE și serverul TFTP sunt găzduite pe același sistem. Într-o rețea aglomerată, este posibil să doriți să rulați servicii PXE, TFTP și web pe mașini separate pentru a îmbunătăți viteza rețelei PXE.

11. Un server PXE citește și execută fișierele de configurare situate în directorul rădăcină pxelinux.cfg TFTP, în această ordine: fișiere GUID, fișiere MAC și fișier implicit.

Directorul pxelinux.cfg este deja creat și populat cu fișierele de configurare PXE necesare, deoarece mai devreme am copiat fișierele netboot din imaginea ISO montată pe Ubuntu.

Pentru a adăuga fișierul de declarație preseed de mai sus la eticheta de instalare Ubuntu în fișierul de configurare PXE, deschideți următorul fișier pentru editare lansând comanda de mai jos.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

În fișierul de configurare Ubuntu PXE txt.cfg înlocuiți următoarea linie, așa cum este ilustrat în fragmentul de mai jos.

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

Fișierul /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg ar trebui să aibă următorul conținut global:

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
	menu label ^Command-line install
	kernel ubuntu-installer/amd64/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

12. În cazul în care doriți să adăugați instrucțiunea URL prestabilită în meniul Ubuntu Rescue, deschideți fișierul de mai jos și asigurați-vă că actualizați conținutul, așa cum este ilustrat în exemplul de mai jos.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

Adăugați următoarea configurație în fișierul rqtxt.cfg.

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

Linia importantă pe care ar trebui să o actualizați este url=http://192.168.1.14/ubuntu/preseed/local-sources.seed care specifică adresa URL la care se află fișierul apăsat în rețeaua dvs.

13. În cele din urmă, deschideți fișierul Ubuntu pxe menu.cfg și comentați primele trei rânduri pentru a extinde ecranul de pornire PXE, așa cum este ilustrat în captura de ecran de mai jos.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

Comentează aceste trei rânduri următoare.

#menu hshift 13
#menu width 49
#menu margin 8

Pasul 5: Deschideți porturile de firewall în Ubuntu

14. Executați comanda netstat cu privilegii root pentru a identifica porturile deschise dnsmasq, tftp și web în starea de ascultare pe serverul dvs., așa cum este ilustrat în fragmentul de mai jos.

netstat -tulpn

15. După ce ați identificat toate porturile necesare, lansați comenzile de mai jos pentru a deschide porturile în firewall-ul ufw.

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 67/udp
ufw allow 69/udp
ufw allow 4011/udp

Pasul 6: Instalați Ubuntu cu surse locale prin PXE

16. Pentru a instala serverul Ubuntu prin PXE și a utiliza sursele de instalare a rețelei locale, reporniți clientul mașinii, solicitați BIOS-ului să pornească din rețea și, la primul ecran de meniu PXE, alegeți prima opțiune așa cum este ilustrat în imaginile de mai jos.

17. Procedura de instalare trebuie efectuată ca de obicei. Când programul de instalare ajunge la configurația Țara oglindă a arhivei Ubuntu, utilizați săgeata în sus de la tastatură pentru a trece la prima opțiune, care spune: introduceți informațiile manual.

18. Apăsați tasta [enter] pentru a actualiza această opțiune, ștergeți șirul de oglindă și adăugați adresa IP a surselor de oglindă a serverului web și apăsați Enter pentru a continua, așa cum este ilustrat în imaginea de mai jos.

http://192.168.1.14

19. Pe următorul ecran, adăugați directorul arhivei în oglindă așa cum se arată mai jos și apăsați tasta Enter pentru a continua procesul de instalare și, de obicei.

/ubuntu

20. În cazul în care doriți să vedeți informații despre ce pachete sunt descărcate din oglinda locală a rețelei, apăsați tastele [CTRL+ALT+F2] pentru a schimba consola virtuală a mașinii și lansați următoarea comandă.

tail –f /var/log/syslog

21. După terminarea instalării serverului Ubuntu, conectați-vă la sistemul nou instalat și rulați următoarea comandă cu privilegii de rădăcină pentru a actualiza pachetele de depozite din sursele rețelei locale la oglinzile oficiale Ubuntu.

Oglinzile trebuie schimbate pentru a actualiza sistemul folosind depozitele de internet.

sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

Asigurați-vă că înlocuiți adresa IP în funcție de adresa IP a propriilor surse locale web.

Asta e tot! Acum puteți să vă actualizați sistemul de server Ubuntu și să instalați tot software-ul necesar. Instalarea Ubuntu prin PXE și o oglindă sursă de rețea locală poate îmbunătăți viteza de instalare și poate economisi lățime de bandă și costuri de internet în cazul implementării unui număr mare de servere într-o perioadă scurtă de timp la sediul dumneavoastră.