Este artículo es la segunda parte de dos en una serie corta. En caso de que te lo hayas perdido, asegúrate de leer el primer artículo, Cómo configurar el arranque PXE para hardware UEFI .
En el primer artículo, creó un servidor PXE en funcionamiento, un servidor DHCP configurado para entregar direcciones IP a sistemas con arranque PXE y un servidor TFTP para entregar un sistema de arranque e imágenes ISO. Este artículo continúa con la tarea de terminar su entorno e incluye algunos consejos para la resolución de problemas cuando algo sale mal.
Configuración HTTP
Se necesita un servidor HTTP para proporcionar al nuevo servidor el Kickstart
archivo, así como el sistema operativo que se instalará. Es posible proporcionar estos archivos a través de HTTPS, pero para la mayoría de los servidores nuevos, se usa HTTP para simplificar.
Estos son los pasos para configurar el servidor HTTP:
1- Instala el HTTP
servidor:
# yum install -y httpd
2- Monte la imagen ISO de Red Hat Virtualization Host (si no está montada):
# mount -t iso9660 /path/iso-file.iso /mnt -o loop,ro
3- Copie la imagen de Squash y los archivos ISO en las ubicaciones de destino:
# mkdir /var/www/html/rhv4.3/{ISO,image}
# cp -a /mnt /var/www/html/rhv4.3/ISO
# cp /mnt/Packages/redhat-virtualization-host-image-update* /tmp
# rpm2cpio redhat-virtualization-host-image-update* | cpio -idmv
# cp /tmp/usr/share/redhat-virtualization-host-version_number_version.squashfs.img /var/www/html/rhv4.3/image
4- Copia el Kickstart
archivo a la ubicación de destino:
# mkdir /var/www/html/kickstarts/
# vi /var/www/html/kickstarts/ks.cfg 🡪 Create a new file called ks.cfg
5- Habilita e inicia el httpd
servicio:
#systemctl enable httpd; systemctl start httpd
Archivo Kickstart
Aquí hay un ejemplo de Kickstart
archivo que se puede utilizar para instalar el sistema operativo RHVH. Red Hat recomienda encarecidamente utilizar la opción "Configurar automáticamente el porcionado" en el destino de la instalación.
lang en_US
keyboard us
eula --agreed
rootpw Redhat --plaintext
#platform x86, AMD64, or Intel EM64T
reboot
text
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
liveimg --url=http:// 192.168.1.10/rhv4.3/image/redhat-virtualization-host-version_number_version.squashfs.img
clearpart --drives=sda --all
ignoredisk --only-use=sda
autopart --type=thinp
%post --erroronfail
nodectl init
%end
Observaciones:
1- Red Hat proporciona la siguiente URL y se puede utilizar para crear un Kickstart
personalizado archivo:
[https://access.redhat.com/labs/kickstartconfig/](https://access.redhat.com/labs/kickstartconfig/)
2- En el %post
sección del Kickstart
archivo, se pueden agregar comandos de Linux para configurar las direcciones IP estáticas para el ovirtmgmt
así como el hostname
.
Opciones de automatización
Este procedimiento es adecuado para instalar varios servidores, pero requiere cambios manuales. Sin embargo, se puede automatizar completamente de diferentes maneras.
La automatización está fuera del alcance de este artículo, pero aquí se mencionarán dos opciones diferentes para la automatización en un nivel alto:
Uso de Ansible para automatizar el encendido de los servidores
La mayoría de los proveedores de HW ahora tienen su Ansible
módulos para recuperar diferentes detalles sobre los servidores, así como para encenderlos y apagarlos, por lo que para automatizar la instalación del sistema operativo, necesitamos crear un libro de jugadas de Ansible para hacer lo siguiente:
- Juego 1:Crear plantilla Jinja2 para el
Kickstart
archivo donde la IP estática y el nombre de host se reemplazan correctamente en la sección de publicación, usando un archivo variable que asigna la dirección MAC de la interfaz PXE a la IP estática y el nombre de host para cada servidor, luego inserta elKickstart
archivo a la ubicación relevante en el servidor HTTP. - Juego 2:Encienda el servidor necesario utilizando la dirección MAC de la interfaz PXE.
- Juego 3:sondee el servidor recién instalado usando la IP estática antes de pasar a otro servidor para instalarlo.
Ventajas:
- No se necesita ninguna actividad manual aparte de actualizar el archivo de variables en caso de nuevos servidores.
- Esta opción requiere integración con la API de administración de hardware.
- Esta opción puede instalar un sistema operativo en un servidor a la vez (solo puede tener un archivo kickstart alojado en el servidor http a la vez).
Uso de Ansible para publicar la configuración de los hosts después de instalar el sistema operativo
Aquí en el dhcpd.conf
codificamos la dirección IP que se asignará para cada dirección MAC de un nuevo servidor en la red de aprovisionamiento. A continuación, creamos un archivo de inventario que incluye estas direcciones IP, además de crear un archivo variable que contiene el nombre de host y la dirección IP estática para cada servidor que está asignado a su dirección IP en la red de aprovisionamiento. Finalmente, cree una reproducción de Ansible para configurar el servidor después de instalar el sistema operativo.
Ventajas:
- Sin dependencia de los módulos Ansible del proveedor de hardware.
- Se pueden configurar varios servidores en paralelo.
- No completamente automatizado como el
dhcpd.conf
debe modificarse, así como agregar las variables para nuevos servidores. Además, los servidores deben encenderse manualmente.
[ ¿Necesita más información sobre Ansible? Realice un curso gratuito de descripción técnica de Red Hat. Ansible Essentials:Simplicidad en la descripción técnica de la automatización ]
Firewalld y configuración de red
Si hay cortafuegos entre los servidores PXE y las redes de aprovisionamiento, se debe permitir el tráfico TFTP y HTTP entrante desde las redes de aprovisionamiento hacia los servidores PXE. También se debe permitir el tráfico ICMP desde los servidores PXE hacia las redes de aprovisionamiento (los servidores nuevos deben poder hacer ping desde el servidor DHCP).
El tráfico SSH entrante desde las redes de aprovisionamiento hacia los servidores PXE debe estar habilitado para la resolución de problemas, como se explica en la siguiente sección.
Además, vincular la interfaz PXE en los nuevos servidores complica la configuración y no es necesario.
Desde los servidores PXE, los servicios DHCP, TFTP y HTTP deben estar habilitados por firewalld
. Suponiendo que los servicios DHCP, TFTP y HTTP están todos ubicados en el mismo servidor, se debe ejecutar el siguiente comando:
# firewall-cmd --permanent --add-service=http --add-service=dhcp --add-service=tftp
# firewall-cmd –reload
Solución de problemas
Las configuraciones de PXE requieren un poco de esfuerzo al principio, y la solución de problemas puede ser un problema porque no podemos hacer mucho en los nuevos servidores porque todavía no tienen un sistema operativo. Aquí hay algunos consejos que pueden ayudar en la resolución de problemas:
- Compruebe que se puede acceder al servidor a través de la IP DHCP. Esto se puede hacer encontrando la dirección IP DHCP relevante en
/var/lib/dhcpd/dhcpd.leases
(o usando cualquiera de los scripts de Python disponibles en público para analizar este archivo) y luego haga ping. - Usar
tcpdump
en los servidores PXE para ayudar en la resolución de problemas. - Recopilación de
/run/initramfs/rdsosreport.txt
iniciar sesión en caso de que falle la instalación del servidor.
Esta es la parte más complicada en la resolución de problemas. Si la instalación falla, no tendrá ninguna red para transferir este archivo y el soporte de Red Hat no podrá ayudarlo sin este archivo.
Hay muchas formas de recopilar este archivo, pero la forma más sencilla es la siguiente:
- Inicie el nuevo servidor desde RHEL 7 iso.
- Elija el
Rescue
opción. - Presiona
Shift+F2
para obtener el indicador de shell. - Usar
fdisk
para crear una nueva partición en/dev/sda
de tipo Linux. - Desmontar la ISO.
- Reiniciar el servidor.
- Una vez que falla la instalación y se encuentra en el indicador de línea de comandos de Dracut, haga lo siguiente:
#mkdir /mnt
#mount /dev/sda1 /mnt
#cp /run/initramfs/rdsosreport.txt /dev/sda1
#umount /dev/sda1
- Reinicie el servidor nuevamente y repita los pasos del 1 al 3.
- Montar
/dev/sda1
#mkdir /mnt
#mount /dev/sda1 /mnt
- Aquí tienes dos opciones:
- Obtenga una dirección IP DHCP usando:
#dhclient
#scp /mnt/rdsosreport.txt [email protected]:/root
- Monte un directorio en su computadora portátil como una partición en su nuevo servidor y copie el
rdsosreport.txt
a esta partición.
Conclusión
Felicitaciones por llegar a este punto. Ahora tiene un sistema PXE en funcionamiento que puede implementar nuevos hosts RHV. Recuerde consultar la sección de solución de problemas, si todo no funciona como se esperaba. También debe completar cada paso tal como está escrito para llegar con éxito a este punto. Revisa tu trabajo porque hay muchos pasos detallados. Buena suerte con tu nuevo entorno.
Referencias
- Hosts de instalación para Red Hat Virtualization
- Preparación para una instalación de red