Implementace Red Hat Virtualization (RHV) v různých sítích vyžaduje určitý druh automatizace pro instalaci nových hostitelů RHV. Je zvláště užitečné automatizovat proces, když existují malé rozdíly mezi různými hostiteli ve stejné síti.
V tomto článku vás provedu procesem návrhu a nastavení prostředí PXE (Preboot Execute Environment), které zahrnuje nastavení serveru PXE, konfiguraci serveru DHCP a instalaci serveru TFTP. Nastavení spouštěcího prostředí PXE není nijak zvlášť obtížné, ale vyžaduje několik důležitých kroků a každý krok obsahuje mnoho podrobností.
Design
Nastavení jednoho PXE serveru pro poskytování farem různých serverů umístěných v různých sítích je výhodné, zvláště pokud budete zajišťování později automatizovat.
V tomto nastavení nakonfigurujeme jeden PXE server a dvě různé serverové farmy. Síť farmy každého serveru má svou vlastní vyhrazenou síť PXE (v tomto článku nazývanou „Provisioning Network“), zatímco samotný server PXE není v žádné z těchto sítí.
Níže je schéma sítě s ukázkovými rozsahy IP:
Tento návrh dosahuje následujícího:
- Toto nastavení je bezpečnější než použití běžných sítí pro správu (tj. ovirtmgmt).
- Toto nastavení chrání sítě pro správu před bouří vysílání, která může být způsobena požadavky protokolu DHCP (Dynamic Host Configuration Protocol).
- Servery PXE se ke stažení potřebných balíčků potřebují připojit k satelitnímu serveru nebo internetu buď přes rozhraní DMZ, nebo přes proxy server. Umístění serveru (serverů) PXE mimo sítě zajišťování chrání tyto sítě před kompromitováním.
Předpoklady
Tento článek je pro zjednodušení založen na následujících předpokladech:
1. Nastavení PXE (DHCP, Trivial File Transfer Protocol (TFTP) a Hypertext Transfer Protocol (HTTP)) je hostováno na jediném serveru, i když to není vyžadováno.
Instalace operačního systému (OS) na server probíhá v pořadí na obrázku níže:
2. Server PXE se může připojit k internetu přes proxy server, a pokud ne, použije se satelitní server.
3. Server PXE je nastaven na Red Hat Enterprise Linux (RHEL) 7.x.
OS serveru PXE
Server PXE je nainstalován na serveru se čtyřmi jádry CPU a čtyřmi GB paměti, i když servery s nižšími specifikacemi mohou fungovat.
Server má jednu kartu síťového rozhraní (NIC), která se používá pro všechny typy provozu, i když v případě potřeby segregace sítě můžete mít různá síťová rozhraní.
K instalaci operačního systému se používá obraz ISO RHEL7.6 s minimální možností instalace.
Po instalaci je nutná registrace OS a povolení příslušných repozitářů:
1. Upravte rhsm
soubor:
# vi /etc/rhsm/rhsm.conf
2. V části níže přidejte příslušné podrobnosti o proxy serveru:
#an http proxy server to use
proxy_hostname =
#port for http proxy server
proxy_port =
#user name for authenticating to an http proxy, if needed
proxy_user =
#password for basic http proxy auth, if needed
proxy_password =
3. Uložte soubor.
4. Zaregistrujte se a připojte systém:
#subscription-manager register --auto-attach
username: your-rhsm-username
password: your-rhsm-password
5. Povolení potřebných úložišť:
# subscription-manager repos --enable=rhel-7-server-rh-common-rpms --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms
Nastavení DHCP
Níže jsou uvedeny kroky pro nastavení DHCP tak, aby podporovalo spouštění PXE pro servery UEFI:
1. Nainstalujte server DHCP:
# yum install -y dhcp
2. Upravte konfigurační soubor DHCP (/etc/dhcp/dhcpd.conf
). Zde je ukázkový konfigurační soubor založený na výše uvedeném síťovém diagramu:
# DHCP Server Configuration File
#
#. see /usr/share/doc/dhcp*/dhcpd.conf.example
#
#. see dhcpd.conf(5) man page
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.0;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
range 192.168.2.2 192.168.2.254;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.1.10;
if option architecture-type = 00:07 {
filename "shim.efi";
} else {
filename "pxelinux/pxelinux.0";
}
}
}
subnet 192.168.3.0 netmask 255.255.255.0 {
option routers 192.168.3.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.3.255;
range 192.168.3.2 192.168.3.254;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.1.10;
if option architecture-type = 00:07 {
filename "shim.efi";
} else {
filename "pxelinux/pxelinux.0";
}
}
}
3. Povolte a spusťte dhcpd
služba:
# systemctl enable dhcpd; systemctl start dhcpd
Nastavení TFTP
Server TFTP je potřeba k poskytování:
initrd.img
- „Bootloader“, který se nahraje na disk RAMvmlinuz
- Komprimované bootovatelné linuxové jádro
Nastavení serveru TFTP pro podporu spouštění PXE pro servery UEFI se trochu liší od nastavení pro podporu serverů BIOS.
Níže jsou uvedeny kroky pro nastavení serveru TFTP pro podporu spouštění PXE pro servery UEFI:
1. Nainstalujte server TFTP:
# yum install -y tftp-server
2. Stáhněte si potřebné balíčky z repozitářů RHEL:
# mkdir /root/packages
# cd /root/packages
# yumdownloader shim-version-architecture
# yumdownloader grub2-efi- version-architecture
3. Extrahujte potřebné binární soubory:
# rpm2cpio shim-version-architecture.rpm | cpio -dimv
# rpm2cpio grub2-efi- version-architecture.rpm | cpio -dimv
# cp boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/
# cp boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/
4. Stáhněte obraz ISO a přesuňte jej na server PXE.
5. Připojte obraz ISO:
# mount -t iso9660 /path/iso-file.iso /mnt -o loop,ro
6. Vytvořte podadresář pro ukládání souborů spouštěcích obrazů v rámci /var/lib/tftpboot
:
# mkdir -p /var/lib/tftp/images/rhv-4.3
7. Zkopírujte soubory spouštěcího obrazu:
# cp /mnt/pxeboot/{vmlinuz,initrd.img} /var/lib/tftp/images/rhv-4.3/
8. Vytvořte konfigurační soubor s názvem grub.cfg
v /var/lib/tftpboot
. Zde je ukázkový konfigurační soubor na /var/lib/tftpboot/grub.cfg
:
set default=0
set timeout=60
menuentry 'Install RHVH 4.3' --class fedora --class gnu-linux --class gnu --class os {
linuxefi images/rhv-4.3/vmlinuz inst.ks=http://192.168.1.10/kickstarts/ks.cfg inst.stage2=http:// 192.168.1.10/rhv4.3/ISO quiet
initrdefi images/rhv-4.3/initrd.img
}
9. Povolte a spusťte tftp
služba:
#systemctl enable tftp; systemctl start tftp
Tipy týkající se vytvoření grub.cfg
Vytvoření grub.cfg
může vyžadovat některé další parametry v závislosti na síti. Zde jsou některé běžně používané parametry, které mohou být potřeba v grub.cfg
:
rd.net.timeout.carrier=60
Pokud je tato možnost nastavena, dhclient
je voláno pomocí -timeout
, takže je užitečné, pokud jsou odpovědi serveru DHCP zpožděny:
ip=device-name:dhcp
To je užitečné v případě, že server, který má být instalován, má více rozhraní a pouze jedno je vyhrazeno pro zavádění PXE.
Další možnosti najdete na stránce manuálu pro příkazový řádek Dracut.
Zabalení
Nastavení systému PXE je poněkud zdlouhavý proces, takže příští týden budeme pokračovat druhou částí. V tomto okamžiku budete mít funkční PXE server, DHCP server nakonfigurovaný pro doručování IP adres do PXE zaváděných systémů a TFTP server pro dodání bootovatelného systému a ISO obrazů.
Ve druhé části budu pokračovat v nastavení PXE tím, že vám ukážu, jak nastavit HTTP server, soubor Kickstart, hostitelský firewall a síť. Diskutuji také o odstraňování problémů s nastavením PXE a zabývám se některými možnostmi automatizace.
[ Potřebujete se dozvědět více o správě systému Linux? Absolvujte kurz správy systému Red Hat. ]