Búsqueda de sitios web

Instalaciones automatizadas de múltiples distribuciones de RHEL/CentOS 7 utilizando el servidor PXE y archivos Kickstart


Este artículo es una extensión de mi configuración anterior del entorno de arranque PXE en RHEL/CentOS 7 y se centra en cómo se pueden realizar instalaciones automáticas de RHEL/CentOS 7, sin la necesidad de la intervención del usuario, en máquinas sin cabeza usando un archivo Kickstart leído desde un servidor FTP local.

La preparación del entorno para este tipo de instalación ya se procesó en el tutorial anterior sobre la configuración del servidor PXE; la única clave que falta, un archivo Kickstart, se analizará más adelante en este tutorial.

La forma más sencilla de crear un archivo Kickstart personalizado que pueda utilizar posteriormente para múltiples instalaciones es realizar manualmente una instalación de RHEL/CentOS 7 y copiar, una vez finalizado el proceso de instalación, el archivo denominado anaconda-ks.cfg, que reside en la ruta /root, a una ubicación de red accesible y especifique el parámetro de inicio initrd inst.ks= protocolo://ruta/a/kickstart.fileto archivo de configuración del menú PXE.

Requisitos

  1. Configurar un servidor de arranque de red PXE en RHEL/CentOS 7

Este tutorial, y la configuración del archivo Kickstart, solo cubre la instalación mínima de RHEL/CentOS 7 sin una instalación gráfica, básicamente el archivo Kikstart resultó del procedimiento de instalación mínima anterior de RHEL/CentOS 7.

  1. Procedimiento de instalación mínima de CentOS 7
  2. Procedimiento de instalación mínima de RHEL 7

Si necesita un archivo Kickstart que cubra la instalación GUI y una tabla de particiones específica, le sugiero que primero realice una
personalizable Instalación gráfica de RHEL/CentOS 7 en un entorno virtualizado y uso del archivo Kickstart resultante para futuras instalaciones de GUI.

Paso 1: cree y copie el archivo Kiskstart a la ruta del servidor FTP

1. En el primer paso, vaya al directorio /root de su máquina PXE y copie el archivo llamado anaconda-ks.cfg a Vsftpd. ruta predeterminada del servidor (/var/ftp/pub) – también la ruta para el origen de instalación del espejo local RHEL/CentOS 7 configurado en el arranque de red PXE Servidor: Paso 6 (consulte el artículo de configuración del servidor PXE más arriba).

cp anaconda-ks.cfg  /var/ftp/pub/
chmod 755 /var/ftp/pub/anaconda-ks.cfg

2. Una vez copiado el archivo, ábralo con su editor de texto favorito y realice los siguientes cambios mínimos.

nano /var/ftp/pub/anaconda-ks.cfg
  1. Reemplace –url con la ubicación de origen de su instalación de red: Ej: –url=ftp://192.168.1.25/pub/
  2. Reemplace network –bootproto con dhcp en caso de que haya configurado manualmente las interfaces de red durante el proceso de instalación.

A continuación se presenta un extracto de cómo podría verse un archivo Kickstart.

#version=RHEL7
System authorization information
auth --enableshadow --passalgo=sha512

Use network installation
url --url="ftp://192.168.1.25/pub/"
Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
System language
lang en_US.UTF-8

Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
System services
services --enabled="chronyd"
System timezone
timezone Europe/Bucharest --isUtc
System bootloader configuration
bootloader --location=mbr --boot-drive=sda
Partition clearing information
clearpart --none --initlabel
Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos

%packages
@compat-libraries
@core
wget
net-tools
chrony

%end

Para obtener opciones y sintaxis de archivos Kickstart más avanzadas, no dude en leer la documentación de Kickstart de RHEL 7.

3. Antes de intentar utilizar este archivo para procedimientos de instalación, es importante que verifique el archivo usando el comando ksvalidator incluido en el paquete Pykickstart, especialmente si se hubieran realizado personalizaciones manuales. Instale el paquete Pykickstart y verifique su archivo Kickstart emitiendo los siguientes comandos.

yum install pykickstart
ksvalidator /var/ftp/pub/anaconda-ks.cfg

4. La última verificación es para garantizar que se pueda acceder al archivo Kickstart desde la ubicación de red especificada; en este caso, la Fuente de instalación del espejo local FTP definida por la siguiente dirección URL.

ftp://192.168.1.25/pub/

Paso 2: Agregar la etiqueta de instalación Kikstart a la configuración del servidor PXE

5. Para acceder a la opción Instalación automática de RHEL/CentOS 7 desde el Menú PXE, agregue la siguiente etiqueta a la configuración del archivo predeterminado de PXE.

nano /var/lib/tftpboot/pxelinux.cfg/default

Extracto de la etiqueta del menú PXE.

Para RHEL 7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Para CentOS 7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password

Como puede ver en este ejemplo, la instalación automática se puede supervisar a través de VNC con contraseña (reemplace la contraseña de VNC en consecuencia) y el archivo Kickstart se encuentra localmente en el servidor PXE y está especificado por initrd parámetro de arranque inst.ks= Ubicación de la red FTP (reemplace el protocolo y la ubicación de la red en consecuencia si está utilizando otros métodos de instalación como HTTP, HTTPS, NFS o fuentes de instalación remotas y archivos Kickstart).

Paso 3: Configurar clientes para instalar automáticamente RHEL/CentOS 7 usando Kickstart

6. Para instalar automáticamente RHEL/CentOS 7 y supervisar todo el proceso de instalación, especialmente en servidores sin cabeza, instruya a su máquina cliente desde BIOS
para iniciar desde la red, espere unos segundos y luego presione las teclas F8 e Enter, luego seleccione la opción Kickstart del menú PXE.

7. Después de que el kernel y el ramdisk cargan y detectan el archivo Kickstart, el proceso de instalación se inicia automáticamente sin necesidad de ninguna intervención por parte del usuario. Si desea ver el proceso de instalación, conéctese con un cliente VNC desde una computadora diferente usando la dirección que le proporciona el instalador y disfrute de la vista.

8. Después de que finalice el proceso de instalación, inicie sesión en el sistema recién instalado con la cuenta root y la contraseña utilizada en la instalación anterior (la
uno que copió el archivo Kickstart) y cambie la contraseña raíz de su cliente ejecutando el comando passwd.

¡Eso es todo! Las instalaciones Kickstart automático ofrecen una gran cantidad de beneficios para los administradores de sistemas en entornos en los que tienen que realizar instalaciones del sistema en varias máquinas al mismo tiempo, en un corto período de tiempo, sin la necesidad de interferir manualmente con el proceso de instalación.