5.2. 链引导虚拟机

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

链引导虚拟机工作流

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

  1. 虚拟机启动
  2. iPXE 使用 DHCP 检索网络凭证
  3. iPXE 使用 DHCP 检索 HTTP 地址
  4. iPXE 链从模板胶囊加载 iPXE 模板
  5. iPXE 加载安装程序的内核和初始 RAM 磁盘

如果要将发现服务与 iPXE 一起使用,请参阅 第 5.1 节 “为 iPXE 设置发现服务”

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

  • libvirt
  • Red Hat Virtualization
  • RHEV

配置卫星服务器以使用 iPXE

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

流程

  1. 将引导文件复制到 Satellite 服务器上的 TFTP 目录中:

    • 对于 EFI 系统,复制 ipxe.efi 文件:

      # cp /usr/share/ipxe/ipxe.efi /var/lib/tftpboot/
    • 对于 BIOS 系统,复制 undi.kpxe 文件:

      # cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly.0
  2. 在 Satellite Web UI 中,导航到 Hosts > Provisioning Templates,输入 Kickstart default iPXE 并点 Search
  3. 可选:如果要更改模板,点 Clone,输入唯一名称,点 Submit
  4. 点击您要使用的模板的名称。
  5. 如果克隆模板,您可以在 Template 选项卡中进行更改。
  6. 关联 选项卡,然后选择主机使用的操作系统。
  7. 单击位置选项卡,再添加主机所在的位置。
  8. 单击组织选项卡,再添加主机所属的组织。
  9. 单击 Submit 以保存更改。
  10. 进入 Hosts > Operating systems 并选择您的主机操作系统。
  11. Templates 选项卡。
  12. iPXE Template 列表中,选择您要使用的模板。
  13. 单击 Submit 以保存更改。
  14. 进入 Hosts > All Hosts
  15. Hosts 页面中,选择您要使用的主机。
  16. 选择 Templates 选项卡。
  17. iPXE 模板 列表中,选择 Review 以验证 Kickstart 默认 iPXE 模板是否为正确的模板。
  18. 要将 iPXE bootstrapping 功能用于 Satellite,请按如下所示配置 dhcpd.conf 文件:

    if exists user-class and option user-class = "iPXE" {
      filename "http://satellite.example.com/unattended/iPXE?bootstrap=1";
    } elsif option architecture = 00:06 {
      filename "ipxe.efi";
    } elsif option architecture = 00:07 {
      filename "ipxe.efi";
    } elsif option architecture = 00:09 {
      filename "ipxe.efi";
    } else {
      filename "undionly.0";
    }

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

    注意

    当禁用胶囊 HTTP 端点时,请使用 http://satellite.example.com/unattended/iPXE?bootstrap=1 (installer 选项 --foreman-proxy-http false)。模板胶囊插件在启用后的默认值为 8000,可以通过 --foreman-proxy-http-port 安装程序选项 更改。在这种情况下,使用 http://capsule.example.com:8000。每次升级后,您必须更新 /etc/dhcp/dhcpd.conf 文件。