1,无人值守安装系统 实现无人值守安装服务的PXE+kickstart服务程序,并手动部署PXE+DHCP+TFTP+Kiskstart等服务程序,从而搭建出一套可批量安装linux系统的无人值守安装系统. 2,以下步骤 安装DHCP服务,用于为客户端主机分配可用的IP地址,而且这是服务器和客户端主机进行文件传输的基础,所以先安装DHCP服务,并做相应的配置. 当挂载好的光盘镜像,并把Yum库文件配置完毕后,就可以安装DHCP服务程序了 yum -y install dhcp -y 表示安装过程中所有的问题全是yes; 编辑主配置文件 vim /etc/dhcp/dhcpd.conf 输入一下内容 allow booting; ---允许启动 allow bootp; ---允许BOOTP引导程序协议 ddns-update-style interim; ---DNS服务器的更新方式暂停 ignore client-updates; ---忽略客户端更新 subnet 192.168.13.0 netmask 255.255.255.0 { ---子网范围,子网掩码 option subnet-mask 255.255.255.0; option domain-name-servers 192.168.13.10;
range dynamic-bootp 192.168.13.100 192.168.13.200; ---分配给客户及主机的IP范围 default-lease-time 21600; ---默认连接时间是 max-lease-time 43200; ---最大连接时间是 next-server 192.168.13.10; ---后继服务器 filename "pxelinux.0"; ---引导驱动文件,后期创建 } ---大括号不可少 systemctl restart dhcpd 重启DHCP服务 systemctl enable dhcpd 开机启动DHCP服务 3,配置TFTP服务程序 TFTP服务是一种基于UDP协议的简单文件传输协议,不需要进行永华认证即可获取到所需的文件资源,因此我们配置TFTP服务,为客户端主机提供引导及驱动文件. yum -y install tftp-server 安装服务程序 TFTP服务是由xinetd网络守护进程服务来管理运行和关闭的 systemctl restart xinetd 重启TFTP服务 systemctl enable xinetd 开机启动TFTP服务 修改配置文件 vim /etc/xinetd.d/tftp 找到这一行 disable = yes 把yes需要改成no 再次执行重启服务命令 systemctl restart xinetd systemctl enable xinetd 重启无误,配置正确. 因为TFTP服务程序默认使用的是UDP协议,占用的端口号是69,所以要在firewall防火墙中写入其永久生效的允许策略. firewall-cmd --add-port=69/udp --permanent 添加udp端口,并永久生效 firewall-cmd --reload 防止没有生效,重载firewall,使其生效 firewall-cmd --list-all 查看已配置所有策略 4,配置SYSLinux服务程序 SYSLinux是一种用于提供引导加载的服务程序,也可以理解为是客户端主机需要里面的引导文件 yum -y install syslinux 安装SYSLinux服务程序 首先把SYSLinux提供的引导文件复制到TFTP服务程序的默认目录下,就是前文提到的pxelinux.0,这样客户端主机就可以顺利的获取到引导文件了 另光盘镜像中也有需要调取的引导文件,确认光盘镜像已经挂载到/media/cdrom目录下后,吧所需的引导文件复制到TFTP服务程序默认目录下 cd /var/lib/tftpboot 进入TFTP服务程序默认目录 cp /usr/share/syslinux/pxelinux.0 . 把SYSLinux目录下生成的引导文件复制到当前目录 cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} . 把光盘镜像中用到的引导文件复制到当前目录 cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} . 把光盘镜像中用到的引导文件复制到当前目录 ls 查看当前目录,确认所需的引导文件已全部复制完毕. 在当前目录下创建pxelinux.cfg 目录,虽然带后缀,但是它是目录,非文件. mkdir pxelinux.cfg mkdir 是创建目录的命令 将系统光盘中的开机选项菜单复制到pxelinux.cfg 目录下,并重命名为default. /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default 此文件就是客户端主机开机时默认选择的选项 默认的开机菜单中有两个选项,要么是安装系统,要么是对安装介质进行检验。既然我们已经确定采用无人值守的方式安装系统,那么就不再手动选择安装选项,否则与我们本节主旨相悖. 编辑刚才复制的 default 文件 vim pxelinux.cfg/default default linux 第1行参数修改为linux,这样系统在开机时就会默认执行那个名称为 linux 的选项了 append initrd=initrd.img inst.stage2=ftp://192.168.13.10 ks=ftp://192.168.13.10/pub/ks.cfg quiet 第64行,我们将默认的光盘镜像安装方式修改成 FTP 文件传输方式, 并指定好光盘镜像的获取网址以及 Kickstart 应答文件的获取路径, 5,配置vsftpd服务程序 yum -y install vsftpd 安装vsftpd服务程序 systemctl restart vsftpd 重启vsftpd服务 systemctl enable vsftpd 开机启动 把目录中的镜像文件全部复制到vsftpd服务程序的工作目录下 cp -r /media/cdrom/ /var/ftp/ -r 递归复制 复制时间大概5分钟,请耐心等待 在firewalld 防火墙管理工具中写入使 FTP 协议永久生效的允许策略 firewall-cmd --add-service=ftp --permanent 添加ftp服务策略,并永久生效 firewall-cmd --reload 重载firewall 在 SELinux 中放行 FTP 传输(即开起ftp传输相关的bool值) setsebool -P ftpdconnectallunreserved on getsebool -a | grep ftpdconnectallunreserved 查看是否开起成功 6,创建Kickstart应答文件 PXE + Kickstart 部署的是一套“无人值守安装系统服务”,而不是“无人值守传输系统光盘镜像服务”,因此还需要让客户端主机能够一边获取光盘镜像,还能够一边自动帮我们填写好安装过程中出现的选项 Kickstart 其实并不是一个服务程序,而是一个应答文件了。是的!Kickstart 应答文件中包含了系统安装过程中需要使用的选项和参数信息,系统可以自动调取这个应答文件的内容,从而彻底实现了无人值守安装系统 其实在 root 管理员的家目录中有一个名为 anaconda-ks.cfg 的文件,它就是应答文件 cp /root/anaconda-ks.cfg /var/ftp/pub/ks.cfg 将其复制到vsftpd的工作目录中 chmod +r /var/ftp/pub/ks.cfg chmod设置文件权限,确保所有人都有可读的权限,保证客户端主机可以获取到应答文件以及里面的内容 下面修改应答文件的配置文件 vim /var/ftp/pub/ks.cfg
url --url=ftp://192.168.13.10 第6行,将安装方式修改成 FTP 协议,仔细填写好 FTP 服务器的 IP 地址 timezone Asia/Shanghai --isUtc 第21行,时区设置成亚洲/上海(Asia/Shanghai) clearpart --all --initabel 第29行,磁盘选项设置为清空所有磁盘内容并初始化磁盘 到这我们的无人值守服务系统就配置完了,开始配置. 7,自动配置客户端主机 a>打开"新建虚拟机向导",选择"典型",点击"下一步", b>选择"稍后安装操作系统",点击"下一步", c>将“客户机操作系统”设置为“Red Hat Enterprise Linux 7 64 位”,然后单击“下一步”按钮, d>选择安装位置,点击"下一步"按钮, e>指定磁盘容量,磁盘大小默认"20GB",点击"下一步"按钮, f>选择自定义硬件,把“网络适配器”设备同样也设置为“仅主机模式”(这个步骤非常重要),然后单击“确定”按钮 然后开机启动,不需要做任何手动操作,全是自动传输安装,出现以下操作即为成功.

首次发技术文章,如有不对,请见谅,评论指出,谢谢!