目录

一. 部署 PXE 远程安装服务

1:搭建 PXE 远程安装服务器 

(1)设备清单

(2)准备Linux 安装源

(3)安装井启用 TFTP 服务

(4)准备 Linux 内核、初始化镜像文件

(5)准备 PXE 引导程序

(6)安装#井启用 DHCP 服务

(7)配置启动菜单文件

2:验证 PXE 网络安装

 二. 实现 Kickstart 无人值守安装

1. 编辑应答文件​编辑

2. 实现批量自动装机

(1)启用自动应答文件

(2)验证无人值守安装


前言

在大规模 Linux 应用环境中,如 web 集群、分布式计算等场景,服务器的快速部署与系统安装成为了一项关键任务。传统依赖光驱、USB 等物理介质的安装方法在面对数十乃至上百台服务器时,显得效率低下且不便管理。为了应对这一挑战,PXE(Preboot eXecution Environment,预启动执行环境)技术应运而生,它允许客户机通过网络从远程服务器下载引导镜像并加载安装文件,甚至整个操作系统,从而实现了安装介质的无介质化。

PXE 技术基于 client/Server 模式运作,客户机需具备支持 PXE 协议的网卡(集成 BOOTROM 芯片),且主板需支持网络引导。此外,网络中需部署 DHCP 服务器以自动分配 IP 地址并指定引导文件位置,同时TFTP(Trivial File Transfer Protocol,简单文件传输协议)服务提供引导镜像文件的下载。

一. 部署 PXE 远程安装服务

批量部署服务器,具备三个优点

规模化同时装配多台服务器
自动化装系统、配置各种服务
远程实现不需要光盘、U 盘等安装介质

 PXE的工作过程 

PXE 是由 Inte1 公司开发的网络引导技术,工作在 client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建PXE 网络体系,必须满足以下几个前提条件

  • 客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。
  • 网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
  • 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

1:搭建 PXE 远程安装服务器 

(1)设备清单

设备IP 地址系统备注
pxe 服务器192.168.10.101OpenEuler24.03

(2)准备Linux 安装源

Linux 的网络安装源一般通过 HTTP、FTP 协议发布,另外也支持 NFS(NetworkFile svstem,网络文件系统)协议

 

刚安装好的vsftp是不能使用的所以要下载修改配置文件

(3)安装井启用 TFTP 服务

TFTP 服务由 tftp-server 软件包提供,配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后启动 TFTP 服务

 

 

 

(4)准备 Linux 内核、初始化镜像文件

用于 PXE 网络安装的 Linux 内核、初始化镜像文件可以从 Linux 系统光盘获得,分别为 vmlinuz和 initrd.img,位于文件夹 images/pxeboot 下。找到这两个文件并将其复制到 tftp 服务的根目录下

 

ldlinux.c32是 SYSLINUX 引导加载程序的一部分,用于在 PXE 网络引导过程中加载 Linux 内核和其他必要的初始化文件。它提供了从网络加载内核和初始化 RAM 文件系统(initramfs)所需的基础引导功能。在 PXE引导流程中,1d1inux.c32 负责处理引导菜单的配置,并根据用户的选择或默认设置加载相应的内核和参数。
libcom32.c32是 SYSLINUX 提供的一组常用函数的库文件,这些函数被 ldlinux.c32 和其他弓导程序所使用。它包含了处理文件系统、内存分配、字符串操作等底层功能的实现。libcom32.c32 使得SYSLINUX 引导程序能够更高效地执行其任务,而无需在每个引导程序中重复实现这些基础功能。

(5)准备 PXE 引导程序

用于 PXE 网络安装的引导程序为 pxelinux.8,由软件包 syslinux 提供。安装好软件包 syslinux,然后将文件 pxelinux.0 也复制到 tftp 服务的根目录下。

 

 

(6)安装#井启用 DHCP 服务

由于 PXE 客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好 DHCP 服务来自动分配地址并告知引导文件位置。

 

 

(7)配置启动菜单文件

启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作手动建立。

 

2:验证 PXE 网络安装

搭建好 PXE 远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服务器或 PC 裸机,一般不需要额外设置:若要为已有系统的主机重装系统,则可能需要修改 BIOS 设置,将“Boot First’设为“NETWORK”或“LAN”,然后重启主机:若使用 Vware 创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时会报错。

如果服务器配置正确,网络连接、PXE 支持等都没有问题,则客户机重启后将自动配置 IP 地址,然后从 TFTP 服务器中获取引导程序 pxelinux.0,并根据引导菜单配置提示用户指定启动入口

在提示字串“boot:”后直接执行“auto”命令,将会进入默认的图形安装入口;

若执行“linux text命令,则进入文本安装入口;

若执行“linux rescue”命令,则进入救援式。

直接按 Enter 键确认后将自动通过网络下载安装文件,并进入图形安装程序界面

 二. 实现 Kickstart 无人值守安装

通过使用安装应答文件,自动完成安装过程中的各种设置,从而无须手动干预,提高网络装机效率。

在 openeuler24.83 或 centos8 等系统版本中,不再支持 system-config-kickstart 工具,无法通过此工具生成应答文件,需要直接编辑 ks.cfg 文件。

1. 编辑应答文件

2. 实现批量自动装机

有了自动安装的应答文件之后,只要将其放置 PXE 安装服务器的 FTP 目录下,并适当修改引导菜单,就可以实现基于网络的批量自动装机了

(1)启用自动应答文件

在 PXE 远程安装服务器中,将上一节建立的应答文件复制到/var/ftp/Linux 目录下,使客户机能够通过 ftp:#192.168.4.254/Linux/ks.cfg 访问;然后编辑引导菜单文件 default,添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径。

(2)验证无人值守安装

启用自动应答安装之后,当客户机每次以 PXE 方式引导时,将自动下载 ks.cfg 应答配置文件,然后根据其中的设置安装 Linux 系统,而无须手工干预

无人值守就不会显示boot了

注意:如果是在 Vware 虚拟机环境下,需要禁用 Vware 的 DHCP 功能;否则安装文件将无法加载

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐