第 3 章 升级 Red Hat Satellite

使用以下流程将现有 Red Hat Satellite 升级到 Red Hat Satellite 6.12:

3.1. 升级 Satellite 服务器

这部分论述了如何将 Satellite 服务器从 6.11 升级到 6.12。您可以从 Satellite 服务器 6.11 的任何次要版本升级。

开始前

  • 请注意,您可以独立于 Satellite 升级胶囊。更多信息请参阅 第 1.4 节 “从 Satellite 升级胶囊”
  • 在升级卫星服务器之前,检查和更新您的防火墙配置。如需更多信息,请参阅 在连接的网络环境中安装 Satellite 服务器 中的 为安装准备您的环境
  • 确保您没有从客户门户网站或 Satellite Web UI 中删除清单,因为这会移除您的内容主机的所有权利。
  • 如果您编辑了任何默认作业或调配模板,请通过克隆或导出这些文件来备份文件。推荐的方法克隆是推荐的方法,因为这会在以后更新或升级过程中被覆盖。要确认模板是否已编辑,您可以在升级前查看其 历史,或者在升级后查看审计日志中的更改。在 Satellite Web UI 中,进入 Monitor > Audits 并搜索模板以查看所做的更改记录。如果您使用导出方法,请通过比较导出的模板和默认模板来恢复您的更改,请手动应用您的更改。

胶囊注意事项

  • 如果使用 Content Views 来控制对胶囊服务器的基本操作系统的更新,或为胶囊服务器存储库控制更新,您必须发布这些内容视图的更新版本。
  • 请注意,卫星服务器从 6.11 升级到 6.12,它仍可使用位于 6.11 的胶囊服务器。
警告

如果实施自定义证书,您必须保留 /root/ssl-build 目录的内容,以及您在其中创建与自定义证书关联的所有源文件的内容。

在升级过程中无法保留这些文件会导致升级失败。如果删除了这些文件,则必须从备份中恢复这些文件,以便进行升级。

升级场景

您无法升级自注册 Satellite。您必须将自注册的 Satellite 迁移到 Red Hat Content Delivery Network(CDN),然后执行升级。

FIPS 模式

您不能将 Satellite 服务器从没有以 FIPS 模式运行的 RHEL 基础操作系统升级到在 FIPS 模式下运行的 RHEL 基础操作系统。

要在使用 FIPS 模式的 Red Hat Enterprise Linux 基础操作系统中运行 Satellite,您必须使用 FIPS 模式在全新置备的 RHEL 基础操作系统上安装 Satellite。如需更多信息,请参阅 在连接的网络环境中安装 Satellite 服务器 中的 为安装准备您的环境

3.1.1. 升级连接的 Satellite 服务器

对可访问公共互联网的 Satellite 服务器使用这个步骤

警告

如果您通过手动自定义配置文件,或者使用 Hiera 等工具,当安装脚本升级或更新期间运行时,这些更改会被覆盖。您可以将 --noop 选项与 satellite-installer 脚本一起使用以测试是否有更改。如需更多信息,请参阅红帽知识库解决方案 如何在升级过程中使用 noop 选项检查 Satellite 配置文件的更改。

升级 Satellite 服务器

  1. 停止所有 Satellite 服务:

    # satellite-maintain service stop
  2. 创建快照或创建备份:

    • 在虚拟机上执行快照。
    • 在物理机器上创建备份。
  3. 启动所有 Satellite 服务:

    # satellite-maintain service start
  4. 可选:如果您手动编辑 /etc/zones.conf/etc/dhcp/dhcpd.conf 文件中的 DNS 或 DHCP 配置,请备份配置文件,因为安装程序只支持一个域或子网,因此可能需要从这些备份中恢复更改。
  5. 可选:如果您手动编辑 DNS 或 DHCP 配置文件且不想覆盖更改,请输入以下命令:

    # satellite-installer --foreman-proxy-dns-managed=false \
    --foreman-proxy-dhcp-managed=false
  6. 在 Satellite Web UI 中,导航到 Hosts > Discovered hosts。在 Discovered Hosts 页面上,关闭电源,然后删除发现的主机。在 Select an Organization 菜单中,选择每个机构,再重复该过程以关闭并删除发现的主机。升级完成后,请注意要重新启动这些主机。
  7. 在当前升级过程中,您必须启用 Satellite 6.12 (或 Capsule)存储库来限制 Satellite Maintenance 存储库以外的任何更新。在继续操作前,请阅读发行注记中的已知问题作为临时解决方案。

    启用 Satellite Maintenance 存储库和 Satellite 6.12 存储库:

    # subscription-manager repos \
    --enable satellite-maintenance-6.12-for-rhel-8-x86_64-rpms \
    --enable satellite-6.12-for-rhel-8-x86_64-rpms

    如果 Satellite 6.11 系统使用 Leapp 从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8,请手动启用 Satellite 模块:

    # dnf module enable satellite:el8
  8. 检查可用版本以确认您要列出的版本:

    # satellite-maintain upgrade list-versions
  9. 使用健康检查选项来确定系统是否已准备好升级。在提示时,输入 hammer admin 用户凭证以使用 hammer 凭证配置 satellite-maintain。这些更改应用到 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件。

    # satellite-maintain upgrade check --target-version 6.12

    在执行升级前,查看结果并解决所有突出显示的错误条件。

  10. 由于升级时间较长,使用 tmux 等实用程序来暂停并重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

    如果您丢失了运行 upgrade 命令的命令 shell,您可以看到 /var/log/foreman-installer/satellite.log 文件中的日志信息,以检查进程是否已成功完成。

  11. 执行升级:

    # satellite-maintain upgrade run --target-version 6.12
  12. 确定系统是否需要重启:

    1. 检查最新安装内核的版本:

      # rpm --query --last kernel | head -n 1
    2. 这与当前运行的内核版本进行比较:

      # uname --kernel-release
  13. 可选:如果最新内核与当前运行的内核不同,请重启系统:

    # reboot
  14. 如果使用 BASH shell,在成功或失败升级后,请输入:

    # hash -d satellite-maintain service 2> /dev/null

3.1.2. 升级断开连接的 Satellite 服务器

如果您的 Satellite 服务器没有连接到 Red Hat Content Delivery Network,请使用这个步骤。

警告
  • 如果您自定义了配置文件,可以手动或使用 Hiera 等工具,在升级或更新期间输入 satellite-maintain 命令时,这些更改会被覆盖。您可以将 --noop 选项与 satellite-installer 命令一起使用,以检查在升级或更新期间应用的更改。如需更多信息,请参阅红帽知识库解决方案 如何在升级过程中使用 noop 选项检查 Satellite 配置文件中的更改
  • hammer 导入和导出命令已被 hammer content-importhammer content-export 工具替代。

    如果您有使用 hammer content-view 版本导出hammer content-view 版本 export-legacyhammer 仓库导出 或其相应的导入命令的脚本,则必须调整它们以使用 hammer content-export 命令及其相应的导入命令。

  • 如果实施自定义证书,您必须保留 /root/ssl-build 目录的内容,以及您在其中创建与自定义证书关联的所有源文件的内容。

    在升级过程中无法保留这些文件会导致升级失败。如果删除了这些文件,则必须从备份中恢复这些文件,以便进行升级。

开始前

  • 在升级 Satellite 服务器前,请检查和更新防火墙配置。如需更多信息,请参阅 在断开连接的网络环境中安装 Satellite 服务器 中的 端口和防火墙要求
  • 确保您没有从客户门户网站或 Satellite Web UI 中删除清单,因为这会移除您的内容主机的所有权利。
  • 在升级前备份并删除所有 Foreman hook。只有在升级完成后,才会在 Satellite 已知后重新恢复 hook。
  • 所有卫星服务器必须位于同一版本。

升级断开连接的 Satellite 服务器

  1. 停止所有 Satellite 服务:

    # satellite-maintain service stop
  2. 创建快照或创建备份:

    • 在虚拟机上执行快照。
    • 在物理机器上创建备份。
  3. 启动所有 Satellite 服务:

    # satellite-maintain service start
  4. 可选:如果您手动编辑 /etc/zones.conf/etc/dhcp/dhcpd.conf 文件中的 DNS 或 DHCP 配置,请备份配置文件,因为安装程序只支持一个域或子网,因此可能需要从这些备份中恢复更改。
  5. 可选:如果您手动编辑 DNS 或 DHCP 配置文件且不想覆盖更改,请输入以下命令:

    # satellite-installer --foreman-proxy-dns-managed=false \
    --foreman-proxy-dhcp-managed=false
  6. 在 Satellite Web UI 中,导航到 Hosts > Discovered hosts。如果发现主机可用,请关闭它们,然后删除 Discovered hosts 页面中的所有条目。依次选择所有其他组织,使用机构设置菜单,并根据需要重复此操作。在升级完成后重启这些主机。
  7. 删除旧的软件仓库:

    # rm /etc/yum.repos.d/*
  8. 在断开连接的网络环境中 安装 Satellite Server 中的 下载 Binary DVD 镜像 步骤来获得最新的 ISO 文件。
  9. 按照在 在断开连接的网络环境中安装 Satellite 服务器 中的 在 RHEL 8 中使用脱机存储库配置基本操作系统 流程,创建用作挂载点、挂载 ISO 镜像以及配置 rhel8 存储库的目录。

    不要在这个阶段安装或更新任何软件包。

  10. 从 ISO 文件配置卫星 6.12 存储库。

    1. 复制 Red Hat Satellite 软件包的 ISO 文件仓库数据文件:

      # cp /media/sat6/Satellite/media.repo /etc/yum.repos.d/satellite.repo
    2. 编辑 /etc/yum.repos.d/satellite.repo 文件:

      # vi /etc/yum.repos.d/satellite.repo
      1. 将默认的 InstallMedia 存储库名称改为 Satellite-6.12

        [Satellite-6.12]
      2. 添加 baseurl 指令:

        baseurl=file:///media/sat6/Satellite
  11. 从 ISO 文件配置 Red Hat Satellite Maintenance 软件仓库。

    1. 复制 Red Hat Satellite Maintenance 软件包的 ISO 文件仓库数据文件:

      # cp /media/sat6/Maintenance/media.repo /etc/yum.repos.d/satellite-maintenance.repo
    2. 编辑 /etc/yum.repos.d/satellite-maintenance.repo 文件:

      # vi /etc/yum.repos.d/satellite-maintenance.repo
      1. 将默认的 InstallMedia 存储库名称改为 Satellite-Maintenance

        [Satellite-Maintenance]
      2. 添加 baseurl 指令:

        baseurl=file:///media/sat6/Maintenance/
  12. 由于升级时间较长,使用 tmux 等实用程序来暂停并重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

    如果您丢失了运行 upgrade 命令的命令 shell,您可以在 /var/log/foreman-installer/satellite.log 中看到日志,以检查进程是否成功完成。

  13. 检查可用版本以确认您要列出的版本:

    # satellite-maintain upgrade list-versions
  14. 使用健康检查选项来确定系统是否已准备好升级。在提示时,输入 hammer admin 用户凭证以使用 hammer 凭证配置 satellite-maintain。这些更改应用到 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件。

    # satellite-maintain upgrade check --target-version 6.12 \
    --whitelist="repositories-validate,repositories-setup"

    在执行升级前,查看结果并解决所有突出显示的错误条件。

  15. 执行升级:

    # satellite-maintain upgrade run --target-version 6.12 \
    --whitelist="repositories-validate,repositories-setup"

    如果因为丢失或过时的软件包而导致脚本失败,则必须单独下载并安装。如需更多信息,请参阅 在断开连接的网络环境中安装 Satellite 服务器 中的 解决软件包依赖错误

  16. 如果使用 BASH shell,在成功或失败升级后,请输入:

    # hash -d satellite-maintain service 2> /dev/null
  17. 检查内核软件包是否最后一次更新:

    # rpm -qa --last | grep kernel
  18. 可选: 如果自上次重启以来发生内核更新,停止 Satellite 服务并重启系统:

    # satellite-maintain service stop
    # reboot
  19. 可选:如果您手动编辑 DNS 或 DHCP 配置文件,请使用您所做的备份来检查和恢复 DNS 和 DHCP 配置文件所需的任何更改。
  20. 如果您在上一步中进行更改,请重启 Satellite 服务:

    # satellite-maintain service restart
  21. 如果您已安装了 OpenSCAP 插件,但没有可用的默认 OpenSCAP 内容,请输入以下命令。

    # foreman-rake foreman_openscap:bulk_upload:default
  22. 在 Satellite Web UI 中,进入 Configure > Discovery Rules,并将所选机构和位置与发现规则关联。