GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar el arranque PXE para hardware UEFI

Tener Red Hat Virtualization (RHV) implementado en diferentes redes requiere algún tipo de automatización para instalar nuevos hosts RHV. Es particularmente útil para automatizar el proceso cuando existen ligeras diferencias entre diferentes hosts en la misma red.

En este artículo, lo guío a través del proceso de diseño y configuración de un entorno de ejecución de prearranque (PXE) que incluye la configuración de un servidor PXE, la configuración de un servidor DHCP y la instalación de un servidor TFTP. Configurar un entorno de arranque PXE no es particularmente difícil, pero requiere varios pasos críticos y cada paso contiene muchos detalles.

Diseño

Es beneficioso configurar un servidor PXE para aprovisionar diferentes granjas de servidores ubicadas en diferentes redes, especialmente si va a automatizar el aprovisionamiento más adelante.

En esta configuración, configuramos un servidor PXE y dos granjas de servidores diferentes. La red de la granja de servidores de cada servidor tiene su propia red PXE dedicada (llamada "Red de aprovisionamiento" en este artículo), mientras que el servidor PXE en sí no está en ninguna de estas redes.

A continuación se muestra el diagrama de red con rangos de IP de muestra:

Este diseño logra lo siguiente:

  1. Esta configuración es más segura que usar redes de administración regulares (es decir, ovirtmgmt).
  2. Esta configuración protege las redes de administración de la tormenta de transmisión que pueden causar las solicitudes del Protocolo de configuración dinámica de host (DHCP).
  3. Los servidores PXE deben comunicarse con un servidor Satélite o Internet a través de una interfaz DMZ o de un servidor proxy para descargar los paquetes necesarios. Tener los servidores PXE fuera de las redes de aprovisionamiento protege estas redes para que no se vean comprometidas.

Suposiciones

Este artículo se basa en las siguientes suposiciones en aras de la simplicidad:

1. La configuración de PXE (DHCP, Protocolo trivial de transferencia de archivos (TFTP) y Protocolo de transferencia de hipertexto (HTTP)) está alojada en un único servidor, aunque no es necesario.

La instalación del sistema operativo (SO) en un servidor sigue el orden de la siguiente imagen:

2. El servidor PXE puede conectarse a Internet a través de un servidor proxy y, de lo contrario, se utiliza un servidor satelital.

3. El servidor PXE está configurado en Red Hat Enterprise Linux (RHEL) 7.x.

Sistema operativo de servidor PXE

El servidor PXE se instala en un servidor con CPU de cuatro núcleos y cuatro GB de memoria, aunque pueden funcionar servidores con especificaciones inferiores.

El servidor tiene una tarjeta de interfaz de red (NIC) que se usa para todo tipo de tráfico, aunque puede tener diferentes interfaces de red si es necesaria la segregación de red.

La imagen ISO RHEL7.6 se usa para instalar el sistema operativo, con la opción de instalación mínima.

Después de la instalación, se necesita el registro del sistema operativo y la habilitación de los repositorios correspondientes:

1. Edite el rhsm archivo:

# vi /etc/rhsm/rhsm.conf

2. En la sección a continuación, agregue los detalles relevantes del servidor 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. Guarde el archivo.

4. Regístrate y adjunta el sistema:

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

5. Habilitación de los repositorios necesarios:

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

Configuración DHCP

A continuación se muestran los pasos para configurar DHCP para admitir el arranque PXE para servidores UEFI:

1. Instale el servidor DHCP:

# yum install -y dhcp

2. Ajuste el archivo de configuración de DHCP (/etc/dhcp/dhcpd.conf ). Aquí hay un archivo de configuración de muestra basado en el diagrama de red anterior:

# 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. Habilite e inicie dhcpd servicio:

# systemctl enable dhcpd; systemctl start dhcpd

Configuración TFTP

El servidor TFTP es necesario para proporcionar:

  1. initrd.img - El "cargador de arranque" que se cargará en un disco RAM
  2. vmlinuz - Un kernel de Linux de arranque comprimido

La configuración del servidor TFTP para admitir el arranque PXE para servidores UEFI es un poco diferente de la configuración para admitir los servidores BIOS.

A continuación, se muestran los pasos para configurar un servidor TFTP que admita el arranque PXE para servidores UEFI:

1. Instale el servidor TFTP:

# yum install -y tftp-server

2. Descargue los paquetes necesarios de los repositorios de RHEL:

# mkdir /root/packages

# cd /root/packages

# yumdownloader shim-version-architecture

# yumdownloader grub2-efi- version-architecture

3. Extraiga los archivos binarios necesarios:

# 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. Descargue la imagen ISO y muévala al servidor PXE.

5. Montar la imagen ISO:

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

6. Cree un subdirectorio para almacenar archivos de imagen de arranque dentro de /var/lib/tftpboot :

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

7. Copie los archivos de imagen de arranque:

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

8. Cree un archivo de configuración llamado grub.cfg en /var/lib/tftpboot . Aquí hay un archivo de configuración de muestra en /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. Habilite e inicie el tftp servicio:

#systemctl enable tftp; systemctl start tftp

Consejos para crear el grub.cfg

Creando un grub.cfg puede requerir algunos parámetros adicionales dependiendo de la red. Aquí hay algunos parámetros de uso común que pueden ser necesarios en grub.cfg :

rd.net.timeout.carrier=60

Si esta opción está configurada, dhclient se llama con -timeout , por lo que es útil si las respuestas del servidor DHCP se retrasan:

ip=device-name:dhcp

Esto es útil en caso de que el servidor que se instalará tenga varias interfaces y solo una esté dedicada al arranque PXE.

Para obtener más opciones, puede consultar la página de manual de Línea de comandos de Dracut.

Conclusión

Es un proceso algo largo configurar un sistema PXE, por lo que continuaremos la próxima semana con la segunda parte. En este punto, tendrá un servidor PXE en funcionamiento, un servidor DHCP configurado para entregar direcciones IP a sistemas arrancados PXE y un servidor TFTP para entregar un sistema arrancable e imágenes ISO.

En la segunda parte, continuaré con la configuración de PXE mostrándole cómo configurar el servidor HTTP, el archivo Kickstart, el firewall basado en host y la red. También analizo la solución de problemas de configuración de PXE y cubro algunas opciones de automatización.

[ ¿Necesita aprender más sobre la administración del sistema Linux? Realice un curso de administración de sistemas de Red Hat. ]


Linux
  1. ¿Cómo Arrancar Ubuntu Server 14.04 en Red con Pxe Usando Nfs?

  2. Cómo configurar VSFTPD en CentOS 8

  3. Cómo enumerar y configurar el contexto de SELinux para el servidor MySQL

  4. ¿Cómo configuro un nick predeterminado para nuevas conexiones irssi?

  5. Cómo establecer la ruta para los comandos sudo

Cómo configurar SSH en CentOS y RHEL

Cómo configurar un servidor TeamSpeak en CentOS 7

Cómo configurar un servidor de Minecraft en CentOS 7

Cómo configurar Apache como servidor proxy frontend para Node.js CentOS 8

¿Cómo establecer limitaciones para el correo electrónico saliente?

Cómo configurar un servidor doméstico