GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare l'avvio PXE per l'hardware UEFI

L'implementazione di Red Hat Virtualization (RHV) in reti diverse richiede una sorta di automazione per l'installazione di nuovi host RHV. È particolarmente utile automatizzare il processo quando ci sono lievi differenze tra diversi host nella stessa rete.

In questo articolo, ti guiderò attraverso il processo di progettazione e configurazione di un Preboot Execute Environment (PXE) che include la configurazione di un server PXE, la configurazione di un server DHCP e l'installazione di un server TFTP. La configurazione di un ambiente di avvio PXE non è particolarmente difficile, ma richiede più passaggi critici e ogni passaggio contiene molti dettagli.

Progettazione

La configurazione di un server PXE per il provisioning di farm di server diversi ubicati in reti diverse è vantaggiosa, soprattutto se intendi automatizzare il provisioning in un secondo momento.

In questa configurazione, configuriamo un server PXE e due farm di server diversi. La rete della farm di ciascun server dispone della propria rete PXE dedicata (denominata "Rete di provisioning" in questo articolo), mentre il server PXE stesso non si trova in nessuna di queste reti.

Di seguito è riportato il diagramma di rete con intervalli IP di esempio:

Questo design ottiene quanto segue:

  1. Questa configurazione è più sicura rispetto all'utilizzo di normali reti di gestione (ad es. ovirtmgmt).
  2. Questa configurazione protegge le reti di gestione dalla tempesta di trasmissione che potrebbe essere causata dalle richieste DHCP (Dynamic Host Configuration Protocol).
  3. I server PXE devono raggiungere un server Satellite o Internet tramite un'interfaccia DMZ o tramite un server proxy per scaricare i pacchetti necessari. Avere i server PXE al di fuori delle reti di fornitura protegge queste reti dall'essere compromesse.

Presupposti

Questo articolo si basa sui seguenti presupposti per motivi di semplicità:

1. La configurazione PXE (DHCP, Trivial File Transfer Protocol (TFTP) e Hypertext Transfer Protocol (HTTP)) è ospitata su un unico server, sebbene ciò non sia necessario.

L'installazione del sistema operativo (OS) su un server segue l'ordine nell'immagine seguente:

2. Il server PXE può raggiungere Internet tramite un server proxy e, in caso contrario, viene utilizzato un server Satellite.

3. Il server PXE è configurato su Red Hat Enterprise Linux (RHEL) 7.x.

Sistema operativo server PXE

Il server PXE è installato su un server con quattro CPU core e quattro GB di memoria, sebbene i server con specifiche inferiori possano funzionare.

Il server dispone di una scheda di interfaccia di rete (NIC) che viene utilizzata per tutti i tipi di traffico, sebbene sia possibile disporre di interfacce di rete diverse se è necessaria la segregazione della rete.

L'immagine ISO RHEL7.6 viene utilizzata per installare il sistema operativo, con l'opzione di installazione minima.

Dopo l'installazione è necessaria la registrazione del sistema operativo e l'abilitazione dei relativi repository:

1. Modifica il rhsm file:

# vi /etc/rhsm/rhsm.conf

2. Nella sezione seguente aggiungi i dettagli rilevanti del server proxy:

#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. Salva il file.

4. Registrati e allega il sistema:

#subscription-manager register --auto-attach
username: your-rhsm-username
password: your-rhsm-password

5. Abilitazione dei repository necessari:

# subscription-manager repos --enable=rhel-7-server-rh-common-rpms --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms

Configurazione DHCP

Di seguito sono riportati i passaggi per configurare il DHCP per supportare l'avvio PXE per i server UEFI:

1. Installa il server DHCP:

# yum install -y dhcp

2. Modificare il file di configurazione DHCP(/etc/dhcp/dhcpd.conf ). Ecco un file di configurazione di esempio basato sul diagramma di rete sopra:

# 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. Abilita e avvia il dhcpd servizio:

# systemctl enable dhcpd; systemctl start dhcpd

Configurazione TFTP

Il server TFTP è necessario per fornire:

  1. initrd.img - Il "boot loader" che verrà caricato su un disco RAM
  2. vmlinuz - Un kernel Linux avviabile compresso

La configurazione del server TFTP per supportare l'avvio PXE per i server UEFI è leggermente diversa dalla configurazione per supportare i server BIOS.

Di seguito sono riportati i passaggi per configurare un server TFTP per supportare l'avvio PXE per i server UEFI:

1. Installa il server TFTP:

# yum install -y tftp-server

2. Scarica i pacchetti necessari dai repository RHEL:

# mkdir /root/packages

# cd /root/packages

# yumdownloader shim-version-architecture

# yumdownloader grub2-efi- version-architecture

3. Estrai i file binari necessari:

# 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. Scarica l'immagine ISO e spostala sul server PXE.

5. Monta l'immagine ISO:

# mount -t iso9660 /path/iso-file.iso /mnt -o loop,ro

6. Crea una sottodirectory per archiviare i file immagine di avvio all'interno di /var/lib/tftpboot :

# mkdir -p /var/lib/tftp/images/rhv-4.3

7. Copia i file dell'immagine di avvio:

# cp /mnt/pxeboot/{vmlinuz,initrd.img} /var/lib/tftp/images/rhv-4.3/

8. Crea un file di configurazione denominato grub.cfg in /var/lib/tftpboot . Ecco un file di configurazione di esempio in /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. Abilita e avvia il tftp servizio:

#systemctl enable tftp; systemctl start tftp

Suggerimenti sulla creazione di grub.cfg

Creazione di un grub.cfg potrebbe richiedere alcuni parametri aggiuntivi dipendenti dalla rete. Ecco alcuni parametri comunemente usati che potrebbero essere necessari in grub.cfg :

rd.net.timeout.carrier=60

Se questa opzione è impostata, dhclient viene chiamato con -timeout , quindi è utile se le risposte del server DHCP sono in ritardo:

ip=device-name:dhcp

Questo è utile nel caso in cui il server da installare abbia più interfacce e solo una sia dedicata al boot PXE.

Per ulteriori opzioni, puoi fare riferimento alla pagina man per la riga di comando di Dracut.

Conclusione

È un processo piuttosto lungo per impostare un sistema PXE, quindi continueremo la prossima settimana con la seconda parte. A questo punto, avrai un server PXE funzionante, un server DHCP configurato per fornire indirizzi IP ai sistemi avviati PXE e un server TFTP per fornire un sistema avviabile e immagini ISO.

Nella seconda parte, continuerò con la configurazione di PXE mostrandoti come configurare il server HTTP, il file Kickstart, il firewall basato su host e la rete. Discuto anche della risoluzione dei problemi della configurazione di PXE e di alcune opzioni di automazione.

[ Hai bisogno di saperne di più sull'amministrazione del sistema Linux? Segui un corso di amministrazione del sistema Red Hat. ]


Linux
  1. Come avviare in rete Pxe Ubuntu Server 14.04 utilizzando Nfs?

  2. Come configurare le chiavi di dominio per la posta elettronica su un server dedicato

  3. Come configurare VSFTPD su CentOS 8

  4. Come posso impostare un nick predefinito per le nuove connessioni irssi?

  5. Come impostare il percorso per i comandi sudo

Come configurare SSH su CentOS e RHEL

Come configurare un server TeamSpeak su CentOS 7

Come configurare un server Minecraft su CentOS 7

Come configurare Apache come server proxy frontend per Node.js CentOS 8

Come impostare le limitazioni per la posta in uscita?

Come configurare un server domestico