一.为什么要用kickstart?
在企业中安装多台操作系统时,如果手动的对一台一台的Linux操作系统进行安装,那么会加大我们的工作量去做一些繁琐且相同的事情浪费时间。所以kickstart脚本就很好的解决了这一问题。
二.实验环境的准备
1.主机名:pxe
2.ip:172.25.254.132
3.httpd服务,dhcp服务都有并且保正两个服务都开启
4.防火墙,selinux均都关闭
5.配置软件仓库能正常工作
6.操作系统版本为红帽7.9
7.关闭虚拟机的一个dhcp功能,自己配置网卡,固定网卡ip地址。
8.虚拟机以及安装好了图形界面
注:dhcp服务要修改dhcpd.conf两个位置并且重启服务,如下内容:
1.
2.注释掉途中红色圆圈内容
3.
4.
5.当修改完上诉配置文件后,对该DHCP服务进行重启:
systemctl restart dhcpd.server
6.关闭防火墙:
systemctl stop firewalld.server
7.关闭selinux:
grubby --update-kernel ALL --args selinux=0
8.关闭虚拟机dhcp功能:
点击左上角编辑,然后再点击虚拟网络编辑器,到下图中界面
三.准备好上诉这些环境的配置,接下来我们来制作kickstart脚本
1.开启虚拟机的图形化界面:init 5
2.安装图形化生成kickstart自动安装脚本的工具:yum install system-config-kickstart
3.启动图形制作工具:system-config-kickstart
4.进入图形化生成kickstart自动生成脚本界面后进行如下操作:
1.
2.将IP地址改为自己的IP地址。
3.
4.把挂载到根下的xfs文件系统设置为剩下的磁盘空间都分配给他
5.图中Device改为自己的网卡真是名称,可以用nmcli connection show 查询
6.
7.
8.
9.图中的mount挂载路径要根据自己的挂载情况进行编写,用df -h可查看挂载情况。
10.点击左上角file,选择save,然后选择保存到/root目录下。
11.在/root/ks.cfg下添加图中绿色区域内容。
12.检查ks.cfg脚本是否有错误
13.在/var/www/html下创建/rhel7下的软链接,并将ks.cfg复制到/var/www/html下
命令:ln -s /rhel7 /var/www/html
cp /root/ks.cfg /var/www/html
14.访问172.25.254.132/rhel7,以及172.25.254.132/ks.cfg
总结:kickstart脚本编写成功,如果其中出现问题,可以留意防火墙,selinux是否关闭,还有修改完一个服务的配置文件后是否重启服务。
四.kickstart脚本编写成功后,我们继续用这个脚本来部署操作系统,以部署红帽7.9操作系统为例。
1.下载一个tftp并启动服务(systemctl start tftp):
2.下载一个syslinux:
3.
4.cp isolinux.cfg pxelinux.cfg/default
5.对default进行配置修改:其中Linux操作系统的名称可以自己取,我这里取的是jmmmmm,可以把里面的timeout改小一点,我这里改成了30s,默认是600s。
6.对/etc/dhcp/dhcpd.conf添加以下内容
五.一系列的配置文件完成后,接下来我们可以创建一个虚拟机来验证这个脚本是否成功
1.我们把虚拟机的网络适配器给移除
2.
3.白色的光标移动到Network boot from Intel E1000上,shift+加减符号即可上下移动
4.
5.等待是否检测到光盘,检测成功选第一个安装操作系统即可
6.等带结果,安装成功后,把第3步的Hard Drive移动到最上边,设置为硬盘启动再次进入进入该界面即可,到此实验完成。