PXE高效批量网络装机

1.搭建PXE远程安装服务

PXE批量部署的优点

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

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

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

(1)设备清单

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

(2)准备linux安装源

采用FTP协议发布安装源,可以在服务器上部署一个YUM软件仓

(3)安装并启用TFTP服务

  • 安装tftp-server软件包,启用tftp服务
  • 配置文件位于/etc/xinetd.d/tftp

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

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

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

[root@localhost ~]# cd  /media/cdrom/images/pxeboot
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot

[root@localhost pxeboot]#cd  /media/cdrom/isolinux/
[root@localhost isolinux]# cp ldlinux.c32 libcom32.c32 /var/1ib/tftpboot/

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

(5)准备PXE引导程序

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

[root@localhost ~]# dnf -y install syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

(6)安装并启用DHCP服务

安装:

[root@localhost ~]# yum -y install dhcp

[root@localhost ~]# vi /etc/dhcp/dhcpd.conf

重启:

[root@localhost ~]# systemctl start dhcpd

[root@localhost ~]# systemctl enable dhcpd

(7)配置启动菜单文件

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

2.验证PEX网络安装

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

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

二  实现Kickstart 无人值守安装

kickstart无人值守技术

  • 创建应答文件,预先定义好各种安装设置
  • 免去交互设置过程,从而实现全自动化安装

编辑答应文件

 

[root@localhost ~]# grep -v ^# /root/ks.cfg

^#/root/ks.cfg url --url="ftp://192.168.10.101/euler"

# 系统语言设置
lang zh_CN.UTF-8

keyboard us
#网络配置(以DHCP为例)
network --bootproto=dhcp --device=eth0 --activate

#安全策略
authselect --enableshadow--passalgo=sha512

selinux --enforcing
rootpw --iscrypted$y$j9T$QqwtZ/njxxUpfvOfVbMCa99t$46wHHCdZ1EXPI8G8Ms9rE20JnY0kuLkXzyrq4nbwS98

#时区设置
timezone Asia/Shanghai

# 分区方案(自动分区示例)
autopart --type=1vm --fstype=ext4
bootloader --location=mbr
# 清除旧系统并初始化磁盘
clearpart--all --initlabel
#软件包选择

%packages --nocore

@^minimal-environment

kerne1

grub2
efibootmgr

%end
# 后安装脚本

%post
# 关闭防火墙(根据实际需求选择)
systemctl disable firewalld
# 配置 SSH 允许 root登录(按需启用)
# sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/'/etc/ssh/sshd_config

实现批量自动装机

(1)启用自动答应文件

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

(2)验证无人值守安装

验证自动安装

  • 将客户机以PXE方式引导
  • 系统会自动完成安装,并配置好软件仓库
  • 整个安装过程无需手动干预

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值