实现批量自动部署Linux操作系统

实战描述:

xxx公司所服务的用户IT环境中有很多的Linux系统,品种也五花八门,有RHEL、Centos、OpenSUSE甚至还有测试环境使用的RockyLinux。当有大量的计算机需要同时安装操作系统需求的时候,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护,此时可以通过批量自动化安装来实现。
要想实现批量自动化安装Linux系统,需要有一台dhcpserver,通过DHCP服务负责给网络中的计算机分配IP地址,子网掩码及默认网关等必要的网络配置;也需要有tftp-server,负责远程传输文件;同时也需要负责搭建web应用,发布系统相关的镜像;最后,还需要PXE预启动执行环境,通过网络实现多个计算机批量部署,即静默方式或无应答式的自动批量部署。
接下来,我们查看如何具体实现。

实战环境:

一台RHEL7.x虚拟机作为部署环境,集成了dhcpserver服务、tftpserver服务,http服务以及PXE。需要注意的是,如果是vmware workstation环境下,需要关掉vmware dhcp的服务,开始->运行->services.msc。

具体实现:

修改主机名并编辑/etc/hosts文件实现IP与主机名对应

首先,修改主机名:

在这里插入图片描述

之后,编辑/etc/hosts文件,添加如下内容:

在这里插入图片描述##关闭防火墙
通过systemd关闭并禁用firewalld防火墙。

在这里插入图片描述

安装syslinux、tftp、dhcp、http等软件包

配置dhcp主配置文件

dhcp的主配置文件名称是dhcpd.conf,然而在/etc/dhcp/目录下并没有这个文件。在dhcp安装好后,会有一个模板路径具体是在/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

看过了模板文件后,我们要做的就是参考模板文件配置成属于我们自己的dhcpd.conf,配置如下:

在这里插入图片描述##配置tftp
修改/etc/xinetd.d/tftp这个配置文件,将disable由默认的yes改为no

在这里插入图片描述

复制PXE系统启动时所需要的文件至tftp发布目录/tftpboot

在这里插入图片描述

上传ISO或wget或vm里直接挂载

无论哪种方式进行挂载操作系统ISO,比如挂载到/mnt目录下,我们要把所有文件复制到Apache的默认website目录/var/www/html中。

在这里插入图片描述最后再复制安装光盘的启动文件到相应目录。

在这里插入图片描述

创建PXE启动菜单

在这里插入图片描述

上述配置中ks文件是rhel7的自动安装的配置文件,10.60.100.101是PXE服务器的IP地址,随后运行如下命令创建Kickstart文件所需密文:

在这里插入图片描述##自定义ks文件rhel7.cfg,并保存到/var/www/html目录
保存好所生成的密文将在下面的Kickstart文件中使用,至于自动应答文件,可自定义ks文件,并保存到/var/www/html目录。

在这里插入图片描述

启动相关服务

所有配置进行完毕,启动相关服务。

在这里插入图片描述

通过lsof命令查看端口号和服务对应状态。

在这里插入图片描述

结果:

通过vmware workstation新建虚拟机选择默认从网络开启,会看到pxe成功引导了操作系统,剩下的就交给kickstart实现自动化静默安装就好。

在这里插入图片描述

在这里插入图片描述

posted @ 2021-12-19 16:30  Leo'sblog  阅读(1107)  评论(0编辑  收藏  举报