在Pxe环境下使用kickstart自动化批量安装Linux系统

一、环境准备

1.rhel7.9操作系统

2.开启主机图形

bash 复制代码
systemctl set-default graphical.target
reboot

如果你的服务器安装了图形,直接切换启动级别5**:**

bash 复制代码
init 5

3.配置好ip,网关,dns地址

bash 复制代码
nmcli connection add ifname eth0 con-name eth0
type ethernet ipv4.method manual ipv4.addresses 172.25.254.120/24 
ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114 

4.关闭wmware网卡dhcp自动获取ip

5.关闭防火墙

bash 复制代码
systemctl stop firewalld
systemctl disable firewalld
systemcl mask firewalld

6.准备一台没有镜像的操作系统

7.把rhel7.9的本地镜像挂载到/mnt下

bash 复制代码
mount /dev/sr0 /mnt

二、部署过程

由于通过kickstart打包好linux镜像自动化安装到多台虚拟机上,所以我们需要使用httpd服务共享到默认发布目录,这样其他的主机就能访问到镜像了,我们再用kickstart图形制作好自动化安装的脚本

bash 复制代码
 yum install system-config-kickstart

如果你的本地源安装不了kickstart,尝试用下面的方法过滤出来再安装:

bash 复制代码
yum list | grep kick

把全名复制上去就能安装成功了

启动kickstart工具:

bash 复制代码
sysetem-config-kickstart

保存好之后,我们再把它存在root用户的家目录下:

进入/root后用ksvalidator命令检查一下有没有语法错误:

bash 复制代码
ksvalidator ks.cfg

然后我们把ks.cfg文件拷贝到http的自动发布目录下,再在/var/www/html下建立一个/mnt的软连接

bash 复制代码
ln -s /mnt mnt

重启http服务:

bash 复制代码
systemctl restart httpd

访问一下:

安装dhcp服务器为其他服务器提供分配ip的功能

bash 复制代码
yum install dhcp -y

生成配置文件

bash 复制代码
\cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

进入dhcp的配置文件:

bash 复制代码
vim /etc/dhcp/dhcpd.conf

配置好之后退出启动dhcp服务:

bash 复制代码
systemctl enable --now dhcpd

下载syslinux

bash 复制代码
yum install syslinux.x86_64

下载共享pxelinux.0数据文件的网络服务

bash 复制代码
yum install tftp-server.x86 64 -y

用rpm -ql看一下tftp的共享目录:

bash 复制代码
cp /mnt/isolinux/* /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cd /var/lib/tftpboot/

进入default目录

bash 复制代码
vim /var/lib/tftpboot/pxelinux.cfg/default

大功告成,我们只需要在我们的新操作系统中使用网卡启动模式:

退出后静待安装即可

在我们新安装的rhel7.9操作系统中,我们可以看见ip是从dhcp池子中获取的:

相关推荐
未济5 天前
linux 配置环境变量
linux
傲世仙尊5 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
qq_426003965 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.5 天前
进程间通信
linux
Liuqy-055 天前
Linux IO编程——静态库、动态库
linux
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅5 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog5 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发