第 2 章 升级 Red Hat Satellite

警告

如果您在高可用性配置中安装了 Satellite,请在升级到 Satellite 6.13 前联系红帽支持。

使用以下步骤将现有 Red Hat Satellite 升级到 Red Hat Satellite 6.13:

2.1. 升级 Satellite 服务器

本节论述了如何将 Satellite 服务器从 6.12 升级到 6.13。您可以从 Satellite Server 6.12 的任何次要版本升级。

开始前

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

胶囊注意事项

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

如果实施自定义证书,您必须保留 /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 服务器 中的 为安装准备您的环境

2.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 Maintenance 存储库:

    # subscription-manager repos --enable \
    satellite-maintenance-6.13-for-rhel-8-x86_64-rpms
  8. 启用维护模块:

    # dnf module enable satellite-maintenance:el8
  9. 检查可用版本以确认列出了您想要的版本:

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

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

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

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

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

  12. 执行升级:

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

    # dnf needs-restarting --reboothint
  14. 可选:如果上一个命令告知您重新引导,请重启系统:

    # reboot

2.1.2. 升级未连接的 Satellite 服务器

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

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

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

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

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

开始前

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

升级断开连接的 Satellite 服务器

  1. 停止所有 Satellite 服务:

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

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

    # satellite-maintain service start
  4. 预升级脚本可用于检测在 Satellite 服务器中有重复条目的主机,在升级后可以取消注册并删除的主机。此外,它将检测未分配给组织的主机。如果在 Hosts > All hosts 下列出主机,且没有机构关联,并且具有相同名称的内容主机已关联有机构,则会自动取消注册内容主机。在升级前,通过将此类主机关联到组织来避免这种情况。

    运行预升级检查脚本以获取升级后可以删除的主机列表。如果找到任何未关联的主机,建议在升级前将它们与机构关联。

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

    # satellite-installer --foreman-proxy-dns-managed=false \
    --foreman-proxy-dhcp-managed=false
  7. 在 Satellite Web UI 中,导航到 Hosts > Discovered hosts。如果有可用的主机,请关闭它们,然后删除 Discovered hosts 页面下的所有条目。选择所有其他组织依次使用机构设置菜单,并根据需要重复此操作。升级完成后重启这些主机。
  8. 确保所有外部胶囊服务器都分配到一个组织,否则可能会因为主机未修改而取消注册。
  9. 删除旧的软件仓库:

    # rm /etc/yum.repos.d/*
  10. 停止 Satellite 服务:

    # satellite-maintain service stop
  11. 按照在 Disconnected Network Environment 中安装 Satellite Server 中的 下载 Binary DVD 镜像 中的步骤获取最新的 ISO 文件。
  12. 按照在 在断开连接的网络环境中安装 Satellite 服务器 中的 在 RHEL 8 中使用脱机存储库配置基本操作系统 流程,创建用作挂载点、挂载 ISO 镜像以及配置 rhel8 存储库的目录。

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

  13. 从 ISO 文件配置 Satellite 6.13 存储库。

    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/sat6.repo
      1. 将默认的 InstallMedia 存储库名称改为 Satellite-6.13

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

        baseurl=file:///media/sat6/Satellite
  14. 从 ISO 文件配置 Red Hat Satellite Maintenance 存储库。

    1. 为 Red Hat Satellite 维护软件包复制 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/
  15. 启用维护模块:

    # dnf module enable satellite-maintenance:el8
  16. 由于升级时间较长,请使用 tmux 等工具来暂停并重新附加通信会话。然后您可以检查升级进度,而不会持续连接到命令 shell。

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

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

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

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

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

  19. 执行升级:

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

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

  20. 确定系统是否需要重启:

    # dnf needs-restarting --reboothint
  21. 可选:如果上一个命令告知您重新引导,请重启系统:

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

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

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