kickstar自动安装脚本制作(以rhel7为例)
1.基础配置
在虚拟机的虚拟网络编辑器上关闭DHCP服务,避免与实验安装的DHCP产生冲突
配置网络可用
2.安装并开启图形界面
init:0——关机;1——单用户模式;2、3、4——有网络的多用户模式;5——有图形的用户模式
[root@localhost ~] yum group install "server with GUI" -y #安装图形界面
[root@localhost ~] init 5 #开启图形界面
[root@localhost ~] ls /root/
anaconda-ks.cfg Documents init_ip.sh Pictures Templates
Desktop Downloads Music Public Videos
[root@localhost ~] cat /root/anaconda-ks.cfg #系统自动生成的文件,记录了系统在安装过程中的所有设定
3.下载生成kickstart工具,并生成ks.cfg文件
#安装图形化生成kickstart的工具
[root@localhost ~] yum install system-config-kickstart
#启动制作工具
[root@localhost ~] system-config-kickstart
[root@localhost ~] yum install httpd -y
[root@localhost ~] systemctl enable --now httpd #下载并启动apache
[root@localhost ~] ln -s /rhel7.9/ /var/www/html/
#因为/rhel7.9已经挂载过,所以使用软连接使其能够在/var/www/html/下看到
[root@localhost ~] cd /var/www/html/
[root@localhost html] ll
total 4
-rw-r--r--. 1 root root 1205 Aug 4 17:55 ks.cfg
lrwxrwxrwx. 1 root root 9 Aug 4 11:25 rhel7.9 -> /rhel7.9/
在root下会生成一个ks.cfg文件
[root@localhost ~] vim ks.cfg # 通过以上步骤生成的
#修改一下文件内容
[root@localhost ~] cp /root/ks.cfg /var/www/html/
4.新建虚拟机
打开后光标选择第一个点击tab,输入ks=http://172.25.254.102/ks.cfg
由于当前虚拟机没有DHCP服务,所以会显示失败,实验完成
搭建DHCP服务并测试kickstart脚本
由于模拟的是生产环境,是不能通过VMware对IP进行分配的,因为外部的环境是不能使用VMware的DHCP池。
DHCP的作用:为其他提供分配ip的功能
1.安装dhcp,生成配置文件
[root@localhost ~] yum install dhcp -y
[root@localhost ~] cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf #将模板覆盖为dhcpd.conf便于修改,如果不想要提示是否覆盖,在cp前加上\转义符,表示\cp为真实的cp
2.修改配置文件
[root@localhost ~]vim /etc/dhcp/dhcpd.conf
表示35行以后删除
按照本机设置修改
[root@localhost ~] systemctl enable --now dhcpd
3.按照上一实验步骤4继续进行
PXE网络安装环境实现服务器自动部署
PXE原理:如果主机A安装好DHCP,主机B没有系统且选择从网卡启动;主机B向主机A发送广播要IP,主机A响应之后向主机B发送包含IP的数据包。通过DHCP主机A向主机B发送一个文件地址,主机B就能通过这个文件地址去主机A上读取对应文件(pxelinux.0),通过此方法读取到主机A上的url就能在主机B上进行系统的安装
步骤:
[root@localhost html] yum search pxelinux
[root@localhost html] yum install syslinux.x86_64
[root@localhost html] yum install tftp-server.x86_64 #共享pxelinux .0数据文件的网络服务
[root@localhost html] systemctl enable --now tftp
[root@localhost html] rpm -ql tftp-server
/etc/xinetd.d/tftp
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-5.2
/usr/share/doc/tftp-server-5.2/CHANGES
/usr/share/doc/tftp-server-5.2/README
/usr/share/doc/tftp-server-5.2/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot #通过查询得知所有的数据都应放在这个目录下
通过对比两图可知从网卡启动的界面实际上就是光盘中的isolinux文件
[root@localhost isolinux] cp /rhel7.9/isolinux/* /var/lib/tftpboot/
[root@localhost isolinux] cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝到 /var/lib/tftpboot中
[root@localhost tftpboot] mkdir pxelinux.cfg
[root@localhost tftpboot] cp isolinux.cfg pxelinux.cfg/default
[root@localhost tftpboot] vim /etc/dhcp/dhcpd.conf
# This is a very basic subnet declaration.
subnet 172.25.254.0 netmask 255.255.255.0 {
range 172.25.254.30 172.25.254.40;
option routers 172.25.254.2;
next-server 172.25.254.102;#tftp所在的主机
filename "pxelinux.0";
}
[root@localhost tftpboot] systemctl restart dhcpd #修改之后重启
[root@localhost tftpboot] vim /var/lib/tftpboot/pxelinux.cfg/default #修改网卡启动出现的界面
模拟第一次启动
选择第一个进入后开始自动下载安装,结束后再次返回此界面。退出后改为默认以硬盘方式启动即完成