PXE网络部署/服务器自动部署

概述

通过DHCP服务、HTTP服务和kickstart搭建PXE网络环境,使局域网络中的主机能够通过DHCP服务获取IP以及TFTP服务器IP,通过HTTP服务向需要安装操作系统的主机提供ISO镜像文件以及自动化安装脚本。

环境准备

· 三台RHEL7操作系统、VMware关闭DHCP服务

DHCP服务器

HTTP服务器

TFTP服务器

操作步骤

HTTP服务

HTTP服务主要为网络安装操作系统提供ISO镜像文件以及自动化安装脚本,使能够在局域网络进行批量自动化安装操作系统

将RHEL7.9的ISO文件挂载到/mnt/RH7_local

下载kickstart制作自动化安装脚本,kickstart是图形化系统安装脚本工具,需要在虚拟机中通过图形界面操作

bash 复制代码
yum install system-config-kickstart    #下载kickstart
system-config-kickstart    #启动kickstart

在图形化界面中配置脚本

进入脚本文件中添加软件包

bash 复制代码
vim /root/auto_install_rhel7.cfg    

添加需要的安装包

检查自动化安装脚本语法

配置HTTP服务

bash 复制代码
yum install httpd -y    #下载http服务

将脚本文件和ISO文件连接到HTTP服务的文件夹中

bash 复制代码
ln -s /mnt/RH7_local/ /var/www/html/    #软连接至HTTP根目录中
cp -p /root/auto_install_rhel7.cfg /var/www/html/

systemctl enable --now httpd.service    #启动HTTP服务

使用浏览器检查能否访问

TFTP服务

TFTP服务主要提供安装系统前的引导程序,该引导程序指向拥有ISO镜像文件和自动化安装脚本的HTTP服务器。

要实现PXE安装需要使用pxelinux以及通过TFTP发布引导信息

bash 复制代码
yum install syslinux.x86_64 -y
yum install -y tftp-server.x86_64
bash 复制代码
less /usr/share/doc/syslinux-4.05/pxelinux.txt
#pxelinux帮助文档

TFTP服务默认共享目录为/var/lib/tftpboot/

bash 复制代码
cp /mnt/RH7_local/isolinux/* /var/lib/tftpboot/
#将本地挂载的ISO文件中的引导文件拷贝至TFTP共享目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#将PXE的引导文件拷贝至TFTP共享目录
cd /var/lib/tftpboot/
bash 复制代码
mkdir pxelinux.cfg    #在TFTP中创建pxe配置文件
cp isolinux.cfg pxelinux.cfg/default    #将iso配置文件拷贝至pxe配置文件中
vim pxelinux.cfg/default    #编辑引导文件

注意:修改的文件为只读文件

bash 复制代码
systemctl enable --now tftp    #启动TFTP服务

DHCP服务

DHCP服务提供IP地址以及指明TFTP服务器IP和需要请求的文件

bash 复制代码
yum install -y dhcp
rpm -qc dhcp
bash 复制代码
\cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#将模板文件拷贝至DHCP配置文件中
vim /etc/dhcp/dhcpd.conf

删除37行后的配置

bash 复制代码
systemctl enable --now dhcpd    #启动DHCP服务

测试

新建虚拟机,并去除光盘设备

开启虚拟机后,在此界面按TAB键可查看ISO以及ks的位置,回车执行下一步

等待系统自动安装完毕,会自动重启

安装完成,即将重启

重启完成后,登入系统查看是否有yum网络源

相关推荐
chlk12314 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑15 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件15 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒16 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes