第 5 章 将 iPXE 配置为 Reduce Provisioning Times


您可以使用 Satellite 配置 PXELinux 以 BIOS 模式中链引导 iPXE,如果有以下限制阻止您使用 PXE,则使用 HTTP 协议进行引导:

  • 带有非受管 DHCP 服务器的网络。
  • 将网络列入黑名单或受防火墙限制的 PXE 服务。
  • 由于网络低带宽网络,因此基于 UDP 的不可靠 TFTP 协议。

有关 iPXE 支持的更多信息,请参阅支持的配置构架

iPXE 概述

iPXE 是开源网络引导固件。它提供了一个完整的 PXE 实现,它增强了额外的功能,包括从 HTTP 服务器启动。如需更多信息,请参阅 ipxe.org

在 Red Hat Satellite 中使用 iPXE 的方法有三种:

  1. 使用 iPXE 作为主要固件的 hypervisor 启动虚拟机。
  2. 使用 PXELinux 通过 TFTP 直接在裸机主机上链式加载 iPXE.
  3. 通过 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 启动。如需更多信息,请参阅 ipxe.org 上支持的硬件,以获取预期使用基于 iPXE 引导磁盘的硬件驱动程序列表。
  • NIC 与 iPXE 兼容。

要准备 iPXE 环境,您必须对所有胶囊执行此步骤。

流程

  1. 启用 tftphttpboot 服务:

    # satellite-installer --foreman-proxy-httpboot true --foreman-proxy-tftp true
    Copy to Clipboard Toggle word wrap
  2. 安装 ipxe-bootimgs RPM 软件包:

    # yum install ipxe-bootimgs
    Copy to Clipboard Toggle word wrap
    • 使用 Linux 内核标头将 iPXE 固件复制到 TFTP 目录中:

      # cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/
      Copy to Clipboard Toggle word wrap
    • 将 UNDI iPXE 固件复制到 TFTP 目录中:

      # cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
      Copy to Clipboard Toggle word wrap
  3. 更正 SELinux 文件上下文:

    # restorecon -RvF /var/lib/tftpboot/
    Copy to Clipboard Toggle word wrap
  4. (可选)配置 Foreman 发现。更多信息请参阅 第 7 章 配置发现服务

    • 在 Satellite Web UI 中,导航到 Administer > Settings,然后点 Provisioning 选项卡。
    • 找到 Default PXE global template 条目 行,并在 Value 列中将值更改为 discovery

5.1. 引导虚拟机

有些虚拟化虚拟机监控程序使用 iPXE 作为 PXE 启动的主固件。因此,您可以在没有 TFTP 和 PXELinux 的情况下引导虚拟机。

链引导虚拟机工作流

使用虚拟化管理程序可免除对 TFTP 和 PXELinux 的需要。它具有以下工作流:

  1. 虚拟机启动
  2. iPXE 使用 DHCP 检索网络凭证
  3. iPXE 使用 DHCP 检索 HTTP 地址
  4. iPXE 从 Capsule 加载 iPXE bootstrap 模板
  5. iPXE 加载 iPXE 模板,其 MAC 作为来自 Capsule 的 URL 参数
  6. iPXE 加载安装程序的内核和初始 RAM 磁盘

确保您要使用的虚拟机监控程序支持 iPXE。以下虚拟化虚拟机监控程序支持 iPXE:

  • libvirt
  • Red Hat Virtualization
  • RHEV

配置卫星服务器以使用 iPXE

您可以使用默认模板为主机配置 iPXE 引导。如果要更改模板中的默认值,请克隆模板并编辑克隆。

流程

  1. 在 Satellite Web UI 中,导航到 Hosts > Provisioning Templates,输入 Kickstart default iPXE 并点 Search
  2. 可选:如果要更改模板,点 Clone,输入唯一名称,点 Submit
  3. 点击您要使用的模板的名称。
  4. 如果克隆模板,您可以在 Template 选项卡中进行更改。
  5. 单击 关联 选项卡,再选择您的主机使用的操作系统。
  6. 单击位置选项卡,再添加主机所在的位置。
  7. 单击 Organizations 选项卡,再添加主机所属的组织。
  8. 单击 Submit 以保存更改。
  9. 进入 Hosts > Operating systems 并选择您的主机操作系统。
  10. Templates 选项卡。
  11. iPXE Template 列表中,选择您要使用的模板。
  12. 单击 Submit 以保存更改。
  13. 进入 Hosts > All Hosts
  14. Hosts 页面中,选择您要使用的主机。
  15. 选择 Operating System 选项卡。
  16. PXE Loader 设置为 iPXE EmbeddedNone
  17. 选择 Templates 选项卡。
  18. iPXE 模板 列表中,选择 Review 以验证 Kickstart 默认 iPXE 模板是否为正确的模板。
  19. 配置 dhcpd.conf 文件,如下所示:

    if exists user-class and option user-class = "iPXE" {
      filename "http://capsule.example.com:8000/unattended/iPXE?bootstrap=1";
    } # elseif existing statements if non-iPXE environment should be preserved
    Copy to Clipboard Toggle word wrap

    如果使用隔离网络,请使用带 TCP 端口 8000 的胶囊服务器 URL,而不是卫星服务器的 URL。

    注意

    如果您使用 --foreman-proxy-http-port 安装程序 选项更改端口,请使用您的自定义端口。每次升级后,您必须更新 /etc/dhcp/dhcpd.conf 文件。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat