Vyhledávání na webu

Nastavení „PXE Network Boot Server“ pro více instalací distribuce Linuxu v RHEL/CentOS 7


PXE Server – Preboot eXecution Environment – dává klientskému počítači pokyn ke spuštění, spuštění nebo instalaci operačního systému přímo ze síťového rozhraní, čímž eliminuje potřebu vypalování CD/DVD nebo použití fyzického média, nebo, může usnadnit instalaci distribucí Linuxu do vaší síťové infrastruktury na více počítačích současně.

Požadavky

  1. Postup minimální instalace CentOS 7
  2. RHEL 7 Minimální instalační postup
  3. Nakonfigurujte statickou IP adresu v RHEL/CentOS 7
  4. Odstraňte nežádoucí služby v RHEL/CentOS 7
  5. Nainstalujte NTP server pro nastavení správného systémového času v RHEL/CentOS 7

Tento článek vysvětlí, jak můžete nainstalovat a nakonfigurovat PXE Server na x64bitovém RHEL/CentOS 7 se zrcadlenými místními instalačními repozitáři, poskytnuté zdroje od CentOS 7 DVD ISO obrazu, s pomocí DNSMASQ Serveru.

Který poskytuje DNS a DHCP služby, Syslinux balíček, který poskytuje bootloadery pro spouštění ze sítě, TFTP-Server, který dělá spouštěcí obrazy dostupné ke stažení přes síť pomocí Trivial File Transfer Protocol (TFTP) a VSFTPD Server, který bude hostit lokálně připojený zrcadlený obraz DVD – který bude fungovat jako oficiální RHEL /CentOS 7 zrcadlové instalační úložiště, odkud instalační program rozbalí požadované balíčky.

Krok 1: Nainstalujte a nakonfigurujte DNSMASQ Server

1. Není třeba vám připomínat, že je absolutně náročné, že jedno z rozhraní vaší síťové karty, v případě, že váš server obsahuje více síťových karet, musí být nakonfigurováno se statickou IP adresou ze stejného rozsahu IP, který patří do segment sítě, který bude poskytovat služby PXE.

Takže poté, co jste nakonfigurovali svou statickou IP adresu, aktualizovali svůj systém a provedli další počáteční nastavení, použijte k instalaci démona DNSMASQ následující příkaz.

yum install dnsmasq

2. Hlavní výchozí konfigurační soubor DNSMASQ umístěný v adresáři /etc je samozřejmý, ale jeho editace je poměrně obtížná.

Nejprve se ujistěte, že jste si zálohovali tento soubor pro případ, že jej budete potřebovat později zkontrolovat, a poté vytvořte nový prázdný konfigurační soubor pomocí svého oblíbeného textového editoru zadáním následujících příkazů.

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

3. Nyní zkopírujte a vložte následující konfigurace do souboru dnsmasq.conf a ujistěte se, že jste změnili níže vysvětlená prohlášení tak, aby odpovídala nastavení vaší sítě.

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

Prohlášení, která potřebujete změnit, jsou následující:

  1. rozhraní – Rozhraní, kterým by měl server naslouchat a poskytovat služby.
  2. bind-interfaces – Zrušte komentář, chcete-li se vázat pouze na toto rozhraní.
  3. doména – Nahraďte ji názvem své domény.
  4. dhcp-range – Nahraďte jej rozsahem IP definovaným maskou vaší sítě v tomto segmentu.
  5. dhcp-boot – Nahraďte příkaz IP adresou IP vašeho rozhraní.
  6. dhcp-option=3,192.168.1.1 – Nahraďte IP adresu bránou segmentu sítě.
  7. dhcp-option=6,92.168.1.1 – Nahraďte IP adresu IP serveru DNS – lze definovat několik IP adres DNS.
  8. server=8.8.4.4 – Zadejte adresy IP serverů pro předávání DNS.
  9. dhcp-option=28,10.0.0.255 – Nahraďte IP adresu adresou síťového vysílání – volitelně.
  10. dhcp-option=42,0.0.0.0 – Vložte své síťové časové servery – volitelně (0.0.0.0 adresa je pro vlastní referenci).
  11. pxe-prompt – Nechat jako výchozí – znamená stisknout klávesu F8 pro vstup do menu 60 s čekací dobou v sekundách.
  12. pxe=service – Použijte x86PC pro 32bitové/64bitové architektury a zadejte výzvu k popisu nabídky do uvozovek. Další typy hodnot mohou být: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI a X86-64_EFI.
  13. enable-tftp – Povolí vestavěný server TFTP.
  14. tftp-root – Použijte /var/lib/tftpboot – umístění pro všechny soubory zavádění ze sítě.

Pro další pokročilé možnosti týkající se konfiguračního souboru si přečtěte manuál dnsmasq.

Krok 2: Nainstalujte bootloadery SYSLINUX

4. Po úpravě a uložení hlavního konfiguračního souboru DNSMASQ pokračujte a nainstalujte balíček bootloaderu Syslinx PXE vydáním následujícího příkazu.

yum install syslinux

5. Soubory zavaděče PXE jsou umístěny v absolutní systémové cestě /usr/share/syslinux, takže si to můžete zkontrolovat vypsáním obsahu této cesty. Tento krok je volitelný, ale možná budete muset znát tuto cestu, protože v dalším kroku zkopírujeme veškerý jeho obsah do cesty TFTP Server.

ls /usr/share/syslinux

Krok 3: Nainstalujte TFTP server a naplňte jej bootloadery SYSLINUX

6. Nyní přejdeme k dalšímu kroku a nainstalujeme TFTP-Server a poté zkopírujeme všechny soubory bootloderů poskytované balíčkem Syslinux z výše uvedeného umístění do / var/lib/tftpboot zadáním následujících příkazů.

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

Krok 4: Nastavte konfigurační soubor serveru PXE

7. Server PXE obvykle čte svou konfiguraci ze skupiny konkrétních souborů (soubory GUID – nejprve MAC soubory – další, Výchozí soubor – poslední) hostované ve složce s názvem pxelinux.cfg, která musí být umístěna v adresáři zadaném v tftp-root výpis z hlavního konfiguračního souboru DNSMASQ.

Vytvořte požadovaný adresář pxelinux.cfg a naplňte jej výchozím souborem zadáním následujících příkazů.

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

8. Nyní je čas upravit konfigurační soubor PXE Server s platnými možnostmi instalace distribuce Linuxu. Všimněte si také, že všechny cesty použité v tomto souboru musí být relativní k adresáři /var/lib/tftpboot.

Níže vidíte příklad konfiguračního souboru, který můžete použít, ale upravte instalační obrazy (soubory jádra a initrd), protokoly (FTP, HTTP, HTTPS, NFS) a IP adresy, aby odpovídajícím způsobem odrážely vaše síťová instalační zdrojová úložiště a cesty.

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

Přidejte do souboru následující celý úryvek.

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

Jak můžete vidět zaváděcí obrazy CentOS 7 (kernel a initrd) jsou umístěny v adresáři s názvem centos7 vzhledem k /var/lib/tftpboot (na absolutní systémové cestě by to znamenalo /var/lib/tftpboot/centos7) a úložiště instalačního programu lze dosáhnout pomocí protokolu FTP v síťovém umístění 192.168.1.20/pub – v tomto případě jsou repozitáře hostovány lokálně, protože IP adresa je stejná jako adresa PXE serveru).

Nabídka label 3 také určuje, že instalace klienta by měla být provedena ze vzdáleného umístění pomocí VNC (zde nahraďte heslo VNC silným heslem), pokud instalujete na bezhlavého klienta a nabídka label 2 specifikuje jako
zdroj instalace CentOS 7 oficiální internetové zrcadlo (tento případ vyžaduje připojení k internetu dostupné na klientovi prostřednictvím DHCP a NAT).

Důležité: Jak vidíte ve výše uvedené konfiguraci, pro účely demonstrace jsme použili CentOS 7, ale můžete také definovat obrázky RHEL 7 a dodržovat celé pokyny a konfigurace jsou založeny pouze na CentOS 7, takže buďte opatrní při výběru distribuce.

Krok 5: Přidejte spouštěcí obrazy CentOS 7 na server PXE

9. Pro tento krok jsou vyžadovány soubory jádra CentOS a initrd. K získání těchto souborů potřebujete obraz CentOS 7 DVD ISO. Takže pokračujte a stáhněte si CentOS DVD Image, vložte jej do DVD mechaniky a připojte obraz k systémové cestě /mnt zadáním níže uvedeného příkazu.

Důvodem pro použití DVD a ne minimálního obrazu CD je skutečnost, že později bude tento obsah DVD použit k vytvoření
místně instalační repozitáře pro FTP zdroje.

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

Pokud váš počítač nemá jednotku DVD, můžete si také stáhnout CentOS 7 DVD ISO lokálně pomocí nástrojů wget nebo curl ze zrcadla CentOS a připojit jej.

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. Po zpřístupnění obsahu DVD vytvořte adresář centos7 a zkopírujte obrazy bootovatelného jádra CentOS 7 a initrd z umístění připojeného na DVD do struktury složek 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

Důvodem pro použití tohoto přístupu je to, že později můžete vytvořit nové samostatné adresáře v cestě /var/lib/tftpboot a přidat další distribuce Linuxu do nabídky PXE, aniž byste narušili celou strukturu adresářů.

Krok 6: Vytvořte zdroj instalace místního zrcadla CentOS 7

11. Přestože Zrcadla zdroje instalace můžete nastavit pomocí různých protokolů, jako je HTTP, HTTPS nebo NFS, pro tuto příručku jsem zvolil FTP protokol, protože je velmi spolehlivý a snadno se nastavuje pomocí serveru vsftpd.

Dále nainstalujte démona vsftpd, zkopírujte veškerý obsah připojený na DVD do výchozí cesty serveru vsftpd (/var/ftp/pub) – to může chvíli trvat v závislosti na vašich systémových prostředcích a připojení čitelná oprávnění k této cestě vydáním následujících příkazů.

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

Krok 7: Spusťte a povolte démony v celém systému

12. Nyní, když je konfigurace PXE serveru konečně dokončena, spusťte servery DNSMASQ a VSFTPD, ověřte jejich stav a povolte jej v celém systému, abyste automaticky se spustí po každém restartu systému spuštěním níže uvedených příkazů.

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

Krok 8: Otevřete bránu firewall a otestujte zdroj instalace FTP

13. Chcete-li získat seznam všech portů, které je třeba otevřít na vaší bráně firewall, aby se klientské počítače dostaly a zavedly ze serveru PXE, spusťte příkaz netstat a přidejte CentOS 7 Pravidla brány firewall podle naslouchacích portů dnsmasq a 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  ## Apply rules

14. Chcete-li otestovat síťovou cestu zdroje instalace FTP, otevřete prohlížeč lokálně (měl by to udělat lynx) nebo na jiném počítači a zadejte IP adresu vašeho PXE serveru pomocí
Protokol FTP následovaný umístěním sítě /pub v souboru URL a výsledek by měl být takový, jak je uvedeno na níže uvedeném snímku obrazovky.

ftp://192.168.1.20/pub

15. Chcete-li ladit server PXE pro případné nesprávné konfigurace nebo jiné informace a diagnostiku v živém režimu, spusťte následující příkaz.

tailf /var/log/messages

16. Posledním požadovaným krokem, který musíte udělat, je odpojit DVD CentOS 7 a odebrat fyzické médium.

umount /mnt

Krok 9: Konfigurace klientů pro spouštění ze sítě

17. Vaši klienti nyní mohou zavést a nainstalovat CentOS 7 na své počítače tak, že nakonfigurují Network Boot jako primární zaváděcí zařízení ze svého systému BIOS nebo stisknutím zadané klávesy během Operace BIOS POSTjak je uvedeno v příručce k základní desce.

Chcete-li zvolit spouštění ze sítě. Jakmile se objeví první výzva PXE, stiskněte klávesu F8 pro vstup do prezentace a poté stiskněte klávesu Enter pro pokračování v nabídce PXE.

18. Jakmile se dostanete do nabídky PXE, vyberte typ instalace CentOS 7, stiskněte klávesu Enter a pokračujte v instalačním postupu stejným způsobem, jako byste jej mohli nainstalovat z místního zařízení pro spouštění média.

Vezměte prosím na vědomí, že použití varianty 2 z této nabídky vyžaduje aktivní internetové připojení na cílovém klientovi. Také níže
screenshoty můžete vidět příklad vzdálené instalace klienta přes VNC.

To je vše pro nastavení minimálního PXE serveru na CentOS 7. V mém dalším článku z této série proberu další problémy týkající se této konfigurace PXE serveru, jako je nastavení automatických instalací CentOS 7 pomocí souborů Kickstart a přidání dalších distribucí Linuxu do nabídky PXE – Ubuntu Server a Debian 7.