实现一分钟搭建出PXE环境与系统安装

一、PXE简介

1.1、什么是PXE

PXE(Preboot execution Environment)称为:预执行环境;是由Intel设计的协议,该协议提供了一种使用网络接口启动计算机的机制(这种机制让计算机的启动可以不依赖本地的存储设备(如:硬盘、U盘)或本地已经安装的操作系统);该协议分为客户端(client)与服务端(server)目前计算机的网卡基本上都支持PXE(PXE Client是在网卡的ROM中,当计算机引导时,BIOS会把PXE Client载入内存中,显示对应的命令菜单,可供用户选择使用)。

简单总结一下:PXE是一种网络启动技术,它能使计算机在没有传统启动介质的情况下,可通过网络引导操作系统。这种技术在批量部署操作系统、无盘工作站和远程系统引导等场景中非常有用。要实现PXE,还需要正确配置DHCP和TFTP服务器,并确保客户端支持PXE启动(需要在BIOS中启用)。

|--------|----------------------------------------|
| 序号 | PXE的适用场景 |
| 1 | 不能使用硬盘、U盘或CD-ROM等传统启动介质。 |
| 2 | 信息安全要求等级较高,使用无盘系统(即:系统不在本地,而是在特定服务器上)。 |
| 3 | 有大批量的设备(如:成百上千)需要安装部署系统。 |
[PXE的适用场景]

1.2、PXE的工作原理

|--------|-------------------------------------------------------------------------------------------------------------------------------------|
| 序号 | PXE工作原理 |
| 1 | 客户端设备启动BIOS以网卡工作(EFI network) 时,会发送一个PXE启动请求到该设备所属网络的DHCP服务器 |
| 2 | 客户端设备获取IP地址(通过DHCP服务器获取【即:DHCP服务器收到客户端的PXE启动请求后,会返回DHCP响应,及其PXE引导服务器的IP信息【TFTP(Trivial File Transfer Protocol)使用UDP协议传输数据,端口号是69】】) |
| 3 | 通过TFTP服务器获取启动文件(客户端设备接收到DHCP响应后,会使用TFTP协议从PXE服务端下载菜单引导文件【如:pxelinux.0或bootx64.efi】) |
| 4 | 启动菜单引导文件加载到内存运行并引导(客户端设备加载并启动通过TFTP协议从PXE服务端下载的引导文件【引导文件含有小型Linux内核,可连接到PXE服务器并获取操作系统镜像】) |
| 5 | 确定安装选项(即:确定需要安装的系统) |
| 6 | 获取确定选项对应的配置内容并安装系统(引导文件连接到PXE服务端,通过TFTP协议获取系统内核文件与根文件(如:vmlinuz、initrd.lz)和系统镜像文件) |
| 7 | 根据自动化安装脚本定义获取安装文件 |
| 8 | 在自动化安装脚本指导下安装系统 |
[PXE工作原理]

1.3、PXE注意事项

|--------|-----------------------------------------------------------------------------------------|
| 序号 | PXE注意事项 |
| 1 | PXE的客户端、服务端的网卡需支持PXE(基本上目前市面上的网卡都支持PXE,有些需要在BIOS中启用PXE) |
| 2 | PXE服务端设备对应的端口需要放开(或者简单的方法就是直接关闭防火墙) |
| 3 | 系统引导启动分为传统模式(Legacy)与当下最新的UEFI模式; 传统模式客户端设备启动会请求pxelinux.0;UEFI模式客户端设备启动会请求bootx64.efi。 |
| 4 | 系统镜像文件内容有两种方式提供:http协议或nfs |
[PXE注意事项]

二、使用iVentoy一分钟搭建出PXE环境

2.1、下载iVentoy并启用

Download . Ventoy下载对应系统的压缩包后解压(注意:解压后的完整路径中不能含有中文或空格

《1》在Windows系统下直接解压后双击最下面的【iVentoy_64.exe】程序即可启动,如下图所示:

《2》在Linux系统下解压后

bash 复制代码
#在Linux中启动iVentoy
#1-解压下载好的iVentoy压缩包
tar -xvf iventoy-1.0.20-linux-free.tar.gz

#2-进入iVentoy启动
cd iventoy-1.0.20/
./iventoy.sh start

#3-禁用防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
getenforce
setenforce 0
vi /etc/selinux/config
#将/etc/selinux/config文件中的【SELINUX=enforcing】修改为【SELINUX=disabled】后保存退出并重启系统

#4-查看IP地址信息
ip a

最后在浏览器上访问iVentoy的web控制界面(如:192.168.1.21:26000)如下图所示:

2.2、iVentoy中各个文件夹的功能说明

目录 说明
data 存放 License、配置文件等。
doc 存放软件相关说明文档
iso 放ISO文件的地方,可以在里面创建子目录。
lib 存放 iVentoy 运行所需的 LIB 文件,用户不要动这个目录。
log 存放 iVentoy 运行日志。
user 存放用户文件、第三方软件包、自动安装脚本等文件。

2.3、启动iVentoy的PXE功能

《1》先将ISO系统镜像文件都拷贝到【iVentoy的iso】目录下,你可以在此目录下任意创建子目录来归类存放各种不同类型系统的ISO文件。 注意:目录名和ISO文件名中不能有中文或空格!或者可以设置软链接到【iVentoy的iso】目录下:

bash 复制代码
#软链接设置
#在windows下创建软链接【mklink [选项] <链接名> <目标>】(如:将H:\AllSoftware\AllSystemOS\Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso链接到H:\iventoy-1.0.20\iso\Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso)
mklink H:\iventoy-1.0.20\iso\Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso H:\AllSoftware\AllSystemOS\Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso


#linux下创建软链接【ln -s /path/to/target /path/to/link_name】(如:将/data/Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso设置软链接到/data/iventoy-1.0.20/iso/Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso)
ln -s /data/allos/Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso /data/iventoy-1.0.20/iso/Kylin-Desktop-V10-SP1-2503-HWE-Release-20250430-X86_64.iso

《2》在浏览器上访问iVentoy的web控制界面(如:192.168.1.21:26000)后点击左侧的【启动信息】进入该界面后点击右上角的【启动】按钮图标即可启动,如下图所示:

三、测试系统安装

若使用虚拟机测试,则需要设置为UEFI模式,且网络模式配置为【桥接模式】;系统开机后按不停地F2键选择【UEFI Network】后按下Enter键进入PXE引导菜单后选择需要安装的系统(如:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso)后按下Enter键即可实现系统安装,详细操作如下图所示:

**到这里表示可以通过PXE实现对镜像的安装了,恭喜你,已经完成了基础的PXE环境与系统部署。**至于无人值守自动化安装,则需要在镜像那里点击对应的镜像配置自动化部署脚本即可(注意:在添加这个自动化脚本前,需要先停止PXE的启动才可以配置)。

国产服务器系统的PXE无人值守自动化安装部署------以银河麒麟、统信UOS、OpenEuler这三类服务器系统为例https://coffeemilk.blog.csdn.net/article/details/155678972?spm=1001.2014.3001.5502

相关推荐
小小ken2 个月前
docker compose配置PXE服务器通过网络安装操作系统
docker·操作系统·pxe
XingYuyu_Coder3 个月前
通过PXE的方式实现Ubuntu 24.04 自动安装
ubuntu·pxe
m0_629776921 年前
使用PXE和kickstart完成自动化批量主机的安装
运维·自动化·pxe·kickstart
星融元asterfusion2 年前
从零开始:搭建PXE远程批量安装服务器
运维·服务器·pxe
玄子Share2 年前
玄子Share-PXE高效批量网络装机
开发语言·网络·云计算·运维开发·pxe·玄子share
SCL_785346602 年前
PXE批量装机
linux·pxe
Ankele2 年前
cobbler自动化安装CentOS、windows和ubuntu
windows·pxe·cobbler·裸金属
欢愉的猫2 年前
pxe网络装机
pxe