无人值守安装系统:使用PXE+TFTP+FTP+DHCP+Kickstart服务搭建出一个无人值守安装系统。PXE预启动执行环境,用于在无人值守安装系统中引导客户端主机安装linux操作系统。Kickstart的工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中需要填写参数的时候自动匹配Kickstart生成的文件。
一. 配置DHCP服务程序
DHCP服务程序用于为客户端主机分配可用IP地址。
yum install dhcp;
vim /etc/dhcp/dhcp.conf
allow booting; # 开机为机器分配IP地址,即便主机没有操作系统
allow bootp; #
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.10.10;
range dynamic-bootp 192.168.10.100 192.168.10.200;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.10.10;
filename "pxelinux.0"; # 目的是让客户端主机获取到IP地址后主动获取引导驱动文件,自行进入下一步安装过程
}
配置完文件后,重启服务systemctl restart dhcpd; systemctl enable dhcpd;
二. 配置TFTP服务程序
鉴于客户端主机还没有安装操作系统,,tftp基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源,因此配置tftp为客户端主机提供引导及驱动文件。当客户端有了基本的驱动程序后,再通过vsftpd服务协议将完整的光盘镜像文件传输过去。
1. 安装服务 yum install tftp-server
2. tftp由xinetd网络守护进程服务来管理。vim /etc/xinetd.d/tftp其中将disable 打开为no
3. 重启服务 systemctl restart xinetd; systemctl enable xinetd;
4. tftp使用端口号69,设置防火墙
firewall-cmd --permanent --add-port=69/udp
firewall-cmd --reload
三. 配置SYSLinux服务程序
1. SYSLinux是一个用于提供引导加载的服务程序。yum install syslinux
2. 复制一些引导文件到tftp服务程序的默认目录中。
cd /var/lib/tftpboot # tftp默认目录
cp /usr/share/syslinux/pxelinux.0 .
cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .
cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
# 在当前路径下创建一个新文件夹,拷贝系统文件isolinux.cfg文件,并编辑
mkdir pxelinux.cfg
cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
vim pxelinux.cfg/default
# 补充文件内容 1 default linux
# append initrd=initrd.img inst.stage2=ftp://192.168.10.22 ks=ftp://192.168.10.22/pub/ks.cfg quiet
四. 配置vsftpd服务程序
1. 光盘镜像通过ftp协议传输。 安装服务 yum install vsftpd
2. 重启服务systemctl restart vsftpd; systemctl enable vsftpd;
3. 复制光盘镜像文件到vsftpd服务程序的的工作目录 cp -r /media/cdrom/* /var/ftp
4. 编辑ftp协议的防火墙策略,设置selinux放行ftp
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
setsebool -P ftpd_connect_all_unreserved=on
五. 创建KickStart应答文件
1. 拷贝应答文件 cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg; 设置权限 chomd +r /var/ftp/pub/ks.cfg
2. 编辑应答文件vim /var/ftp/pub/ks.cfg
6 url --url=ftp://192.168.10.22
21 timezone Asia/Shanghai --isUtc
29 clearpart --all --initlabel