PXE技术在操作系统批量安装中的应用与实现

PXE(Preboot Execution Environment)即预启动执行环境,它是一种可以使计算机通过网络启动的技术。

一、工作原理

  1. 客户端请求
    • 当支持 PXE 的计算机启动时,其网卡的固件会广播一个请求,寻找网络中的 PXE 服务器。
    • 这个请求中包含了客户端的 MAC 地址等信息。
  2. 服务器响应
    • PXE 服务器接收到客户端的请求后,会根据请求中的信息提供相应的服务。
    • 首先,服务器会发送一个 DHCP(动态主机配置协议)响应,为客户端分配 IP 地址等网络配置信息。
    • 然后,服务器会告知客户端从何处下载启动文件,通常是一个引导程序。
  3. 客户端下载并启动
    • 客户端根据服务器的指示,下载引导程序。
    • 引导程序会进一步加载操作系统安装程序或其他网络应用程序。

二、应用场景

  1. 大规模部署操作系统
    • 在企业或学校等有大量计算机需要安装操作系统的环境中,PXE 可以大大简化安装过程。
    • 管理员可以在服务器上准备好操作系统镜像,通过网络让多台计算机同时从 PXE 服务器启动并安装操作系统,而无需逐台使用光盘或 U 盘进行安装。
    • 例如,一家新成立的公司有数百台新电脑需要安装 Windows 操作系统,通过 PXE 技术,管理员可以快速、统一地完成操作系统的安装,节省大量时间和精力。
  2. 无盘工作站
    • PXE 支持无盘工作站的运行。无盘工作站不需要本地硬盘存储操作系统和应用程序,而是通过网络从服务器加载所需的系统和软件。
    • 比如在一些网吧中,采用无盘工作站可以方便管理游戏和软件的更新,所有的更新只需在服务器端进行,客户端就可以自动获取最新版本。当玩家在无盘工作站上启动电脑时,通过 PXE 从服务器加载操作系统和游戏程序,实现快速启动和运行。
  3. 系统恢复和故障排除
    • 当计算机系统出现故障无法正常启动时,PXE 可以作为一种恢复手段。
    • 通过网络启动到一个恢复环境,进行系统修复、数据备份或病毒查杀等操作。
    • 例如,某台计算机由于病毒感染导致系统崩溃,无法从本地硬盘启动,此时可以利用 PXE 启动到一个专门的病毒查杀和系统修复工具环境,对计算机进行修复,而无需依赖本地的操作系统。

三、优势

  1. 集中管理
    • 所有的操作系统镜像和软件资源都可以集中存储在 PXE 服务器上,方便管理员进行统一管理和更新。
    • 与传统的分散式安装和维护相比,大大提高了管理效率,减少了维护成本。
  2. 灵活性
    • 可以根据不同的需求配置 PXE 服务器,提供不同的操作系统和应用程序选择。
    • 例如,在一个企业环境中,有些部门需要安装特定的软件,管理员可以通过 PXE 服务器为不同部门的计算机提供定制化的启动选项,满足多样化的需求。
  3. 快速部署
    • 对于新的计算机或需要重新安装系统的计算机,通过 PXE 可以快速启动安装过程,无需等待光盘或 U 盘的读取,节省了安装时间。

四、实现

1.环境准备:

rhel7主机、开启主机图形、配置网络可用、关闭VMware dhcp功能

2.kickstart自动安装脚本制作

安装图形化生成kickstart自动安装脚本工具

root@node1 \~# yum install system-config-kickstart -y
启动图形制作工具

root@node1 \~# system-config-kickstart

注意要添加以下内容

root@node1 \~# ksvalidator ks.cfg 语法检测一下

root@node1 \~# cp /root/ks.cfg /var/www/html/ 将安装脚本共享

到此,安装脚本已经编写完成

3.dhcp服务并测试kickstart脚本

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

root@node1 \~# yum install dhcp -y

生成配置文件

root@node1 \~# rpm -qc dhcp

root@node1 \~# cat /etc/dhcp/dhcpd.conf

root@node1 \~# \cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

编辑配置文件

root@node1 \~# vim /etc/dhcp/dhcpd.conf

将下面这两行注释掉

subnet 172.25.254.0 :网络位

netmask 255.255.255.0 :子网掩码

range 172.25.254.40 172.25.254.50 : 地址池

option routers 172.25.254.2 : 网关

重启dhcp服务

root@node1 \~# systemctl enable --now dhcpd

root@node1 \~# vim ks.cfg

将此处的--maxsize=1删掉

接下来我们新建一个虚拟机(check_ks)进行测试(新建虚拟机的过程就不详细叙述了)

自动下载

搭建pxe网络安装环境实现服务器自动部署

root@node1 \~# yum install syslinux.x86_64

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

root@node1 \~# yum install tftp-server.x86_64 -y

root@node1 \~# rpm -ql tftp-server

启动tftp服务

root@node1 \~# systemctl enable --now tftp

root@node1 \~# cp /rhel7/isolinux/* /var/lib/tftpboot/

root@node1 \~# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

root@node1 tftpboot# mkdir pxelinux.cfg

root@node1 tftpboot# cp isolinux.cfg pxelinux.cfg/default

编辑dhcp服务的配置文件并重启服务

root@node1 tftpboot# systemctl restart dhcpd

root@node1 tftpboot# vim /var/lib/tftpboot/pxelinux.cfg/default

接下来我们去测试一下

点击打开电源室进入固件

调整启动顺序

点击电源键,开启虚拟机

注意此处

实现自动安装

相关推荐
用户805533698038 小时前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297918 小时前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF9 小时前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Goodbye2 天前
大模型无状态架构:从 HTTP 协议到 Harness AI 工程的深度解析
http
Web3探索者2 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo2 天前
Linux系统中网线与USB网络共享冲突
linux
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜3 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux