如果生产环境中有数百台服务器都需要安装系统,这种方式就不合时宜了。这时,就需要使用PXE + TFTP + FTP + DHCP + Kickstart服务搭建出一个无人值守安装系统。这种无人值守安装系统可以自动地为数十台甚至上百台的服务器安装系统,这一方面将运维人员从重复性的工作中解救出来,另外一方面也大大提升了系统安装的效率。
实验 部署无人值守安装系统用到的服务及作用
服务名称 主要作用 dhcpd 分配网卡信息及指引获取驱动文件 tftp-server 提供驱动及引导文件的传输 SYSLinux 提供驱动及引导文件 VSFtpd 提供完整系统镜像的传输 KickStart 提供安装过程中选项的问答设置一 配置DHCP服务 1 设置虚拟机
点击虚拟机左上角的编辑-虚拟网络编辑器-VMnet1-使用本地DHCP附件武器将IP地址分配给虚拟机。
2 关闭防火墙iptables -F systemctl stop firewalld3 安装DHCP服务
dnf install -y dhcp-server4 编辑主配置文件
vim /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style none;
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";
}
5 启动服务
systemctl restart dhcpd systemctl enable dhcpd二 配置TFTP服务 1 安装TFTP服务
dnf install -y tftp-server xinetd2 编辑主配置文件
vim /etc/xinetd.d/tftp
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
}
3 启动服务
systemctl restart xinetd systemctl enable xinetd三 配置SYSLinux服务 1 安装SYSLinux
dnf install -y syslinux2 复制光盘中的引导文件
cd /var/lib/tftpboot cp /usr/share/syslinux/pxelinux.0 . cp /media/cdrom/images/pxeboot/* . cp -f /media/cdrom/isolinux/* .
PS:其中/media/cdrom/是RHEL8光盘的挂载目录
3 创建开机引导菜单mkdir pxelinux.cfg cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default4 编辑开机引导菜单配置
vim pxelinux.cfg/default
1 default linux 64 append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet四 配置VSFtpd服务 1 安装VSFtpd
dnf install -y vsftpd2 编辑主配置文件
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES3 启动服务
systemctl restart vsftpd systemctl enable vsftpd4 复制光盘镜像文件
cp -r /media/cdrom/* /var/ftp5 配置SElinux
setsebool -P ftpd_connect_all_unreserved=on五 创建KickStart应答文件 1 复制应答文件并修改权限
cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg chmod +r /var/ftp/pub/ks.cfg2 编辑应答文件
vim /var/ftp/pub/ks.cfg
8 repo --name="AppStream" --baseurl=ftp://192.168.10.10/AppStream 10 url --url=ftp://192.168.10.10/baseOS 17 network --bootproto=dhcp --device=ens160 --onboot=on --ipv6=auto --activate六 测试效果
再创建一台虚拟机,开机后会自动部署系统。



