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

接下来我们去测试一下

点击打开电源室进入固件

调整启动顺序

点击电源键,开启虚拟机

注意此处

实现自动安装

相关推荐
极客小张1 分钟前
基于STM32MP157与OpenCV的嵌入式Linux人脸识别系统开发设计流程
linux·stm32·单片机·opencv·物联网
x66ccff6 分钟前
【linux】4张卡,坏了1张,怎么办?
linux·运维·服务器
jjb_23626 分钟前
LinuxC高级作业2
linux·bash
OH五星上将35 分钟前
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【扩展组件】上
linux·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·liteos-a·鸿蒙内核
隔窗听雨眠1 小时前
基于Prometheus和Grafana的现代服务器监控体系构建
服务器
拾光师1 小时前
linux之网络命令
linux·服务器·网络
毕设木哥1 小时前
25届计算机专业毕设选题推荐-基于python+Django协调过滤的新闻推荐系统
大数据·服务器·数据库·python·django·毕业设计·课程设计
我命由我123452 小时前
GPIO 理解(基本功能、模拟案例)
linux·运维·服务器·c语言·c++·嵌入式硬件·c#
皓月盈江2 小时前
Linux ubuntu debian系统安装UFW防火墙图形化工具GUFW
linux·ubuntu·debian·防火墙·ufw·gufw
洛阳泰山2 小时前
Llamaindex 使用过程中的常见问题 (FAQ)
java·服务器·数据库·python·llm·rag·llamaindex