Instalación por lotes de PXE y Kickstart sin supervisión

Descripción general de PXE

PXE (Pre-Boot Execution Environment) es una tecnología de arranque en red desarrollada por Inter company. Funciona en modo Cliente / Servidor, permitiendo a los clientes descargar imágenes de arranque desde servidores remotos a través de la red y cargar archivos de instalación o todo el sistema operativo.

Ventajas de la implementación por lotes de PXE

Escala: Ensamble varios servidores al mismo tiempo.
Automatización: Instale el sistema y configure varios servicios.
Realización remota: No se requieren CD, U disk y otros medios de instalación

Requisitos para construir un sistema de red PXE

La tarjeta de red del cliente debe admitir el protocolo PXE (chip BOOTROM integrado) y la placa base admite el arranque de red. Por lo general, la mayoría de los servidores lo admiten. Solo necesita permitir el arranque desde la red o LAN en la configuración del BIOS.
Hay un servidor DHCP en la red para asignar automáticamente direcciones a los clientes y especificar la ubicación del archivo de inicio.
El servidor debe proporcionar la descarga del archivo de imagen de arranque a través del servicio TFTP (Protocolo simple de transferencia de archivos).

Cree un servidor de instalación remota PXE

El servidor de instalación remota PXE integra la fuente de instalación de CentOS7, el servicio TFTP, el servicio DHCP y puede enviar el programa de arranque PXE, el kernel de Linux, el menú de arranque y otros datos al cliente, además de proporcionar archivos de instalación.

Instale, modifique e inicie el servicio
TFTP TFTP (Trivial File Transfer Protocol), un protocolo para la transferencia simple de archivos entre el cliente y el servidor basado en el protocolo UDP, es adecuado para aplicaciones de transferencia de archivos pequeños. El servicio TFTP es administrado por el servicio xinetd de manera predeterminada, usando el puerto UDP 69
xinetd es una nueva generación de programa de servicio de demonio de red, también llamado super servidor, comúnmente utilizado para administrar una variedad de servicios de Internet livianos.

yum -y install tftp-server xinetd #Instalar y habilitar el servicio TFTP
Inserte la descripción de la imagen aquí
vim /etc/xinetd.d/tftp #Modificar el archivo de configuración del servicio TFTP
Inserte la descripción de la imagen aquí

protocol = udp #TFTP默认使用UDP协议
wait = no #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args = -s /var/lib/tftpboot #指定TFTP根目录(引导文件的存储路径)
disable = no #no表示开启TFTP服务

systemctl start tftp #开启ftp服务
systemctl enable tftp #开启ftp服务开机自启
systemctl start xinetd #开启xinetd服务
systemctl enable xinetd #开启xinetd服务开机自启

Inserte la descripción de la imagen aquí

Instalar, modificar y habilitar el servicio
DHCP DHCP (Protocolo de configuración dinámica de host, protocolo de configuración dinámica de host) es un protocolo de red de red de área local que utiliza el protocolo UDP para funcionar.

yum -y install dhcp #安装dhcp软件包

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #将dhcp配置模板复制到dhcp配置文件中
vim /etc/dhcp/dhcpd.conf #修改DHCP服务的配置文件

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

ddns-update-style none; #禁用 DNS 动态更新
next-server 192.168.78.11; #指定 TFTP 服务器的地址
filename “pxelinux.0”; #指定要下载的 PXE 引导程序的文件

subnet 192.168.78.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.78.100 192.168.78.200; #设置地址池
option routers 192.168.78.11; #默认网关地址指向TFTP服务器的IP地址
}

Inserte la descripción de la imagen aquí

systemctl start dhcpd #开启dhcp服务
systemctl enable dhcpd #开启dhcp服务开机自启

Prepare el kernel de Linux e inicialice el archivo de imagen

mount /dev/sr0 /mnt

Inserte la descripción de la imagen aquí

cd /mnt/images/pxeboot

Inserte la descripción de la imagen aquí

cp vmlinuz /var/lib/tftpboot/ #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/ #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

Inserte la descripción de la imagen aquí
Preparación del cargador de arranque PXE para la instalación

yum -y install syslinux #PXE引导程序由软件包 syslinux 提供

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制 PXE引导程序 到TFTP根目录下

Inserte la descripción de la imagen aquí
Instale el servicio FTP, prepare la fuente de instalación de CentOS 7

yum -y install vsftpd #安装vsftpd服务

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

mkdir /var/ftp/centos7 #在ftp根目录下创建目录centos7

Inserte la descripción de la imagen aquí

cp -rf /mnt/* /var/ftp/centos7/ #将镜像文件强制复制到centos7目录中,可加&让它自己后台运行

Inserte la descripción de la imagen aquí

systemctl start vsftpd #开启vsftpd服务
systemctl enable vsftpd #开启vsftpd服务开机自启

Inserte la descripción de la imagen aquí
Configurar el archivo del menú de inicio El archivo
del menú de inicio predeterminado se encuentra en el subdirectorio pxelinux.cfg del directorio raíz TFTP, y el nombre del archivo es el predeterminado

mkdir /var/lib/tftpboot/pxelinux.cfg

Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí

default auto #指定默认入口名称
prompt 1 #设置是否等待用户选择,“1”表示等待用户控制

label auto #图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.184.10/centos7

label linux text #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.184.10/centos7

label linux rescue #救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.184.10/centos7

systemctl stop firewalld.service #关闭系统防火墙
setenforce 0 #关闭系统安全机制

Inserte la descripción de la imagen aquí

注意:使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;
若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式。

Inserte la descripción de la imagen aquí

Kickstart desatendido

Instale el archivo de respuesta

yum install -y system-config-kickstart #安装system-config-kickstart 工具

Inserte la descripción de la imagen aquí
Abra la ventana "Programa de configuración de Kickstart"

通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开
或
执行 “system-config-kickstart” 命令打开

或直接执行 “system-config-kickstart” 命令打开

Inserte la descripción de la imagen aquí
Configurar las opciones de kickstart

基本配置
默认语言设为“中文(简体)”
时区设为“Asia/Shanghai”
设置root密码
高级配置中勾选“安装后重启”

Inserte la descripción de la imagen aquí

安装方法
选FTP
FTP服务器:ftp://192.168.12.10
FTP目录:centos7

Inserte la descripción de la imagen aquí

引导装载程序选项
“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序

Inserte la descripción de la imagen aquí

分区信息
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点:/boot,文件系统类型:xfs,固定大小:500M
文件系统类型:swap,固定大小:4096M
挂载点:/home,文件系统类型:xfs,固定大小:4096M
挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间
注意:各个分区分配大小自己设定,swap分区属于文件系统类型,其它的在挂载点中寻找

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

网络配置:
添加网络设备“ens33”
网络类型设为“DHCP”

Inserte la descripción de la imagen aquí

防火墙配置:
禁用 SELinux、禁用防火墙

Inserte la descripción de la imagen aquí

安装后脚本:
勾选“使用解释程序”:/bin/bash
mkdir /etc/yum.repos.d/repo.bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
echo ‘[local]
name=local
baseurl=ftp://192.168.12.10/centos7
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/local.repo

Inserte la descripción de la imagen aquí

Guarde el archivo de respuesta automática

选择“Kickstart 配置程序”窗口的“文件”–>“保存”命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg

Inserte la descripción de la imagen aquí
Configurar los paquetes que deben instalarse

可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到/root/ks.cfg文件中,只需要复制%packages 到%end 部分即可

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

如要求最小化安装,可复制下面内容:
注意:vim ks.cfg
%packages
@^minimal
%end

把/root/ks.cfg 复制到/var/ftp/目录中,开机引导读取的是/var/ftp内的内容

Inserte la descripción de la imagen aquí

注意:将/root/anaconda-ks.cfg 的软件包安装脚本复制到/var/ftp/ks.cfg以实现桌面安装
注意:先后顺序,开机引导读取的是/var/ftp内的内容,不是/root,/root仅仅是暂时保存的对方,所以,修改完再复制过去,或者直接复制过去再修改。

Edite el archivo del menú de inicio predeterminado, agregue los parámetros de inicio de ks

vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0 #设置是否等待用户选择,“0”表示不等待用户控制

label auto
kernel vmlinuz #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg #添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

Inserte la descripción de la imagen aquí

当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,不需要手工干预

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/MQ107/article/details/114534482
Recomendado
Clasificación