升级和更新 Red Hat Satellite

Red Hat Satellite 6.11

升级和更新 Red Hat Satellite Server 和 Capsule 服务器

Red Hat Satellite Documentation Team

摘要

本指南描述了升级和更新 Red Hat Satellite Server、Capsule 服务器和主机。

前言

在本指南中,升级、更新和迁移术语有以下含义:

升级
将 Satellite 服务器和 Capsule 服务器从 y-stream 版本安装到下一个版本的过程,例如 Satellite 6.10 到 Satellite 6.11。如需更多信息,请参阅 第 1 章 升级概述
更新
将 Satellite 服务器和 Capsule 服务器从 z-stream 版本安装到下一个版本的过程,例如 Satellite 6.11.0 到 Satellite 6.11.1。
迁移
将现有 Satellite 安装移动到新实例的过程。如需更多信息,请参阅 第 5 章 将 Satellite 迁移到新的 Red Hat Enterprise Linux 系统

向红帽文档提供反馈

我们感谢您对文档提供反馈信息。请让我们了解如何改进文档。

您可以通过在 Bugzilla 中记录一个 ticket 来提交反馈:

  1. 导航到 Bugzilla 网站。
  2. Component 字段中,使用 Documentation
  3. Description 字段中,输入您要改进的建议。包括文档相关部分的链接。
  4. Submit Bug

第 1 章 升级概述

在将当前的 Red Hat Satellite 安装升级到 Red Hat Satellite 6.11 之前,请查看以下先决条件和可用升级路径。

有关交互式升级说明,您还可以使用红帽客户门户网站上的 Red Hat Satellite Upgrade Helper。此应用程序为您提供了与当前版本号匹配的准确指南。您可以找到特定于升级路径的说明,以及防止已知问题的步骤。如需更多信息,请参阅红帽客户门户网站中的 Satellite Upgrade Helper

请注意,您可以独立于 Satellite 升级 Capsule。更多信息请参阅 第 1.4 节 “从 Satellite 独立升级 Capsule”

1.1. 先决条件

升级到 Satellite 6.11 会影响您的整个 Satellite 基础架构。在继续操作前,完成以下操作:

  • 阅读 Red Hat Satellite 6.11 发行注记
  • 规划升级路径。更多信息请参阅 第 1.2 节 “升级路径”
  • 计划所需的停机时间。Satellite 服务在升级过程中关闭。升级过程持续时间可能会因硬件配置、网络速度和保存在服务器上的数据量而有所不同。

    升级 Satellite 需要大约需要 1到 2 个小时。

    升级 Capsule 大约需要 10 到 30 分钟。

  • 确保您的服务器上有足够的存储空间。如需更多信息,请参阅 在连接网络环境中安装 Satellite 服务器中的为安装准备您的环境,以及 安装 Capsule Server 中的 为安装准备您的环境
  • 备份 Satellite 服务器和所有 Capsule 服务器。如需更多信息,请参阅 管理 Red Hat Satellite 中的 备份 Satellite 服务器和 Capsule 服务器
  • 计划更新包含 Satellite API 命令的任何脚本,因为一些 API 命令在 Satellite 版本之间有所不同。
警告

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

1.2. 升级路径

您可以从 Red Hat Satellite 6.10 升级到 Red Hat Satellite 6.11。

早期版本上的 Satellite 服务器和 Capsule 服务器必须首先升级到 Satellite 6.10。如需更多信息,请参阅 将 Red Hat Satellite 升级到 6.10

高级升级步骤

将 Satellite 升级到 6.11 中的高级别步骤如下:

  1. 可选:克隆现有的 Satellite 服务器。如需更多信息,请参阅 第 2 章 克隆 Satellite 服务器
  2. 将 Satellite 服务器和所有 Capsule 服务器升级到 Satellite 6.11。如需更多信息,请参阅 第 3.1 节 “升级 Satellite 服务器”
  3. 将所有 Capsule 服务器升级到 6.11。如需更多信息,请参阅 第 3.3 节 “升级 Capsule 服务器”
  4. 升级到所有内容主机上的 Satellite 客户端 6。如需更多信息,请参阅 第 3.4 节 “升级内容主机”
  5. 可选:升级 Satellite 后,您还可以将 Satellite 服务器和 Capsule 上的操作系统升级到 Red Hat Enterprise Linux 8。升级您的操作系统的方法有两种:

  6. 继续 第 3.6 节 “执行升级后任务”

1.3. 根据升级的 Progress

由于长时间升级时间,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。如需更多信息,请参阅 tmux 手册页。

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

1.4. 从 Satellite 独立升级 Capsule

您可以将 Satellite 升级到 6.11 版本,并在版本 6.10 上保留 Capsule,直到您拥有升级它们的容量。

之前在 6.10 Capsule 上可以正常工作的所有功能。但是,在 6.11 版本中添加的功能在将 Capsule 升级到 6.11 之前,将无法正常工作。

升级 Satellite 后升级 Capsule 在以下示例场景中很有用:

  1. 如果要有多个较小的中断窗口,而不是一个较大的窗口。
  2. 如果您的机构中的 Capsule 由多个团队管理,并位于不同的位置。
  3. 如果使用负载均衡的配置,您可以升级一个负载均衡的 Capsule,并将其他负载均衡的 Capsule 保持较低版本。这可让您在不中断的情况下在另一个 Capsule 后升级所有 Capsule。

第 2 章 克隆 Satellite 服务器

您可以克隆 Satellite 服务器来创建实例,以尝试升级以及将实例迁移到其他机器或操作系统。这是在升级过程中提供更大的灵活性的可选步骤。

注意

创建的实例不应在生产环境中并行运行。在完成迁移后,您必须在测试或任何旧实例后停用任何测试实例。

使用以下步骤克隆 Satellite 实例,以保留您的环境以准备升级。

Satellite 克隆工具不支持将 Capsule 服务器迁移到 Red Hat Enterprise Linux 7。相反,您必须备份现有的 Capsule 服务器,在 Red Hat Enterprise Linux 7 上恢复它,然后重新配置 Capsule 服务器。

术语

确保您了解以下术语:

源服务器
克隆的来源。
目标服务器
将文件复制到的远程服务器并将源服务器克隆到其中。

2.1. 克隆进程概述

  1. 备份源服务器。
  2. 将源服务器克隆到目标服务器。
  3. 关闭源服务器。
  4. 更新目标服务器上的网络配置,使其与其新主机名匹配目标服务器的 IP 地址。
  5. 在内容主机和 Capsules 中重新启动 goferd 以刷新连接。
  6. 测试新目标服务器。

2.2. 先决条件

要克隆 Satellite 服务器,请确保您有以下可用资源:

  • 最小安装 Red Hat Enterprise Linux 7 以成为目标服务器。不要安装 Red Hat Enterprise Linux 7 软件组或第三方应用程序。确保您的服务器符合安装 Satellite 服务器中的为安装准备环境中的所有规格。
  • 使用 satellite-maintain 备份脚本的 Satellite 6.10 中的备份。您可以使用带有或不使用 Pulp 数据的备份。
  • 目标服务器的 Satellite 订阅。

在开始克隆前,请确保存在以下条件:

  • 目标服务器位于隔离的网络中。这可避免 Capsule 服务器和主机间不需要的通信。
  • 目标服务器有从源服务器存储所有备份文件的容量。

自定义配置文件

如果您在由 satellite-installer 工具或 Satellite 备份流程管理的源服务器上有任何自定义配置,您必须手动备份这些文件。

2.3. Pulp 数据注意事项

您可以在不包含 Pulp 数据的情况下克隆 Satellite 服务器。但是,为了让克隆的环境正常工作,您需要 Pulp 数据。如果目标服务器没有 Pulp 数据。它不是一个完全正常工作的 Satellite。

要将 Pulp 数据传送到目标服务器,有两个选项:

  • 使用带有 Pulp 数据的备份克隆
  • 使用没有 Pulp 数据的备份克隆,并从源服务器手动复制 /var/lib/pulp

如果您的 pulp_data.tar 文件大于 500 GB,或者使用较慢的存储系统,如 NFS,pulp_data.tar 文件大于 100 GB,请不要在备份中包含 pulp_data.tar,因为这可能会在提取过程中造成内存错误。将 pulp_data.tar 文件从源服务器复制到目标服务器。

要在没有 Pulp 数据的情况下备份

按照以下步骤 第 2.4 节 “克隆 Satellite 服务器” 中的步骤,并使用以下步骤替换涉及使用 Pulp 数据克隆的步骤:

  1. 对处于活跃状态的 PostgreSQL 数据库执行备份,不包括 Pulp 数据:

    # satellite-maintain backup offline --skip-pulp-content \
    --assumeyes /var/backup
  2. 停止并禁用 Satellite 服务:

    # satellite-maintain service stop
    # satellite-maintain service disable
  3. 将 Pulp 数据复制到目标服务器:

    # rsync --archive --partial --progress --compress \
    /var/lib/pulp target_server.example.com:/var/lib/pulp

继续 第 2.4.2 节 “克隆到目标服务器”

2.4. 克隆 Satellite 服务器

使用以下步骤克隆 Satellite 服务器。请注意,由于必须复制和传输的数据作为这些步骤的一部分,所以可能需要大量时间来完成。

2.4.1. 为克隆准备源服务器

在源服务器上完成以下步骤:

  1. 验证 Satellite 订阅的池 ID:

    # subscription-manager list --consumed \
    --matches 'Red Hat Satellite'|grep "Pool ID:"|awk '{print $3}'

    请注意 Pool ID 以供以后使用。

  2. 删除 Red Hat Satellite 订阅:

    # subscription-manager remove --serial=$(subscription-manager list \
    --consumed \
    --matches 'Red Hat Satellite'|grep "Serial:"|awk '{print $2}')
  3. 确定 Pulp 数据的大小:

    # du -sh /var/lib/pulp/
  4. 如果您的 Pulp 数据少于 500 GB,请执行一个有活跃的 PostgreSQL 数据库的备份,包括 Pulp 数据。如果您有超过 500 GB Pulp 数据,请跳过以下步骤并完成 第 2.3 节 “Pulp 数据注意事项” 中的步骤。

    # satellite-maintain backup offline --assumeyes /var/backup
  5. 停止并禁用 Satellite 服务:

    # satellite-maintain service stop
    # satellite-maintain service disable

继续 第 2.4.2 节 “克隆到目标服务器”

2.4.2. 克隆到目标服务器

要克隆服务器,请在目标服务器上完成以下步骤:

  1. satellite-clone 工具默认使用 /backup/ 作为备份文件夹。如果您复制到其他文件夹,请更新 /etc/satellite-clone/satellite-clone-vars.yml 文件中的 backup_dir 变量。
  2. 将源 Satellite 中的备份文件放在目标服务器的 /backup/ 文件夹中。您可以挂载共享存储,或将备份文件复制到目标服务器上的 /backup/ 文件夹。
  3. 关闭源服务器。
  4. 输入以下命令在客户门户网站中注册、附加订阅并只启用所需的订阅:

    # subscription-manager register your_customer_portal_credentials
    # subscription-manager attach --pool=pool_ID
    # subscription-manager repos --disable=*
    # subscription-manager repos \
    --enable=rhel-7-server-rpms \
    --enable=rhel-server-rhscl-7-rpms \
    --enable=rhel-7-server-satellite-maintenance-6-rpms \
    --enable=rhel-7-server-ansible-2.9-rpms \
    --enable=rhel-7-server-satellite-6.10-rpms
  5. 安装 satellite-clone 软件包:

    # yum install satellite-clone

    安装 satellite-clone 工具后,您可以调整任何配置,以适应 /etc/satellite-clone/satellite-clone-vars.yml 文件中的自己的部署。

  6. 运行 satellite-clone 工具:

    # satellite-clone
  7. 重新配置 DHCP、DNS、TFTP 和远程执行服务。克隆过程禁用目标 Satellite 服务器上的这些服务,以避免与源 Satellite 服务器冲突。
  8. 在 Satellite Web UI 中重新配置并启用 DHCP、DNS 和 TFTP。如需更多信息,请参阅 安装 Satellite 服务器 中的 在 Satellite 服务器上配置外部服务
  9. 启用远程执行:

    # satellite-installer --scenario satellite \
    --enable-foreman-plugin-remote-execution \
    --enable-foreman-proxy-plugin-remote-execution-ssh
  10. 使用用户名 admin 和密码 changeme 登录到 Satellite Web UI。立即更新 admin 密码以保护凭据。
  11. 确保选择正确的机构。
  12. 在 Satellite Web UI 中,导航到 Content > Subscriptions,然后点 Manage Manifest
  13. Refresh 按钮,然后点 Close 返回订阅列表。
  14. 验证可用的订阅是否正确。
  15. 按照 /usr/share/satellite-clone/logs/reassociate_capsules.txt 文件中的说明,恢复 Capsule 及其生命周期环境之间的关联。
  16. 更新网络配置,如 DNS,将目标服务器的 IP 地址与其新主机名匹配。satellite-clone 工具将主机名更改为源服务器的主机名。如果要将主机名更改为不同的主机名,您可以使用 satellite-change-hostname 工具。如需更多信息,请参阅管理 Red Hat Satellite 中的重命名 Satellite 或 Capsule 服务器
  17. 如果源服务器使用 virt-who 守护进程,请在目标服务器上安装和配置它。将 /etc/virt-who.d/ 目录中的所有 virt-who 配置文件从源服务器复制到目标服务器上的同一目录中。如需更多信息,请参阅 在 Red Hat Satellite 中配置虚拟机订阅。在使用以下章节进行升级后,可以安全地弃用源服务器。

第 3 章 升级 Red Hat Satellite

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

3.1. 升级 Satellite 服务器

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

开始前

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

Capsule 注意事项

  • 如果您使用内容视图来控制对 Capsule 服务器基础操作系统的更新,或者用于 Capsule 服务器存储库,则必须发布这些内容视图的更新版本。
  • 请注意,从 6.10 升级到 6.11 的 Satellite 服务器仍然可以使用在 6.10 上的 Capsule 服务器。
警告

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

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

升级场景

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

FIPS 模式

您无法将没有在 FIPS 模式下运行的 RHEL 基础系统升级到以 FIPS 模式运行的 RHEL 基础系统。

要在以 FIPS 模式运行的 Red Hat Enterprise Linux 基础系统上运行 Satellite 服务器,您必须在新置备的 RHEL 基础系统中以 FIPS 模式运行 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 a Organization 菜单中,选择每个机构,然后重复该过程来关闭并删除发现的主机。升级完成后,请注意要重新启动这些主机。
  7. 确保启用了 Satellite Maintenance 存储库:

    # subscription-manager repos --enable \
    rhel-7-server-satellite-maintenance-6.11-rpms
  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.11

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

  10. 由于长时间升级时间,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

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

  11. 执行升级:

    # satellite-maintain upgrade run --target-version 6.11
  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 内容和 hammer 内容 导出 工具替代。

    如果您有使用 hammer content-view 版本导出hammer content-view 版本导出hammer 存储库导出 或其相应的导入命令的脚本,则必须调整它们以使用 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. 可以使用预升级脚本来检测冲突和列出 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。如果有可用的主机,请关闭它们,然后删除 发现的主机 页面下的所有条目。使用机构设置菜单选择所有其他机构,并根据需要重复此操作。升级完成后重启这些主机。
  8. 确保所有外部 Capsule 服务器分配到某个机构,否则可能会因为主机未修改更改而取消注册。
  9. 删除旧的软件仓库:

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

    # satellite-maintain service stop
  11. 按照 在断开连接的网络环境中安装 Satellite 服务器 中的 下载 Binary DVD 镜像 步骤来获取最新的 ISO 文件。
  12. 创建用作挂载点、挂载 ISO 镜像的目录,并配置 rhel7-serverrhel8 存储库:

    For Red Hat Enterprise Linux 8

    按照在断开连接的网络环境中安装 Satellite 服务器中的在 RHEL 8 中使用离线软件仓库配置基本操作系统

    For Red Hat Enterprise Linux 7

    按照在断开连接的网络环境中安装 Satellite 服务器中的在 RHEL 7 中使用离线软件仓库配置基本操作系统

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

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

    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.11

        [Satellite-6.11]
      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. 如果您的 Satellite 在 Red Hat Enterprise Linux 7 上运行,请从 ISO 文件配置 Ansible 存储库。

    1. 复制 Ansible 软件包的 ISO 文件存储库数据文件:

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

      # vi /etc/yum.repos.d/ansible.repo
      1. 将默认的 InstallMedia 存储库名称改为 Ansible

        [Ansible]
      2. 添加 baseurl 指令:

        baseurl=file:///media/sat6/ansible/
  16. 如果您的 Satellite 在 Red Hat Enterprise Linux 7 上运行,请从 ISO 文件中配置 Red Hat Software Collections 存储库。

    1. 复制 Red Hat Software Collections 软件包的 ISO 文件存储库数据文件:

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

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

        [RHSCL]
      2. 添加 baseurl 指令:

        baseurl=file:///media/sat6/RHSCL/
  17. 可选:如果您应用了自定义 Apache 服务器配置,请注意在执行升级时自定义配置会恢复到安装默认值。

    要预览升级过程中应用的更改,请输入 satellite-installer 命令以及 --noop (无操作)选项。当您在下一步中输入 satellite-maintain upgrade 命令时,会应用这些更改。

    1. 将以下行添加到 /etc/httpd/conf/httpd.conf 配置文件中:

      Include /etc/httpd/conf.modules.d/*.conf
    2. 重新启动 httpd 服务。

      # systemctl restart httpd
    3. 启动 postgresql 数据库服务。

      # systemctl start postgresql
    4. 使用 --noop 选项输入 satellite-installer 命令:

      # satellite-installer --scenario satellite --verbose --noop

      查看 /var/log/foreman-installer/satellite.log,以预览升级过程中应用的更改。找到代表配置文件更改的 +++--- 符号。虽然使用 --noop 选项输入 satellite-installer 命令不会对 Satellite 应用任何更改,但模块中的一些 Puppet 资源预期会应用更改,并可能会显示失败消息。

    5. 停止 Satellite 服务:

      # satellite-maintain service stop
  18. 由于长时间升级时间,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

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

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

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

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

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

  21. 执行升级:

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

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

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

    # hash -d satellite-maintain service 2> /dev/null
  23. 检查内核软件包最后一次更新的时间:

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

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

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

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

3.2. 同步新存储库

您必须启用和同步新的 6.11 存储库,然后才能升级 Capsule 服务器和 Satellite 客户端。

流程

  1. 在 Satellite Web UI 中,导航到 Content > Red Hat Repositories
  2. 推荐的存储库 开关切换到 On location。
  3. 从结果列表中,展开以下软件仓库并点 Enable 图标启用存储库:

    • 要升级 Satellite 客户端,请为客户端使用的所有 Red Hat Enterprise Linux 版本启用 Red Hat Satellite Client 6 软件仓库。
    • 如果您有 Capsule 服务器,要升级它们,还要启用以下软件仓库:

      Red Hat Satellite Capsule 6.11 (for RHEL 7 Server) (RPMs)

      Red Hat Satellite Maintenance 6.11 (for RHEL 7 Server) (RPMs)

      Red Hat Ansible Engine 2.9 RPM for Red Hat Enterprise Linux 7 Server

      Red Hat Software Collections RPM for Red Hat Enterprise Linux 7 Server

    注意

    如果 6.11 存储库不可用,请刷新 Red Hat Subscription Manifest。在 Satellite Web UI 中,导航到 Content > Subscriptions,点 Manage Manifest,然后点 Refresh

  4. 在 Satellite Web UI 中,导航到 Content > Sync Status
  5. 单击产品旁边的箭头,以查看可用的存储库。
  6. 为 6.11 选择存储库。请注意,Red Hat Satellite Client 6 没有 6.11 版本。选择 Red Hat Satellite Client 6
  7. 单击 Sync Now

    重要

    如果您尝试同步存储库时出现错误,请刷新清单。如果问题仍然存在,请引发支持请求。不要从客户门户网站或 Satellite Web UI 中删除清单;这将删除您的内容主机的所有权利。

  8. 如果您使用内容视图控制对 Capsule 服务器基础操作系统的更新,请使用新的软件仓库、发布和提升其更新版本更新这些内容视图。有关更多信息,请参阅内容管理指南中的管理内容视图

3.3. 升级 Capsule 服务器

本节论述了如何将 Capsule 服务器从 6.10 升级到 6.11。

开始前

  • 您必须升级 Satellite 服务器,然后才能升级任何 Capsule 服务器。请注意,您可以独立于 Satellite 升级 Capsule。如需更多信息,请参阅 第 1.4 节 “从 Satellite 独立升级 Capsule”
  • 确保 Satellite Capsule 6.11 存储库在 Satellite 服务器中启用并同步。
  • 确保您在 Satellite 服务器上同步所需的存储库。更多信息请参阅 第 3.2 节 “同步新存储库”
  • 如果您使用内容视图控制对 Capsule 服务器基础操作系统的更新,请使用新的软件仓库、发布和提升其更新版本更新这些内容视图。有关更多信息,请参阅内容管理指南中的管理内容视图
  • 确保 Capsule 的基本系统注册到新升级的 Satellite 服务器。
  • 确保 Capsule 在新升级的 Satellite 服务器中具有正确的机构和位置设置。
  • 在升级 Capsule 服务器前,请检查和更新您的防火墙配置。如需更多信息,请参阅 安装 Capsule 服务器 中的 为 Capsule 安装准备环境
警告

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

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

升级 Capsule 服务器

  1. 创建备份。

  2. 在 Satellite 服务器上重新生成证书:

    1. 为使用默认证书的 Capsule 重新生成证书:

      1. 对于不使用负载均衡的 Capsule 服务器:

        # capsule-certs-generate --foreman-proxy-fqdn "_capsule.example.com_" \
        --certs-update-all \
        --certs-tar "~/_capsule.example.com-certs.tar_"
      2. 对于负载均衡的胶囊服务器:

        # capsule-certs-generate --foreman-proxy-fqdn "_capsule.example.com_" \
        --certs-update-all \
        --foreman-proxy-cname "_load-balancer.example.com_" \
        --certs-tar "~/_capsule.example.com-certs.tar_"
    2. 为使用自定义证书的 Capsule 重新生成证书:

      1. 对于不使用负载均衡的 Capsule 服务器:

        # capsule-certs-generate --foreman-proxy-fqdn "_capsule.example.com_" \
        --certs-tar "~/_capsule.example.com-certs.tar_" \
        --server-cert "/root/capsule_cert/_capsule_cert.pem_" \
        --server-key "/root/capsule_cert/_capsule_cert_key.pem_" \
        --server-ca-cert "/root/capsule_cert/_ca_cert_bundle.pem_" \
        --certs-update-server
      2. 对于负载均衡的胶囊服务器:

        # capsule-certs-generate --foreman-proxy-fqdn "_capsule.example.com_" \
        --certs-tar "~/_capsule.example.com-certs.tar_" \
        --server-cert "/root/capsule_cert/_capsule_cert.pem_" \
        --server-key "/root/capsule_cert/_capsule_cert_key.pem_" \
        --server-ca-cert "/root/capsule_cert/_ca_cert_bundle.pem_" \
        --foreman-proxy-cname "_load-balancer.example.com_" \
        --certs-update-server

        有关证书颁发机构签名的自定义 SSL 证书的更多信息,请参阅安装 Capsule 服务器中的将自定义 SSL 证书部署到 Capsule 服务器

  3. 将生成的 tarball 复制到您的 Capsule。位置必须与安装程序期望的内容匹配。在 Capsule 上使用 grep tar_file /etc/foreman-installer/scenarios.d/capsule-answers.yaml 来确定这一点。
  4. 清理 yum 缓存:

    # yum clean metadata
  5. 确保 Capsule 能够访问 rhel-7-server-satellite-maintenance-6.11-rpms 并更新 satellite-maintain。

    # subscription-manager repos --enable rhel-7-server-satellite-maintenance-6.11-rpms
    # yum --disableplugin=foreman-protector update rubygem-foreman_maintain satellite-maintain
  6. 在 Capsule 服务器上,验证 foreman_url 设置是否指向 Satellite FQDN:

    # grep foreman_url /etc/foreman-proxy/settings.yml
  7. 检查可用版本以确认您要列出的版本:

    # satellite-maintain upgrade list-versions
  8. 由于长时间升级时间,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

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

  9. 使用健康检查选项来确定系统是否准备好升级:

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

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

  10. 执行升级:

    # satellite-maintain upgrade run --target-version 6.11
  11. 检查内核软件包最后一次更新的时间:

    # rpm -qa --last | grep kernel
  12. 可选:如果内核更新自上次重启后发生,请重启系统:

    # reboot
  13. 可选:如果您手动编辑 DNS 或 DHCP 配置文件,请使用之前进行的备份检查并恢复 DNS 和 DHCP 配置文件所需的任何更改。
  14. 可选:如果您使用自定义软件仓库,请确保在升级完成后启用这些自定义软件仓库。

3.4. 升级内容主机

Satellite Client 6 存储库提供 katello-agentkatello-host-tools,它提供用于管理勘误表的通信服务。

注意

Katello 代理已弃用,并将在以后的 Satellite 版本中删除。迁移工作负载以使用远程执行功能远程更新客户端。如需更多信息,请参阅管理主机中的从 Katello Agent 迁移到远程执行

对于使用 katello-agentgoferd 的部署,请将所有客户端更新至 katello-agent 的新版本。对于使用 katello-agentgoferd 的部署,请将所有客户端更新至 katello-host-tools 的新版本。尽快完成此操作,以便您的客户端与 Satellite 服务器完全兼容。

先决条件

  • 您必须已升级 Satellite 服务器。
  • 您必须在 Satellite 上启用了新的 Satellite 客户端 6 存储库。
  • 您必须在 Satellite 中同步了新存储库。
  • 如果您之前还没有在客户端上安装 katello-agent,并希望安装它,请使用手动方法。如需更多信息,请参阅 CLI 流程
警告

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

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

流程

  1. 在 Satellite Web UI 中,导航到 Hosts > Content Hosts,再选择您要升级的内容主机。
  2. Select Action 列表中,选择 Manage Repository Sets
  3. Repository Sets Management 列表中,选中 Red Hat Satellite Tools 6.10 复选框。
  4. Select Action 列表中,选择 Override to Disabled,然后单击 Done
  5. 当进程完成后,在上一步中的同一组主机上,从 Select Action 列表中选择 Manage Repository Sets
  6. Repository Sets Management 列表中,选中 Red Hat Satellite Client 6 复选框。
  7. Select Action 列表中,选择 Override to Enabled,然后单击 Done
  8. 当进程完成后,在上一步中的同一组主机上,从 Select Action 列表中选择 Manage Packages
  9. Package search 字段中,根据您的配置输入以下选项之一:

    • 如果您的部署使用 katello-agentgoferd,请输入 katello-agent
    • 如果您的部署没有使用 katello-agentgoferd,请输入 katello-host-tools
  10. Update 列表中,您必须选择 via remote execution 选项。这是必要的,因为如果您使用 Katello 代理更新软件包,软件包更新会破坏客户端和 Satellite 或 Capsule 服务器之间的通信,这会导致更新失败。如需更多信息,请参阅管理主机指南中的配置和设置远程作业

CLI 流程

  1. 登录到客户端系统。
  2. 禁用以前版本的 Satellite 的存储库。

    # subscription-manager repos \
    --disable rhel-7-server-satellite-tools-6.10-rpms
  3. 为这个版本的 Satellite 启用 Satellite 客户端 6 存储库。

    # subscription-manager repos \
    --enable=rhel-7-server-satellite-client-6-rpms
  4. 根据您的配置,完成以下步骤之一:

    • 如果您的部署使用 katello-agentgoferd,请输入以下命令安装或升级 katello-agent

      # yum install katello-agent
    • 如果您的部署没有使用 katello-agentgoferd,请输入以下命令安装或升级 katello-host-tools

      # yum install katello-host-tools

3.5. 升级外部数据库

您可以将外部数据库从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8,同时将 Satellite 从 6.10 升级到 6.11。

先决条件

  • 为 PostgreSQL 服务器创建一个新的基于 Red Hat Enterprise Linux 8 的主机,该服务器遵循 Red Hat Enterprise Linux 8 文档中的外部数据库。如需更多信息,请参阅 将 外部数据库与 Satellite 搭配使用

流程

  1. 创建备份。
  2. 在新服务器上恢复备份。
  3. 如果 Satellite 通过旧名称到达新的数据库服务器,则不需要进行进一步的更改。否则重新配置 Satellite 以使用新名称:

    # satellite-installer \
    --foreman-db-host newpostgres.example.com \
    --katello-candlepin-db-host newpostgres.example.com \
    --foreman-proxy-content-pulpcore-postgresql-host newpostgres.example.com

3.6. 执行升级后任务

本节中的一些流程是可选的。您可以选择只执行与安装相关的流程。

3.6.1. 升级发现

如果使用基于 PXE 的发现过程,您必须在 Satellite 上完成发现升级过程,以及在 Hosts > Discovered hosts 页面的 Satellite 中列出的主机的任何 Capsule 服务器上。

本节介绍更新 PXELinux 模板和传递给使用 PXE 引导在 Satellite 服务器注册其自身的主机的引导镜像。

从 Satellite 6.11 中,置备模板现在与子网有单独的关联,且不默认使用该子网的 TFTP 胶囊。如果在升级后创建子网,则必须启用 Satellite 或 Capsule 来为发现模板提供代理服务,然后将所有带有发现的主机的子网配置为使用特定的 模板 Capsule

在升级过程中,对于启用了 TFTP 代理的每个子网,模板 Capsule 设置为与 TFTP 胶囊相同。升级后,检查所有子网以验证此设置是否已正确设置。

如果不使用 PXE 引导主机来启用 Satellite 发现新主机,则不需要这些步骤。

其他资源

有关配置发现服务的详情,请参考 置备主机 中的 配置发现服务

3.6.1.1. 在 Satellite 服务器上升级发现

  1. 更新 Satellite Web UI 中的 Discovery 模板:

    1. 在 Satellite Web UI 中,导航到 Hosts > Provisioning templates
    2. PXELinux 全局默认 行中,单击 Clone
    3. Name 字段中输入模板的新名称,如 ACME PXE 全局默认值
    4. 在模板编辑器字段中,将 ONTIMEOUT local 行改为 ONTIMEOUT 发现,然后单击 Submit
    5. 在 Satellite Web UI 中,导航到 Administer > Settings
    6. Provisioning 选项卡上,将 Default PXE 全局模板条目 设置为您的环境的自定义值。
    7. 找到 Global default PXELinux 模板,再单击其 Value
    8. 从菜单中选择新创建的模板的名称,然后单击 Submit
    9. 在 Satellite Web UI 中,导航到 Hosts > Provisioning templates
    10. 单击 Build PXE Default,然后单击 OK
    注意

    如果修改了模板,Satellite 升级会将它覆盖至其默认版本。在 PXE 默认配置构建后,在设置中配置的模板将部署到 TFTP 中。如果在 Settings 中正确设置了新模板,这可能会导致部署默认模板。

  2. 在 Satellite Web UI 中,进入 Configure > Discovery Rules,并将所选机构和位置与发现规则关联。

3.6.2. 在 Capsule 服务器上升级发现

  1. 验证 Foreman Discovery 软件包是否在 Satellite 服务器上。

    # satellite-maintain packages install tfm-rubygem-foreman_discovery
  2. 如果上一步中的更新发生,请重新启动 satellite-maintain 服务。

    # satellite-maintain service restart
  3. 升级 Satellite Capsule 上的 Discovery 镜像,该镜像使用发现的主机连接到 provisioning 网络,或为发现的主机提供 TFTP 服务。

    # satellite-maintain packages install foreman-discovery-image
  4. 在同一实例上,安装提供 Proxy 服务的软件包,然后重新启动 foreman-proxy 服务。

    # satellite-maintain packages install tfm-rubygem-smart_proxy_discovery
    # service foreman-proxy restart
  5. 在 Satellite Web UI 中,进入 Infrastructure > Capsules,并验证相关的 Capsule 在 features 列中列出了 Discovery。如果需要,从 Actions 下拉菜单中选择 Refresh
  6. 进入 Infrastructure > Subnets,并为您要使用发现的每个子网:

    1. 点子网名称。
    2. Capsules 选项卡上,确保将 Discovery Capsule 设置为上面配置的 Capsule。

3.6.2.1. 验证子网具有模板 Capsule

如果在您的环境中启用了 Templates 功能,请确保所有带有发现的主机的子网都有一个模板 Capsule:

  1. 在 Satellite Web UI 中,导航到 Infrastructure > Subnets
  2. 选择您要检查的子网。
  3. Capsules 选项卡上,确保已为这个子网设置了 Template Capsule

有关使用模板 Capsule 配置子网的更多信息,请参阅置备 指南中的 配置发现服务

3.6.3. 升级 virt-who

如果在 Satellite 服务器或 Capsule 服务器中安装了 virt-who,则升级时会升级它们。不需要进一步操作。如果在其他位置安装了 virt-who,则必须手动升级它。

开始前

如果在注册到 Satellite 服务器或 Capsule 服务器的主机上安装 virt-who,首先将主机升级到 Satellite 客户端 6 存储库中的最新软件包。有关升级主机的详情,请参考 第 3.4 节 “升级内容主机”

手动升级 virt-who

  1. 升级 virt-who。

    # yum upgrade virt-who
  2. 重启 virt-who 服务,以便激活新版本。

    # systemctl restart virt-who.service

3.6.4. 删除 Satellite 工具软件仓库的先前版本

完成升级到 Satellite 6.11 后,可以从内容视图中删除 Red Hat Satellite Tools 6.10 存储库,然后禁用。

禁用 Satellite 工具存储库的版本 6.10:

  1. 在 Satellite Web UI 中,导航到 Content > Red Hat Repositories
  2. Enabled Repositories 区域,找到 Red Hat Satellite Tools 6.10 for RHEL 7 Server RPMs x86_64
  3. 点右侧的 Disable 图标。

如果存储库仍然包含在内容视图中,则无法禁用它。禁用的存储库中的软件包由调度的任务自动删除。

3.6.5. 迁移 Ansible 内容

从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8 包括从 Ansible Engine 2.9 升级到 Ansible Core 2.12。

如果您有自定义 Ansible 内容,如 playbook、REX 中的作业模板、角色和集合,并且您依赖 Satellite 上 Ansible RPM 提供的模块,则需要执行额外的步骤来调整 Ansible 内容或迁移 Ansible 内容。

Ansible Core 仅包含基本的模块。就 FQCN 表示法 namespace.collection.module 而言,您可以继续使用 ansible.builtin the,但 Ansible Core 缺少所有其他内容。这意味着,您将不再使用非内置 Ansible 模块,因为您使用的 Ansible 模块也必须从另一个源(最终)获取它们。

升级后,您可以有以下选项来处理 Ansible 内容:

  • 您可以获取提供 Ansible Galaxy 中非必要功能的其他社区维护集合。如需更多信息,请参阅 Galaxy 用户指南 中的 安装集合

    请注意,红帽不提供对这个内容的支持。

  • 如果您有 Red Hat Automation Hub 订阅,您可以将 ansible-galaxy 配置为与 Automation Hub 服务器进行通信并从那里下载内容。红帽支持该内容。有关为 ansible-galaxy 配置 Automation Hub 连接的更多信息,请参阅 将 Red Hat Automation hub 配置为内容的主源
  • 您可以重写 Ansible 角色、模板和其他受影响的内容。请注意,红帽不提供自己维护的内容的支持。
注意

如果要在没有连接到外部 Ansible Galaxy 服务器的 Capsule 上下载并安装 Ansible 内容,则必须通过 Satellite 服务器传递内容,而不是直接在胶囊上配置中使用 Ansible Galaxy 服务器的 URL:

  1. 将 Ansible Galaxy 服务器的内容同步到 Satellite 服务器上的自定义存储库。
  2. 在您的 Capsule 上配置 Ansible,以从 Satellite 服务器下载内容。

3.6.6. 重新声明 PostgreSQL 空间

PostgreSQL 数据库可以使用大量磁盘空间,特别是在大量负载的部署中。使用这个流程在 Satellite 上回收此磁盘空间。

流程

  1. 停止除 postgresql 服务外的所有服务:

    # satellite-maintain service stop --exclude postgresql
  2. 切换到 postgres 用户并回收数据库中的空间:

    # su - postgres -c 'vacuumdb --full --all'
  3. vacuum 完成后启动其他服务:

    # satellite-maintain service start

3.6.7. 更新模板、参数、查找键和值

在升级过程中,Satellite 会尝试查找为 Satellite 6.11 弃用的宏,并将旧语法转换为默认 Satellite 模板、参数和查找键和值的新语法。但是,Satellite 不会转换克隆模板和您创建的自定义作业或置备模板中的旧语法。

这个过程使用简单的文本替换,例如:

@host.params['parameter1'] -> host_param('parameter1')
@host.param_true?('parameter1') -> host_param_true?('parameter1')
@host.param_false?('parameter1') -> host_param_false?('parameter1')
@host.info['parameters'] -> host_enc['parameters']
警告

如果您在 Satellite 中使用克隆的模板,请验证克隆的模板是否已与 Satellite 中原始模板的最新版本分离。同一模板的语法可能会在 Satellite 版本之间有所不同。如果克隆的模板包含过时的语法,请更新语法以匹配模板的最新版本。

要确保此文本替换在升级过程中不会中断或省略文件中任何变量,请检查旧语法的所有模板、参数和查找键和值,并手动替换。

发生以下错误的原因是升级后,文件中保留了旧的语法:

 undefined method '#params' for Host::Managed::Jail

修复过时的 subscription_manager_registration 片断

Satellite 6.4 使用 redhat_register 片断,而不是 subscription_manager_registration 代码片段。

如果您从 Satellite 6.3 及更早版本升级,您必须替换自定义作业中的 subscription_manager_registration 代码片段或置备模板,如下所示:

<%= snippet "subscription_manager_registration" %>
               ↓
<%= snippet 'redhat_register' %>

3.6.8. 使用预定义的配置集调整 Satellite 服务器

如果您的 Satellite 部署包含超过 5000 个主机,您可以使用预定义的调优配置文件来提高 Satellite 的性能。

请注意,您不能在 Capsule 上使用调优配置文件。

您可以根据 Satellite 管理的主机数量以及可用的硬件资源,选择其中一个配置文件。

调优的配置文件位于 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes 目录中。

当您使用 --tuning 选项运行 satellite-installer 命令时,部署配置设置会按以下顺序应用到 Satellite:

  1. /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 文件中定义的默认性能优化配置集
  2. 要应用到部署的调优配置集,并在 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/ 目录中定义
  3. 可选:如果您配置了 /etc/foreman-installer/custom-hiera.yaml 文件,Satellite 会应用这些配置设置。

请注意,/etc/foreman-installer/custom-hiera.yaml 文件中定义的配置设置会覆盖 tuned 配置集中定义的配置设置。

因此,在应用 tuned 配置集前,您必须比较 /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 文件中的 default 调整配置集和 /etc/foreman-installer/custom-hiera.yaml 文件中定义的配置设置,并从 /etc/foreman-installer/custom-hiera.yaml 文件中删除任何重复的配置。

default

受管主机数量:0 – 5000

RAM: 20G

CPU 内核数: 4

受管主机数量:5001 – 10000

RAM: 32G

CPU 内核数: 8

Large

受管主机数量:10001 – 20000

RAM: 64G

CPU 内核数:16

extra-large

受管主机数量:20001 – 60000

RAM:128G

CPU 内核数: 32

extra-extra-large

受管主机数量:60000+

RAM: 256G

CPU 内核数: 48+

流程

  1. 可选:如果您在 Satellite 服务器上配置了 custom-hiera.yaml 文件,请将 /etc/foreman-installer/custom-hiera.yaml 文件备份到 custom-hiera.original。如果 /etc/foreman-installer/custom-hiera.yaml 文件损坏,则可以使用备份文件将其恢复到其原始状态:

    # cp /etc/foreman-installer/custom-hiera.yaml \
    /etc/foreman-installer/custom-hiera.original
  2. 可选:如果您在 Satellite 服务器上配置了 custom-hiera.yaml 文件,请查看 /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 和您要应用到 /usr/share/foreman-installer/config/foreman.hiera/config/foreman.hiera/config/foreman.hiera/config /foreman.hiera/config/foreman.hiera/config/foreman.hiera/tuning/common.yaml 的调优配置集。将配置条目与 /etc/foreman-installer/custom-hiera.yaml 文件中的条目进行比较,并删除 /etc/foreman-installer/custom-hiera.yaml 文件中的任何重复的配置设置。
  3. 输入 satellite-installer 命令,其中包含您要应用的配置集的 --tuning 选项。例如,要应用中型性能优化配置集设置,请输入以下命令:

    # satellite-installer --tuning medium

第 4 章 使用 Leapp 将 Satellite 或 Capsule 升级到 Red Hat Enterprise Linux 8

使用这个流程将 Satellite 或 Capsule 安装从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8。

先决条件

  • 在 Red Hat Enterprise Linux 7 上运行的 Satellite 6.11 或 Capsule 6.11。
  • 在开始升级前查看已知问题。如需更多信息,请参阅 Red Hat Satellite 6.11 中的已知问题
  • 如果您之前从早期版本升级 Satellite 或 Capsule,/var/lib/pgsql 在从 PostgreSQL 9 迁移到 PostgreSQL 12 之前包含 PostgreSQL 数据库内容,然后再从 SCL 空 /var/lib/pgsql
  • 在升级过程中,PostgreSQL 数据会从 /var/opt/rh/rh-postgresql12/lib/pgsql/data/ 移到 /var/lib/pgsql/data/。如果这两个路径位于同一分区中,则不需要进一步操作。如果它们驻留在不同的分区上,请确保有足够的空间来复制数据。您可以自行移动 PostgreSQL 数据,如果 /var/opt/rh/rh-postgresql12/lib/pgsql/data/ 不存在,则升级将跳过这一步。

断开连接的环境的先决条件

如果您在断开连接的环境中运行 Satellite,请确保它也满足以下先决条件:

注意
  • Satellite 支持 DEFAULT 和 FIPS 加密策略。FUTURE 加密策略不支持 Satellite 和 Capsule 安装 。
  • 红帽不支持以 FIPS 模式进行 Red Hat Enterprise Linux 的原位升级。不支持 FIPS,从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8,然后打开 FIPS。相反,将 Satellite 6.11 迁移到启用了 FIPS 模式的全新安装的 Red Hat Enterprise Linux 8 系统。如需更多信息,请参阅 第 5 章 将 Satellite 迁移到新的 Red Hat Enterprise Linux 系统

流程

  1. 配置软件仓库以获取 Leapp。

    在 Red Hat Enterprise Linux 上,启用 rhel-7-server-extras-rpms 存储库:

    # subscription-manager repos --enable=rhel-7-server-extras-rpms
  2. 安装所需的软件包:

    # satellite-maintain packages install leapp leapp-repository
  3. 要使 Leapp 在断开连接的环境中执行升级,请下载元数据并手动提取,如 Leapp 实用程序元数据 RHEL for disconnected 升级 所述。
  4. 设置以下软件仓库以便在断开连接的环境中执行升级:

    1. /etc/yum.repos.d/rhel8.repo:

      [BaseOS]
      name=rhel-8-for-x86_64-baseos-rpms
      baseurl=http://server.example.com/rhel8/BaseOS/
      
      [AppStream]
      name=rhel-8-for-x86_64-appstream-rpms
      baseurl=http://server.example.com/rhel8/AppStream/
    2. /etc/yum.repos.d/satellite.repo:

      [satellite-6.11-for-rhel-8-x86_64-rpms]
      name=satellite-6.11-for-rhel-8-x86_64-rpms
      baseurl=http://server.example.com/sat6/Satellite/
      
      [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms]
      name=satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
      baseurl=http://server.example.com/sat6/Maintenance/
  5. 配置 Leapp 以保留 Tomcat 软件包以确保升级不会失败:

    # echo tomcat >> /etc/leapp/transaction/to_keep
    # echo tomcat-lib >> /etc/leapp/transaction/to_keep
  6. 使 Leapp 分析您的系统:

    # leapp preupgrade

    如果您在断开连接的环境中运行 Satellite,请添加 --no-rhsm--enablerepo 参数:

    # leapp preupgrade \
    --no-rhsm \
    --enablerepo BaseOS \
    --enablerepo AppStream \
    --enablerepo satellite-6.11-for-rhel-8-x86_64-rpms \
    --enablerepo satellite-maintenance-6.11-for-rhel-8-x86_64-rpms

    第一个运行应该失败,但报告问题并禁止升级。检查 /var/log/leapp/leapp-report.txt 文件中的报告,回答所有问题(使用 leapp 回答),并手动解决问题。

    以下命令显示所需的最常见的步骤:

    # rmmod pata_acpi
    # echo PermitRootLogin yes | tee -a /etc/ssh/sshd_config
    # leapp answer --section remove_pam_pkcs11_module_check.confirm=True

    如果 leapp preupgrade 禁止带有不被支持的网络配置的升级,因为存在多个旧的命名网络接口,请按照 Leapp 重命名接口的说明,然后运行安装程序来重新配置 Satellite 或 Capsule 以使用新的接口名称:

    # satellite-installer --help |grep 'interface.*eth'
        --foreman-proxy-dhcp-interface  DHCP listen interface (current: "eth0")
        --foreman-proxy-dns-interface  DNS interface (current: "eth0")

    如果 eth0 被重命名为 em0,请调用安装程序以使用新接口名称:

    # satellite-installer --foreman-proxy-dhcp-interface=em0 --foreman-proxy-dns-interface=em0
  7. 确保 leapp 预升级 没有问题。
  8. 运行:

    # leapp upgrade

    如果您在断开连接的环境中运行 Satellite,请添加 --no-rhsm--enablerepo 参数:

    # leapp upgrade \
    --no-rhsm \
    --enablerepo BaseOS \
    --enablerepo AppStream \
    --enablerepo satellite-6.11-for-rhel-8-x86_64-rpms \
    --enablerepo satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
  9. 重启系统。

    系统重启后,实时系统执行升级,重启以修复 SELinux 标签,然后重启到最终的 Red Hat Enterprise Linux 8 系统。

  10. Leapp 完成升级,使用以下方法观察升级:

    # journalctl -u leapp_resume -f
  11. 完成 从 RHEL 7 升级到 RHEL 8 中的这些步骤:

    1. 解锁软件包:

      # satellite-maintain packages unlock
    2. 验证 RHEL 8 系统升级后的状态
    3. 执行升级后的任务
    4. 锁定软件包:

      # satellite-maintain packages lock
  12. 对于仅限 Satellite 而不是 Capsule,如果您需要 SELinux 处于 enforcing 模式,请在将 SELinux 更改为 enforcing 模式前运行以下命令:

    # dnf reinstall foreman-selinux katello-selinux --disableplugin=foreman-protector
  13. 完成将 SELinux 更改为 enforcing 模式 的步骤,如 从 RHEL 7 升级到 RHEL 8 指南中的将 SELinux 模式改为 enforcing
  14. 取消设置 subscription-manager 发行版本:

    # subscription-manager release --unset

第 5 章 将 Satellite 迁移到新的 Red Hat Enterprise Linux 系统

迁移 Satellite 时,您可以创建 Satellite 服务器和 Capsule 的备份,安装一个新的实例,并在新实例中恢复备份。迁移完成后,您可以停用早期的 Satellite 服务器和 Capsule 实例。

术语

确保您了解以下术语:

源服务器
创建备份的迁移来源。
目标服务器
恢复备份的新的服务器。

高级流程

要将 Satellite 迁移到新硬件,请按照以下高级步骤操作:

  1. 在源服务器上创建 Satellite 服务器或 Capsule 服务器的备份。
  2. 在目标服务器上执行 Satellite 服务器或 Capsule 服务器的全新安装。

    • 安装最小 Red Hat Enterprise Linux 8 实例,其容量用于存储备份文件。
    • 不要安装任何操作系统软件组或第三方应用程序。

      如需更多信息,请参阅 执行标准 Red Hat Enterprise Linux 安装

  3. 在目标服务器上恢复备份。

5.1. 在 Red Hat Enterprise Linux 7 中创建服务器的备份

在 Red Hat Enterprise Linux 8 系统中执行 Satellite 服务器或 Capsule 服务器全新安装前,请通过创建离线备份来备份 Red Hat Enterprise Linux 7 系统上的 Satellite 服务器或 Capsule 服务器数据。

如果您最近创建了离线备份,您可以执行增量备份来更新现有的备份。

流程

5.2. 在 Red Hat Enterprise Linux 8 中执行服务器的 Fresh 安装

在源服务器上创建了 Satellite 服务器或 Capsule 服务器的备份后,您可以在目标服务器上安装 Satellite 服务器或 Capsule 服务器。

5.3. 在 Red Hat Enterprise Linux 8 恢复服务器备份

在目标服务器上执行 Satellite 服务器或 Capsule 服务器全新安装后,您可以恢复之前创建的备份。

流程

  • 在目标服务器中恢复备份:

    • 要恢复完整备份,请参阅 管理 Red Hat Satellite 中的 从全 备份中恢复。
    • 要恢复增量备份,请参阅 管理 Red Hat Satellite 中的 从增量备份中恢复
  • 重新索引数据库:

    # runuser -u postgres -- reindexdb -a

第 6 章 更新 Satellite 服务器和 Capsule 服务器

使用本章将您现有的 Satellite 服务器和 Capsule 服务器更新至一个新的补丁版本,例如从 6.11.0 升级到 6.11.1。

更新补丁安全漏洞和在代码发布后发现的小问题,且通常对您的操作系统造成快速且非破坏性。

在更新之前,备份您的 Satellite 服务器和所有 Capsule 服务器。如需更多信息,请参阅 管理 Red Hat Satellite 中的 备份 Satellite 服务器和 Capsule 服务器

6.1. 更新 Satellite 服务器

先决条件

  • 确保您已为 Satellite、Capsule 和 Satellite Client 6 同步了 Satellite 服务器存储库。
  • 通过将更新的存储库提升到所有相关内容视图,确保可以更新每个外部 Capsule 和 Content Host。
警告

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

将 Satellite 服务器更新至下一个次版本

更新 Satellite 服务器:

  1. 确保启用了 Satellite Maintenance 存储库:

    • Red Hat Enterprise Linux 8:

      # subscription-manager repos --enable \
      satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
    • Red Hat Enterprise Linux 7:

      # subscription-manager repos --enable \
      rhel-7-server-satellite-maintenance-6.11-rpms
  2. 检查可用版本以确认列出了下一个次版本:

    # satellite-maintain upgrade list-versions
  3. 使用健康检查选项来确定系统是否准备好升级。在首次使用此命令时,satellite-maintain 会提示您输入 hammer admin 用户凭证,并将它们保存到 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件中。

    # satellite-maintain upgrade check --target-version 6.11.z

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

  4. 由于更新时间较长,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

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

  5. 执行升级:

    # satellite-maintain upgrade run --target-version 6.11.z
  6. 检查内核软件包最后一次更新的时间:

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

    # satellite-maintain service stop
    # reboot

6.2. 更新断开连接的 Satellite 服务器

这部分论述了在 Air-gapped Disconnected 设置中更新所需的步骤,其中连接的 Satellite 服务器(从 CDN 同步内容)与断开连接的 Satellite 服务器相差。

6.2.1. 在 Red Hat Enterprise Linux 8 中更新断开连接的 Satellite 服务器

在 Red Hat Enterprise Linux 8 连接的 Satellite 服务器中完成以下步骤。

  1. 确保您已在连接的 Satellite 服务器中同步了以下软件仓库:

    rhel-8-for-x86_64-baseos-rpms
    rhel-8-for-x86_64-appstream-rpms
    satellite-6.11-for-rhel-8-x86_64-rpms
    satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
  2. 下载组织的 debug 证书并将其存储在本地,例如 /etc/pki/katello/certs/org-debug-cert.pem 或您选择的位置。如需更多信息,请参阅管理内容中的创建机构调试证书
  3. /etc/yum.repos.d 下创建一个 Yum 配置文件,如 satellite-disconnected.repo,其内容如下:

    [rhel-8-for-x86_64-baseos-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel8/8/x86_64/baseos/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-8-for-x86_64-appstream-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel8/8/x86_64/appstream/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [satellite-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite 6.11 for RHEL 8 RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/satellite/6.11/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    
    [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite Maintenance 6.11 for RHEL 8 RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/sat-maintenance/6.11/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
  4. 在配置文件中,使用下载的机构调试证书的位置替换 sslclientcertsslclientkey 中的 /etc/pki/katello/certs/org-debug-cert.pem
  5. 使用您的部署使用正确的 FQDN 更新 satellite.example.com
  6. My_Organization 替换为 baseurl 中的正确的机构标签。要获取机构标签,请输入以下命令:

    # hammer organization list
  7. 输入 reposync 命令:

    • 在运行 Red Hat Enterprise Linux 7 的 Satellite 服务器中:

      # reposync --delete --download-metadata -p ~/Satellite-repos -n \
       -r rhel-8-for-x86_64-baseos-rpms \
       -r rhel-8-for-x86_64-appstream-rpms \
       -r satellite-6.11-for-rhel-8-x86_64-rpms \
       -r satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
    • 在运行 Red Hat Enterprise Linux 8 的 Satellite 服务器中:

      # reposync --delete --download-metadata -p ~/Satellite-repos -n \
       --repoid rhel-8-for-x86_64-baseos-rpms \
       --repoid rhel-8-for-x86_64-appstream-rpms \
       --repoid satellite-6.11-for-rhel-8-x86_64-rpms \
       --repoid {RepoRHEL8ServerSatelliteMaintenanceProductVersion

    这会从连接的 Satellite 服务器下载存储库的内容,并将其存储在 ~/Satellite-repos 目录中。

  8. 验证 RPM 是否已下载,且存储库数据目录是否在 ~/Satellite-repos 的每个子目录中生成。
  9. 归档目录的内容

    # cd ~
    # tar czf Satellite-repos.tgz Satellite-repos
  10. 使用生成的 Satellite-repos.tgz 文件,在断开连接的 Satellite 服务器中升级。

在断开连接的 Satellite 服务器中执行以下步骤:

  1. 将生成的 Satellite-repos.tgz 文件复制到断开连接的 Satellite 服务器中
  2. 将存档提取到 root 用户访问的任何位置。在以下示例中,/root 是提取位置。

    # cd /root
    # tar zxf Satellite-repos.tgz
  3. /etc/yum.repos.d 下创建一个 Yum 配置文件,如 satellite-disconnected.repo,其内容如下:

    [rhel-8-for-x86_64-baseos-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
    baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-baseos-rpms
    enabled=1
    
    [rhel-8-for-x86_64-appstream-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
    baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-appstream-rpms
    enabled=1
    
    [satellite-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite 6 for RHEL 8 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/satellite-6.11-for-rhel-8-x86_64-rpms
    enabled=1
    
    [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite Maintenance 6 for RHEL 8 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
    enabled=1
  4. 在配置文件中,将 /root/Satellite-repos 替换为提取的位置。
  5. 检查可用版本以确认列出了下一个次版本:

    # satellite-maintain upgrade list-versions
  6. 使用健康检查选项来确定系统是否准备好升级。在首次使用此命令时,satellite-maintain 会提示您输入 hammer admin 用户凭证,并将它们保存到 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件中。

    # satellite-maintain upgrade check --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z
  7. 在执行升级前,查看结果并解决任何突出显示的错误条件。
  8. 由于更新时间较长,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

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

  9. 执行升级:

    # satellite-maintain upgrade run --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z
  10. 检查内核软件包最后一次更新的时间:

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

    # satellite-maintain service stop
    # reboot

6.2.2. 在 Red Hat Enterprise Linux 7 中更新断开连接的 Satellite 服务器

在 Red Hat Enterprise Linux 7 连接的 Satellite 服务器中完成以下步骤。

  1. 确保您已在连接的 Satellite 服务器中同步了以下软件仓库:

    rhel-7-server-ansible-2.9-rpms
    rhel-7-server-rpms
    rhel-7-server-satellite-6.11-rpms
    rhel-7-server-satellite-maintenance-6.11-rpms
    rhel-server-rhscl-7-rpms
  2. 下载组织的 debug 证书并将其存储在本地,例如 /etc/pki/katello/certs/org-debug-cert.pem 或您选择的位置。
  3. 使用以下存储库信息,在 /etc/yum.repos.d 下创建一个 Yum 配置文件:

    [rhel-7-server-ansible-2.9-rpms]
    name=Ansible 2.9 RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/$releasever/$basearch/ansible/2.9/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-7-server-rpms]
    name=Red Hat Enterprise Linux 7 Server RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-7-server-satellite-6.11-rpms]
    name=Red Hat Satellite 6 for RHEL 7 Server RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/satellite/6.11/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    
    [rhel-7-server-satellite-maintenance-6.11-rpms]
    name=Red Hat Satellite Maintenance 6 for RHEL 7 Server RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/sat-maintenance/6/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-server-rhscl-7-rpms]
    name=Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/rhscl/1/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
  4. 在配置文件中,使用下载的机构调试证书的位置替换 sslclientcertsslclientkey 中的 /etc/pki/katello/certs/org-debug-cert.pem
  5. 为您的部署使用正确的 FQDN 更新 satellite.example.com
  6. My_Organization 替换为 baseurl 中的正确的机构标签。要获取机构标签,请输入以下命令:

    # hammer organization list
  7. 输入 reposync 命令:

    # reposync --delete --download-metadata -p ~/Satellite-repos -n \
     -r rhel-7-server-ansible-2.9-rpms \
     -r rhel-7-server-rpms \
     -r rhel-7-server-satellite-6.11-rpms \
     -r rhel-7-server-satellite-maintenance-6.11-rpms \
     -r rhel-server-rhscl-7-rpms

    这会从连接的 Satellite 服务器下载存储库的内容,并将其存储在 ~/Satellite-repos 目录中。Red Hat Enterprise Linux 7 中的 reposync 命令下载 RPM,但不下载 Yum 元数据。

    因此,您需要在 Satellite-repos 的每个子目录中手工运行 createrepo。确保安装了 createrepo rpm。如果没有使用以下命令安装它。

    # satellite-maintain packages install createrepo

    运行以下命令,在 ~/Satellite-repos 的每个子目录中创建 repodata。

    # cd ~/Satellite-repos
    # for directory in */
    do
      echo "Processing $directory"
      cd $directory
      createrepo .
      cd ..
    done
  8. 验证 RPM 是否已下载,且存储库数据目录是否在 ~/Satellite-repos 的每个子目录中生成。
  9. 归档目录的内容

    # cd ~
    # tar czf Satellite-repos.tgz Satellite-repos
  10. 使用生成的 Satellite-repos.tgz 文件,在断开连接的 Satellite 服务器中升级。

在断开连接的 Satellite 服务器上执行以下步骤

  1. 将生成的 Satellite-repos.tgz 文件复制到断开连接的 Satellite 服务器中
  2. 将存档提取到 root 用户访问的任何位置。在以下示例中,/root 是提取位置。

    # cd /root
    # tar zxf Satellite-repos.tgz
  3. 使用以下存储库信息,在 /etc/yum.repos.d 下创建一个 Yum 配置文件:

    [rhel-7-server-ansible-2.9-rpms]
    name=Ansible 2.9 RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-ansible-2.9-rpms
    enabled=1
    
    [rhel-7-server-rpms]
    name=Red Hat Enterprise Linux 7 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-rpms
    enabled=1
    
    [rhel-7-server-satellite-6.11-rpms]
    name=Red Hat Satellite 6 for RHEL 7 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-satellite-6.11-rpms
    enabled=1
    
    [rhel-7-server-satellite-maintenance-6.11-rpms]
    name=Red Hat Satellite Maintenance 6 for RHEL 7 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-satellite-maintenance-6.11-rpms
    enabled=1
    
    [rhel-server-rhscl-7-rpms]
    name=Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=file:///root/Satellite-repos/rhel-server-rhscl-7-rpms
    enabled=1
  4. 在配置文件中,将 /root/Satellite-repos 替换为提取的位置。
  5. 检查可用版本以确认列出了下一个次版本:

    # satellite-maintain upgrade list-versions
  6. 使用健康检查选项来确定系统是否准备好升级。在首次使用此命令时,satellite-maintain 会提示您输入 hammer admin 用户凭证,并将它们保存到 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件中。

    # satellite-maintain upgrade check --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z
  7. 在执行升级前,查看结果并解决任何突出显示的错误条件。
  8. 由于更新时间较长,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

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

  9. 执行升级:

    # satellite-maintain upgrade run --whitelist="check-upstream-repository,repositories-setup,repositories-validate" --target-version 6.11.z
  10. 检查内核软件包最后一次更新的时间:

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

    # satellite-maintain service stop
    # reboot

6.3. 更新 Capsule 服务器

使用这个流程将 Capsule 服务器更新至下一个次要版本。

流程

  1. 确保启用了 Satellite Maintenance 存储库:

    # subscription-manager repos --enable \
    rhel-7-server-satellite-maintenance-6.11-rpms
  2. 检查可用版本以确认列出了下一个次版本:

    # satellite-maintain upgrade list-versions
  3. 使用健康检查选项来确定系统是否准备好升级:

    # satellite-maintain upgrade check --target-version 6.11.z

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

  4. 由于更新时间较长,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

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

  5. 执行升级:

    # satellite-maintain upgrade run --target-version 6.11.z
  6. 检查内核软件包最后一次更新的时间:

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

    # satellite-maintain service stop
    # reboot

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.