目录

一. 部署 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.101 OpenEuler24.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

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

更多推荐