无人值守系统
如果生产环境中有数百台服务器都需要安装系统,这种方式就不合时宜了。这时,就需要使用PXE + TFTP + FTP + DHCP + Kickstart服务搭建出一个无人值守安装系统。这种无人值守安装系统可以自动地为数十台甚至上百台的服务器安装系统,这一方面将运维人员从重复性的工作中解救出来,另外一方面也大大提升了系统安装的效率。
实验 部署无人值守安装系统
用到的服务及作用
服务名称 主要作用
dhcpd 分配网卡信息及指引获取驱动文件
tftp-server 提供驱动及引导文件的传输
SYSLinux 提供驱动及引导文件
VSFtpd 提供完整系统镜像的传输
KickStart 提供安装过程中选项的问答设置
一 配置DHCP服务
1 设置虚拟机
点击虚拟机左上角的编辑-虚拟网络编辑器-VMnet1-使用本地DHCP附件武器将IP地址分配给虚拟机。
2 关闭防火墙
iptables -F
systemctl stop firewalld
3 安装DHCP服务
dnf install -y dhcp-server
4 编辑主配置文件
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 xinetd
2 编辑主配置文件
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 syslinux
2 复制光盘中的引导文件
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/default
4 编辑开机引导菜单配置
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 vsftpd
2 编辑主配置文件
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES
3 启动服务
systemctl restart vsftpd
systemctl enable vsftpd
4 复制光盘镜像文件
cp -r /media/cdrom/* /var/ftp
5 配置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.cfg
2 编辑应答文件
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
六 测试效果
再创建一台虚拟机,开机后会自动部署系统。