7.8. 构建发现镜像

发现镜像是一个最小的操作系统,在主机上进行 PXE 引导以获取初始硬件信息,并使用 Satellite 签入。发现的主机会继续运行 Discovery 镜像,直到被重启到 Anaconda 中,然后启动置备过程。

操作系统镜像基于红帽企业 Linux 7。

foreman-discovery-image 软件包包含此镜像。您必须在提供 TFTP 服务的胶囊上安装该软件包。

如果您更改配置文件,请使用此流程构建 Satellite 发现镜像或重新构建镜像。

请勿在您的生产卫星或胶囊中使用此步骤。使用专用环境,或者将同步的存储库和 kickstart 文件复制到单独的服务器。

前提条件

  • 安装 livecd-tools 软件包:

    # satellite-maintain packages install livecd-tools
  • 对于构建发现镜像所需的以下 Red Hat Enterprise Linux 7 软件仓库,请将下载策略更改为 Immediate。这是必要的,因为卫星仅在与即时下载策略同步存储库期间下载所有软件包。

    • 最新的 Red Hat Enterprise Linux 7 服务器(Kickstart) 软件仓库。例如,Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.7
    • 红帽卫星胶囊 6.9 (适用于 RHEL 7 服务器)RPM x 86_64.

    有关更改下载策略的更多信息,请参阅 内容管理指南中的更改存储库下载 策略。

  • 同步构建发现镜像所需的以下 Red Hat Enterprise Linux 7 软件仓库:

    • 最新的 Red Hat Enterprise Linux 7 服务器(Kickstart) 软件仓库。例如,Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.7
    • 红帽卫星胶囊 6.9 (适用于 RHEL 7 服务器)RPM x 86_64.

    有关同步存储库的更多信息,请参阅 内容 管理指南中的 同步红帽存储库

流程

要构建 Satellite 发现镜像,请完成以下步骤:

  1. 打开 /usr/share/foreman-discovery-image/foreman-discovery-image.ks 文件进行编辑:

    # vim /usr/share/foreman-discovery-image/foreman-discovery-image.ks
  2. 将 kickstart 文件中的存储库行替换为存储库 URL:

    repo --name=rhel --baseurl=file:///var/lib/pulp/published/yum/https/repos/Default_Organization/Library/content/dist/rhel/server/7/7.7/x86_64
    repo --name=sat --baseurl=file:///var/lib/pulp/published/yum/https/repos/Default_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/sat-capsule/6.9/os
  3. 运行 livecd-creator 工具:

    # livecd-creator --title="Discovery-Image" \
    --compression-type=xz \
    --cache=var/cache/build-fdi \
    --config /usr/share/foreman-discovery-image/foreman-discovery-image.ks \
    --fslabel fdi \
    --tmpdir /var/tmp

    如果您在 --fslabel 选项中更改 fdi,在载入镜像时,还必须更改内核命令行中的 root 标签。fdi 或备用名称附加到作为此流程一部分创建的 .iso 文件中。当从 .iso 转换为 PXE 时,PXE 发现工具使用此名称。

    使用 /var /tmp ,因为如果系统在 swap 空间较低,这个过程需要接近 3GB 空间,因此可能出现问题。

  4. 验证您的 fdi.iso 文件是否已创建:

    # ls -h *.iso

在创建 .iso 文件时,您可以通过网络或本地引导 .iso 文件。完成以下步骤之一。

要通过网络引导 iso 文件:

  1. 要通过网络从 .iso 文件中提取初始 ramdisk 和内核文件,请输入以下命令:

    # discovery-iso-to-pxe fdi.iso
  2. 创建用于存储您的引导文件的目录:

    # mkdir /var/lib/tftpboot/boot/myimage
  3. initrd0.imgvmlinuz0 文件复制到新目录。
  4. 编辑 /var/lib/tftpboot/pxelinux.cfg 文件中的 KERNELAPPEND 条目,以添加您自己初始 ramdisk 和内核文件的信息。

在本地引导 iso 文件:

如果要为本地引导创建混合 .iso 文件,请完成以下步骤:

  1. 要将 .iso 文件转换为 .iso 混合文件进行 PXE 调配,请输入以下命令:

    # isohybrid --partok fdi.iso

    如果您安装了 grub2 软件包,您可以使用以下命令安装 grub2 引导装载程序:

    # isohybrid --partok --uefi fdi.iso
  2. 要在 .iso 文件中添加 md5 checksum,以便它在 Satellite 中传递安装介质验证测试,请输入以下命令:

    # implantisomd5 fdi.iso