第 5 章 配置 iPXE 以减少置备时间
您可以使用 Satellite 将 PXELinux 配置为以 BIOS 模式链 iPXE,并有以下限制来阻止您使用 PXE:
- 具有非受管 DHCP 服务器的网络。
- 在网络上列入黑名单或受防火墙限制的 PXE 服务。
- 一个不可靠的 TFTP UDP 协议,因为一个低带宽网络。
有关 iPXE 支持的更多信息,请参阅支持的部署架构。
iPXE 概述
iPXE 是开源网络引导固件。它提供增强的额外功能的完整 PXE 实施,包括从 HTTP 服务器引导。如需更多信息,请参阅 ipxe.org。
在 Red Hat Satellite 中使用 iPXE 有三种方法:
- 使用 iPXE 作为主固件的虚拟机监控程序启动虚拟机。
- 通过 TFTP 使用 PXELinux 直接在裸机主机上加载 iPXE。
- 使用 PXELinux 到 UNDI,它使用 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 引导。如需更多信息,请参阅 ipxe.org 上 支持的硬件,以了解希望与基于 iPXE 的引导磁盘一起使用的硬件驱动程序列表。
- NIC 与 iPXE 兼容。
要准备 iPXE 环境,您必须在所有胶囊上执行此流程。
流程
启用 tftp 和 httpboot 服务:
satellite-installer --foreman-proxy-httpboot true --foreman-proxy-tftp true
# satellite-installer --foreman-proxy-httpboot true --foreman-proxy-tftp true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
ipxe-bootimgs
软件包:yum install ipxe-bootimgs
# yum install ipxe-bootimgs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更正 SELinux 文件上下文:
restorecon -RvF /var/lib/tftpboot/
# restorecon -RvF /var/lib/tftpboot/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将带有 Linux 内核标头的 iPXE 固件复制到 TFTP 目录中:
cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/
# cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 UNDI iPXE 固件复制到 TFTP 目录中:
cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
# cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
(可选)配置 Foreman 发现。更多信息请参阅 第 7 章 配置发现服务。
- 在 Satellite Web UI 中,导航到 Administer > Settings,然后点 Provisioning 选项卡。
- 在 Default PXE 全局模板条目行和 Value 列中找到 Default PXE 全局模板条目行,将值更改为 discovery。
5.1. 引导虚拟机 复制链接链接已复制到粘贴板!
有些虚拟化虚拟机监控程序使用 iPXE 作为 PXE 引导的主要固件。因此,您可以在没有 TFTP 和 PXELinux 的情况下引导虚拟机。
Chainbooting 虚拟机工作流
使用虚拟化虚拟机监控程序消除了 TFTP 和 PXELinux 的要求。它有以下工作流:
- 虚拟机启动
- iPXE 使用 DHCP 检索网络凭据,包括 HTTP URL
- iPXE 从 Satellite 服务器或 Capsule 加载 iPXE bootstrap 模板
- iPXE 从 Satellite 服务器或 Capsule 加载 MAC 的 iPXE 模板作为 URL 参数
- iPXE 加载安装程序的内核和初始 RAM 磁盘
先决条件
确保要使用的虚拟机监控程序支持 iPXE。以下虚拟化虚拟机监控程序支持 iPXE:
- libvirt
- Red Hat Virtualization
- RHEV (已弃用)
- 如果要使用 Capsule 服务器而不是 Satellite 服务器,请确保已相应地配置了 Capsule 服务器。如需更多信息,请参阅安装 Capsule 服务器 中的 为主机注册和置备配置 Capsule。
将 Satellite 服务器配置为使用 iPXE
您可以使用默认模板为主机配置 iPXE 引导。如果要更改模板中的默认值,请克隆模板并编辑克隆。
流程
-
在 Satellite Web UI 中,导航到 Hosts > Provisioning Templates,输入
Kickstart default iPXE
并点 Search。 - 可选:如果要更改模板,点 Clone,输入唯一名称,然后点 Submit。
- 点您要使用的模板的名称。
- 如果克隆模板,您可以在 Template 选项卡中进行更改。
- 单击 关联 选项卡,然后选择主机使用的操作系统。
- 单击 Locations 选项卡,再添加主机所在的位置。
- 单击 Organizations 选项卡,再添加主机所属的组织。
- 点 Submit 保存更改。
- 在 Satellite Web UI 中,导航到 Hosts > Operating systems 并选择主机的操作系统。
- 点 Templates 选项卡。
- 从 iPXE Template 列表中,选择您要使用的模板。
- 点 Submit 保存更改。
- 在 Satellite Web UI 中,导航到 Hosts > All Hosts。
- 在 Hosts 页面中,选择您要使用的主机。
- 选择 Operating System 选项卡。
- 将 PXE Loader 设置为 iPXE 嵌入式。
- 选择 Templates 选项卡。
- 从 iPXE 模板列表中,选择 Review 以验证 Kickstart 默认 iPXE 模板是否正确模板。
设置 HTTP URL。
如果要使用 Satellite 服务器引导,请在 Satellite 服务器上运行以下命令:
satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://satellite.example.com/unattended/iPXE?bootstrap=1"
# satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://satellite.example.com/unattended/iPXE?bootstrap=1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要使用 Capsule 进行引导,在 Capsule 上运行以下命令:
satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://capsule.example.com/unattended/iPXE?bootstrap=1"
# satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://capsule.example.com/unattended/iPXE?bootstrap=1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow