GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit spouštění PXE pro hardware UEFI

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:

  1. Toto nastavení je bezpečnější než použití běžných sítí pro správu (tj. ovirtmgmt).
  2. 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).
  3. 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í:

  1. initrd.img - „Bootloader“, který se nahraje na disk RAM
  2. vmlinuz - 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. ]


Linux
  1. Jak nastavit DomainKeys pro e-mail na dedikovaném serveru

  2. Jak vypsat a nastavit kontext SELinux pro server MySQL

  3. Jak nastavit cestu pro příkazy sudo

  1. Jak Pxe Network Boot Ubuntu Server 14.04 pomocí Nfs?

  2. Jak nastavit VSFTPD na CentOS 8

  3. Jak nastavím výchozí přezdívku pro nová připojení irssi?

  1. Jak nastavit Raspberry Pi jako DNS server

  2. Jak nastavit server OpenVPN na Ubuntu 18.04

  3. Jak nastavit umask pro systémového uživatele?