在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池子中获取的:

相关推荐
深念Y3 小时前
视频平台架构重构:从微服务到云原生
服务器·微服务·云原生·重构·架构·音视频·短视频
myy-learn3 小时前
27-进程通信
linux·服务器·网络
按时下班accept3 小时前
ERA5生成驱动LBM模型的数据
linux
高亦真3 小时前
今天是学习嵌入式的第32天
linux·学习·算法
gx23484 小时前
k8spod管理
linux·容器·kubernetes
susplus6 小时前
【linux应用软件编程】进程间的通信方式1【管道&IPC】
linux·进程通信·管道·ipc
AlfredZhao9 小时前
用 crontab 给 LLM 使用量装上“监控眼”
linux
疯狂打码的少年10 小时前
【数据库技术】关系模型基本概念(关系/属性/元组/键)
java·服务器·数据库·笔记
刃神太酷啦12 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
DsirNg12 小时前
让流程会停下:AI 自动化的交班设计
自动化·可观测性·幂等性·智能体·ai 工作流·人工在环·工单分流