
Imagen de foto76 en FreeDigitalPhotos.net
PXE , significa Entorno de ejecución previo al inicio, le ayudará a instalar un sistema a través de la red sin tener un DVD / CD-ROM. En este método, el cliente se iniciará usando solo su tarjeta de interfaz de red, lo que será muy útil para que los administradores del sistema instalen el sistema operativo en el sistema en el que los dispositivos de DVD/CD no están presentes.
El entorno PXE necesita el servidor DHCP, que proporciona al cliente una dirección IP, otra información de red como el servidor de nombres, la dirección IP o el nombre de host del servidor tftp (que proporciona los archivos necesarios para iniciar el programa de instalación) y la ubicación de los archivos en el servidor tftp.
Se deben realizar los siguientes pasos para prepararse para una instalación PXE:
- Configurar servidor HTTP
- Configurar los archivos en el servidor tftp
- Configurar DHCP.
- Iniciar todos los servicios
- Configuraciones de cortafuegos
- Inicie el cliente y comience la instalación.
1. Instalar servidor PXE:
Instale los siguientes paquetes para configurar el entorno PXE,
# yum -y install httpd xinetd syslinux tftp-server
2. Configurar servidor PXE:
Configurar servidor HTTP:
Aquí usaremos el servidor apache como servidor de red para exportar todo el árbol de instalación de la versión
Ahora, monte la imagen de CentOS 7 en /mnt . Ya tengo una imagen ISO de CentOS 7 en /tmp directorio.
# mount -o loop /tmp/CentOS-7-x86_64-DVD-1503-01.iso /mnt
A continuación, cree un directorio para almacenar paquetes de CentOS.
# mkdir /var/www/centos7
Copie todo el contenido de los archivos de /mnt a /var/www/centos7 .
# cp -a /mnt/* /var/www/centos7/
Establezca los permisos adecuados para el directorio anterior.
# chmod -R 755 /var/www/centos7/
Cree un archivo de configuración de apache para el servidor PXE en /etc/httpd/conf.d/ directorio:
# vi /etc/httpd/conf.d/pxe.conf
Agregue las siguientes líneas:
Alias /centos7 /var/www/centos7/ <Directory /var/www/centos7/> Options Indexes FollowSymLinks Order Deny,Allow Allow from all </Directory>
Guarde y cierre el archivo.
Configurar los archivos en el servidor tftp:
El siguiente paso es copiar los archivos necesarios para iniciar la instalación al servidor tftp para que puedan ser encontrados cuando el cliente los solicite.
Copie todos los archivos de los cargadores de arranque provistos por los paquetes syslinux a /var/lib/tftpboot usando el siguiente comando.
# cp -a /usr/share/syslinux/* /var/lib/tftpboot/
Cree el directorio centos7 y copie el kernel de arranque CentOS 7 y las imágenes initrd desde la ubicación montada en el DVD a la estructura de carpetas centos7.
# mkdir /var/lib/tftpboot/centos7 # cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7 # cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos7
Servidor PXE normalmente lee su configuración desde un archivo predeterminado alojado en una carpeta llamada pxelinux.cfg , cree un directorio de configuración para el servidor PXE:
# mkdir /var/lib/tftpboot/pxelinux.cfg
Ahora, cree el archivo de configuración del servidor PXE en pxelinux.cfg :
# vi /var/lib/tftpboot/pxelinux.cfg/default
Agregue las siguientes líneas:
default menu.c32 prompt 0 timeout 300 ONTIMEOUT 1 menu title ########## CentOS 7 PXE Boot Menu ########## label 1 menu label ^1) Install CentOS 7 menu default kernel centos7/vmlinuz append initrd=centos7/initrd.img method=http://192.168.12.10/centos7 devfs=nomount label 2 menu label ^2) Boot from local drive localboot 0
Edite el archivo /etc/xinetd.d/tftp,
vi /etc/xinetd.d/tftp
Habilite el servidor TFTP. Para hacer eso, cambie “disable=yes” a “no” .
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
Configurar servidor DHCP
Ahora, tenemos que configurar el servidor DHCP para que funcione con el servidor PXE.
Edite el archivo /etc/dhcp/dhcpd.conf ,
# vi /etc/dhcp/dhcpd.conf
Agregue la línea verde al final de su subred. También puede copiar y pegar el contenido a continuación en dhcpd.conf y modificarlo según su entorno de red. Se puede encontrar un tutorial más detallado aquí.
subnet 192.168.12.0 netmask 255.255.255.0 { range 192.168.12.100 192.168.12.200; option domain-name-servers 8.8.8.8, 8.8.4.4; option domain-name "itzgeek.local"; option routers 192.168.12.2; option broadcast-address 192.168.12.255; default-lease-time 600; max-lease-time 7200; filename "pxelinux.0"; }
Iniciar todos los servicios:
Una vez realizada la configuración, reinicie todos los servicios.
# systemctl restart xinetd # systemctl restart httpd # systemctl restart dhcpd
Habilite todos los servicios para que se inicien automáticamente al arrancar el sistema.
# systemctl enable xinetd # systemctl enable httpd # systemctl enable dhcpd
Configuraciones del cortafuegos:
Necesitamos permitir el servicio apache, dhcp y tftp en el firewall. Para hacerlo, ejecute los siguientes comandos.
# firewall-cmd --permanent --add-service=http ## Port 80 # firewall-cmd --permanent --add-service=dhcp ## Port 67 # firewall-cmd --permanent --add-port=69/udp ## Port for TFTP # firewall-cmd --permanent --add-port=69/tcp ## Port for TFTP # firewall-cmd --reload ## Apply rules
3. Inicie el cliente e inicie la instalación:
El cliente puede ser cualquier sistema que tenga la opción de inicio de red habilitada (inicio PXE). Puede habilitar esta opción en la configuración de su Bios presionando una tecla específica durante las operaciones POST del BIOS como se especifica en el manual de la placa base.
La máquina comenzará a arrancar desde la interfaz de red.

Ahora, el sistema intentará obtener una dirección IP automáticamente del servidor DHCP.

Una vez que el sistema obtenga la dirección IP, lo llevará al menú PXE.
Nota:Según nuestra configuración, la opción Instalar CentOS 7 está seleccionada de manera predeterminada y la instalación comenzará automáticamente si no se presiona ninguna tecla en 30 segundos.

Ahora puede continuar con la instalación de CentOS 7.
Eso es todo.
Referencia:
Wiki de CentOS