PXE高效批量网络装机
本节将进一步学习如何实现无人值守自动安装,通过使用安装应答文件,自动完成安装过程中的各种设置,从而无须手动干预,提高网络装机效率。在 openeuler24.03或centos8 等系统版本中,不再支持system-config-kickstart 工具,无法通过此工具生成应答文件,需要直接编辑ks.cfg文件。
目录
会使用PXE远程装机
会实现无人值守自动装机
前言
在大规模Linux应用环境中,如Web集群、分布式计算等场景,服务器的快速部署与系统安装成为了一项关键任务。传统依赖光驱、USB等物理介质的安装方法在面对数十乃至上百台服务器时,显得效率低下且不便管理。为了应对这一挑战,PXE(Preboot eXecution Environment,预启动执行环境)技术应运而生,它允许客户机通过网络从远程服务器下载引导镜像并加载安装文件,甚至整个操作系统,从而实现了安装介质的无介质化。
PXE 技术基于Client/Server模式运作,客户机需具备支持PXE协议的网卡(集成BOOTROM芯片),且主板需支持网络引导。此外,网络中需部署DHCP服务器以自动分配IP地址并指定引导文件位置,同时TFTP(Trivial File Transfer Protocol,简单文件传输协议)服务提供引导镜像文件的下载。这些条件在现代服务器和大多数PC上基本都能得到满足,只需在BIOS设置中允许从Network或LAN启动即可。
一 部署PXE远程安装服务
在大规模的 Linux 应用环境中,如Web 群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方法显然已经难以满足需求。
部署方法具备三个优点:
| 规模化 | 同时装配多台服务器 |
| 自动化 | 安装系统,配置各种服务 |
| 远程实现 | 不需要光盘,u盘等安装介质 |
PXE 是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建 PXE网络体系,必须满足以下几个前提条件。
| 客户机的网卡支持PXE协议,且主板支持网络引导 |
| 网络中有一台DHCP服务器以便为客户机自动分配地址,指定引导文件位置 |
| 服务器通过TFTP,提供引导镜像问及那的下载 |
1.搭建PXE远程安装服务器
(1)设备清单
| 设备 | IP地址 | 系统 | 备注 |
| PXE服务器 | 192.168.10.101 | QPENEULER24.03 |
(2.)准备Linux安装源
Linux 的网络安装源一般通过 HTTP、FTP协议发布,另外也支持 NFS(NetworkFile System,网络文件系统)协议,关于NFS的配置请参阅其他资料,这里不再赘述。
例如,若采用 FTP协议发布安装源,可以在服务器上部署一个YUM 软件仓库。



(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 引导流程中,1dlinux.c32 负责处理引导菜单的配置,并根据用户的选择或默认设置加载相应的内核和参数。
libcom32.c32 是 SYSLINUX 提供的一组常用函数的库文件,这些函数被 1dlinux.c32 和其他引导程序所使用。它包含了处理文件系统、内存分配、字符串操作等底层功能的实现。libcom32.c32 使SYSLINUX 引导程序能够更高效地执行其任务,而无需在每个引导程序中重复实现这些基础功能。
(5)准备PEX引导程序
用于 PXE 网络安装的引导程序为 pxelinux.0,由软件包 syslinux 提供。安装好软件包syslinux,然后将文件 pxelinux.0 也复制到 tftp 服务的根目录下。

(6)安装并启用DHCP服务
DHCP 服务器。
由于 PXE 客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好 DHCP 服务来自动分配地址并告知引导文件位置。如PXE服务器的 IP 地址为192.168.10.101,DHCP 地址池为 192.168.10.200~192.168.10.250,则可以参考以下操作来搭建
入人
重启服务

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

二 验证PEX网络安装
搭建好 PXE 远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服务器或PC 裸机,一般不需要额外设置;若要为已有系统的主机重装系统,则可能需要修改BIOS设置,将“Boot First”设为“NETWORK”或“LAN”,然后重启主机;若使用VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时会报错。
如果服务器配置正确,网络连接、PXE 支持等都没有问题,则客户机重启后将自动配置 IP 地址,然后从 TFTP 服务器中获取引导程序 pxelinux.0,并根据引导菜单配置提示用户指定启动入口,如下图所示。

在提示字串“boot:”后直接执行“auto”命令,将会进入默认的图形安装入口;若执行“linux text”命令,则进入文本安装入口;若执行“linux rescue”命令,则进入救援模式。直接按 Enter 键确认后将自动通过网络下载安装文件,并进入图形安装程序界面,如下图所示。若能够成功到达这一步,说明PXE 网络安装基本成功。后续安装步骤与使用光盘的正常安装类似,这里不再叙述。

三 实现KICKSTART 无人值守安装
1.上一节介绍了通过 PXE 技术远程安装Linux系统的方法,安装介质不再受限于光盘、移动硬盘等设备,大大提高了系统安装的灵活性。然而,安装期间仍需要手动选择语言、键盘类型、指定安装源等一系列交互操作,当需要批量安装时非常不方便。
本节将进一步学习如何实现无人值守自动安装,通过使用安装应答文件,自动完成安装过程中的各种设置,从而无须手动干预,提高网络装机效率。
在 openeuler24.03或centos8 等系统版本中,不再支持system-config-kickstart 工具,无法通过此工具生成应答文件,需要直接编辑ks.cfg文件。
2.编辑应答文件


3.实现批量自动装机
有了自动安装的应答文件之后,只要将其放置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系统,而无须手工干预,如图所示,这样就可以同时为多台客户机安装统了。

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)