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

接下来我们去测试一下

点击打开电源室进入固件

调整启动顺序

点击电源键,开启虚拟机

注意此处

实现自动安装

相关推荐
sxy1993sxy20181 分钟前
HTTP请求失败调试过程 -20241126
网络·网络协议·http
檀越剑指大厂8 分钟前
【Python系列】异步 Web 服务器
服务器·前端·python
楚疏笃10 分钟前
linux安全管理-账号口令
linux·服务器·安全
Hello Dam12 分钟前
基于 Spring Boot 实现图片的服务器本地存储及前端回显
服务器·前端·spring boot
LightOfNight12 分钟前
Redis设计与实现第14章 -- 服务器 总结(命令执行器 serverCron函数 初始化)
服务器·数据库·redis·分布式·后端·缓存·中间件
沐多12 分钟前
linux实时操作系统xenomai看门狗(watchdog)机制及作用介绍
linux·xenomai·实时linux
孤邑13 分钟前
【Linux】网络通信
linux·服务器·网络·笔记·学习
qq_4489410815 分钟前
1、正则表达式
linux·正则表达式
9毫米的幻想23 分钟前
【Linux系统】—— 基本指令(四)
linux·c语言·c++·学习
cykaw259025 分钟前
Linux和Ubuntu的关系
linux·运维·服务器