目录
编辑2.4编辑引导菜单文件default,添加ks引导参数
一、PXE概述
1.PXE介绍
PXE,又称预启动执行环境。是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。
2.PXE批量部署优点
- 规模化:同时装配多台服务器
- 自动化:安装系统、配置各种服务
- 远程实现:不需要光盘、U盘等安装介质
3.搭建pxe网络体系的前提条件
- 客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可。
- 网络中有一台DHCP服务器以便为客户机自动分配地址,指定引导文件位置。
- 服务器要通过TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。
4.PXE工作原理
- pxe客户机向服务器发送DHCP请求,向dhcp服务器请求IP地址;
- DHCP服务器响应pxe客户机,并从地址池中分配IP地址给客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下;
- pxe客户机向TFTP服务器请求获取引导程序文件pxelinux.0;TFTP服务器响应pxe客户端的请求,将共享文件pxelinux.0发送给pxe客户机,客户机执行pxelinux.0文件;
- 客户机向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
- 客户机向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给客户机;
- 客户机向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统;
- 客户机启动Linux内核;
- Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。至此,Client正式进入自动化安装模式开始安装系统直到完成。
二、搭建PXE服务
1.安装并启用TFTP服务
TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合小文件传输。TFTP服务默认由xinetd服务进行管理,使用UDP端口69。xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级internet服务。
yum -y install tftp-server xinetd
##修改TFTP服务配置文件
vim /etc/xinted.d/tftp
socket_type = dgram
protocol = udp #TFTP服务使用UDP协议
wait = no #no表示客户机可以多台一起连接,yes表示只能单台连接
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #指定TFTP根目录(文件存储路径)
disable = no #no表示开启TFTP服务
per_source = 11
cps = 100 2
flags = IPv4
systemctl enable --now tftp #开启服务并设为开机自启
systemctl enable --now xinetd
2. 安装并启用DHCP服务
DHCP服务为pxe客户机从指定IP地址池中分配可以IP。
yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#将配置文件的模板覆盖配置文件
##修改DHCP配置文件
vim /etc/dhcp/dhcpd.conf
ddns-update-style none; #禁用DNS动态更新
next-server 192.168.88.30; #指定TFTP服务器的地址
filename "pxelinux.0"; #指定PXE引导程序的文件名
subnet 192.168.88.0 netmask 255.255.255.0 { #声明分配的网段地址
range 192.168.88.120 192.168.88.150; #设置地址池
option routers 192.168.88.30; #默认网关地址指向TFTP服务器的IP地址
}systemctl enable --now dhcpd
3. 准备linux内核,初始化镜像文件
mount /dev/sr0 /mnt #已挂载可省略,df可以查看挂载情况
cd /mnt/images/pxeboot
cp initrd.img /var/lib/tftpboot/ #复制初始化镜像文件到TFTP根目录下
cp vmlinuz /var/lib/tftpboot/ #复制内核文件到TFTP根目录下
4. 准备PXE引导程序
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制pxe引导程序到TFTP根目录
5. 安装FTP服务,准备centos7安装源
yum -y install vsftpd
mkdir /var/ftp/centos7 #在ftp根目录创建centos7目录
mount /dev/sr0 /var/ftp/centos7/ #将磁盘挂载在目录上
systemctl enable --now vsftpd
6.配置启动菜单文件
默认的启动菜单文件在TFTP根目录的pxelinux.cfg子目录下,文件名为default。
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto #指定默认入口名称
prompt 1 #设置是否等待用户选择,1 表示等待用户控制label auto #图形安装引导入口,label用来定义启动项
kernel vmlinuz #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.88.30/centos7label linux text #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.88.30/centos7label linux rescue #救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.88.30/centos7
7.关闭防火墙,验证pxe网络安装
systemctl stop firewalld #关闭防火墙
setenforce 0
在虚拟机中虚拟机编辑器中DHCP服务取消
使用vmware创建的虚拟机进行测试,虚拟机内存至少需要2GB。
三、实现Kickstart无人值守安装
1.Kickstart介绍
KickStart 是一种无人值守的安装方式,KickStart 的工作原理是通过 记录典型的安装过程中记录所需要填写的各种参数 (语言、时区、密码、分区、键盘等),并生成一个ks.cfg的文件。 (名字可以修改,默认ks.cfg)
在其后的安装过程中,当出现要求填写参数的情况时,安装程序会首先去查找KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数,就会卡着,需要人工干预。
如果KickStart 文件涵盖安装过程中所有需要填写的参数时,只需要告诉安装程序从何处取得 ks.cfg文件。 安装完毕后,安装程序会根据ks.cfg中设置的重启选项重启系统,并结束安装。
2. 配置kickstart无人值守安装
2.1安装应答文件,打开kickstart配置程序窗口
yum -y install system-config-kickstart #安装system-config-kickstart工具
system-config-kickstart #打开kickstart
2.2配置kickstart选项并保存
基本设置:
默认语言设为:中文
时区设为“Asia/Shanghai”
设置root密码
高级配置中勾选“安装后重启”。
安装方法:
选FTP
FTP服务器:ftp://192.168.88.30
FTP目录:centos7
引导装载程序选项
分区信息配置
网络配置
防火墙配置
安装后脚本
保存应答文件,文件名为ks.cfg,保存路径在/root目录下。
2.3配置需要安装的软件包
vim /root/anaconda-ks.cfg
将%packages到%end复制到ks.cfg文件中
cp /root/ks.cfg /var/ftp/ks.cfg
###最小化安装,直接在ks.cfg中添加
%packages
@^minimal
%end
2.4编辑引导菜单文件default,添加ks引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0 #0 表示不等待用户控制label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.88.30/centos7 ks=ftp://192.168.88.30/ks.cfg
2.5验证kickstart无人值守安装
当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预。