第 5 章 将 iPXE 配置为 Reduce Provisioning Times
如果您有以下限制,您可以使用 Satellite 配置 PXELinux 来串联引导 iPXE,并使用 HTTP 协议引导:
- 带有非受管 DHCP 服务器的网络。
- 将网络列入黑名单或受防火墙限制的 PXE 服务。
- 由于网络低带宽网络,因此基于 UDP 的不可靠 TFTP 协议。
iPXE 工作流概述
使用 iPXE 的置备过程遵循此工作流:
- 发现的主机通过 PXE 引导。
-
主机加载
ipxe.efi
或undionly.0
。 - 主机使用 DHCP 在网络上再次初始化。
- DHCP 服务器检测到 iPXE 固件,并使用 bootstrap 标记返回 iPXE 模板 URL。
- 主机请求 iPXE 模板。卫星无法识别主机,因为已设置了 bootstrap 标志,主机接收与 Satellite 附带的 iPXE 中间脚本模板。
- 主机运行中间 iPXE 脚本并下载发现镜像。
- 主机启动发现操作系统,并执行发现请求。
- 为置备和重启主机调度了主机。
- 主机通过 PXE 引导。
- 上述工作流重复,但卫星会识别主机的远程 IP 地址,而不是中间模板,主机会收到常规 iPXE 模板。
- 主机读取 iPXE 配置并引导安装程序。
- 此时,安装遵循常规 PXE 安装工作流。
请注意,工作流使用发现过程,它是可选的。要设置发现服务,请参阅 第 5.1 节 “为 iPXE 设置发现服务”。
使用 Satellite 时,您可以将主机设置为通过 TFTP 下载 ipxe.efi
或 undionly.kpxe
。文件下载时,所有通信都会继续使用 HTTP。卫星使用 iPXE 调配脚本,以按顺序加载操作系统安装程序或下一个条目。
在 Red Hat Satellite 中使用 iPXE 的方法有三种:
- 使用 iPXE 作为主固件的虚拟机监控程序进行链引导虚拟机.
- 使用 PXELinux 通过 TFTP 直接在裸机主机上链式加载 iPXE.
- 通过 UNDI 使用 PXELinux,它将使用 HTTP 来传输裸机主机上的内核和初始 RAM 磁盘。
安全信息
Red Hat Enterprise Linux 中的 iPXE 二进制文件构建没有一些安全功能。因此,您只能使用 HTTP,且无法使用 HTTPS。
+ 不支持 Red Hat Enterprise Linux 中 iPXE 的所有与安全相关的功能。如需更多信息,请参阅 iPXE 中的 Red Hat Enterprise Linux HTTPS 支持。
前提条件
开始前,请确保满足以下条件:
- 要使用 Red Hat Satellite 上有一个主机。
- 置备接口的 MAC 地址与主机配置匹配。
- 主机的置备接口具有有效的 DHCP 保留。
- NIC 能够进行 PXE 启动。如需更多信息,请参阅 http://ipxe.org/appnote/hardware_drivers。
- NIC 与 iPXE 兼容。
5.1. 为 iPXE 设置发现服务
在胶囊服务器上安装 Foreman 发现服务:
# yum install foreman-discovery-image
在胶囊服务器上,启用 httpboot 服务:
# satellite-installer --foreman-proxy-httpboot true
- 在 Satellite Web UI 中,导航到 Administer > Settings,然后点 Provisioning 选项卡。
- 找到 Default PXE 全局模板条目 行,在 Value 列中,将值更改为 discovery。