1.搭建PXE远程安装服务
PXE批量部署的优点
- 规模化:同时装配多台服务器
- 自动化:安装系统、配置各种服务
- 远程实现:不需要光盘、U盘等安装介质
PXE 是由 Intel公司开发的网络引导技术,工作在client/Server模式,允许客户机通过
网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建 PXE 网络体系,必须满足以下几个前提条件。
- 客户机的网卡支持 PXE 协议(集成BOOTROM芯片),且主板支持网络引导。
- 网络中有一台 DHCP服务器以便为客户机自动分配地址、指定引导文件位置。
- 服务器通过TFTP (Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
(1)设备清单
设备 | IP地址 | 系统 | 备注 |
pxe服务器 | 192.168.10.101 | OpenEuler24.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" # 系统语言设置 keyboard us #安全策略 selinux --enforcing #时区设置 # 分区方案(自动分区示例) %packages --nocore @^minimal-environment kerne1 grub2 %end %post |
实现批量自动装机
(1)启用自动答应文件
在 PXE 远程安装服务器中,将上一节建立的应答文件复制到/var/ftp/Linux目录下,使客户机能够通过 ftp:#192.168.4.254/Linux/ks.cfg访问;然后编辑引导菜单文件default,添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径。
(2)验证无人值守安装
验证自动安装
- 将客户机以PXE方式引导
- 系统会自动完成安装,并配置好软件仓库
- 整个安装过程无需手动干预