升级和更新 Red Hat Satellite

Red Hat Satellite 6.12

升级和更新 Red Hat Satellite Server 和 Capsule Server

Red Hat Satellite Documentation Team

摘要

本指南描述了升级和更新 Red Hat Satellite Server、Capsule Server 和 hosts。

前言

在本指南中,条款升级、更新和迁移有以下意义:

升级
将 Satellite Server 和 Capsule Server 安装从 y-stream 发行版本提升到下一个流版本(如 Satellite 6.11 至 Satellite 6.12)的过程。更多信息请参阅 第 1 章 升级概述
更新
将 Satellite Server 和 Capsule Server 安装从 z-stream 版本提升到下一个版本(如 Satellite 6.12.0 到 Satellite 6.12.1)的过程。更多信息请参阅 第 4 章 更新 Satellite 服务器和 Capsule 服务器
迁移
将现有 Satellite 安装移动到新实例的过程。

向红帽文档提供反馈

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

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

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

第 1 章 升级概述

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

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

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

1.1. 先决条件

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

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

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

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

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

Satellite 6.12 仅在 Red Hat Enterprise Linux 8 上发布。如果您在 Red Hat Enterprise Linux 7 上运行 Satellite 6.11,则必须升级到 Red Hat Enterprise Linux 8,然后才能升级到 Satellite 6.12。有关从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8 的更多信息,请参阅 使用 Leapp 将 Satellite 或 Capsule 6.11 升级到 Red Hat Enterprise Linux 8

确保所有卫星服务器都在同一个版本中。

警告

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

1.2. 升级路径

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

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

高级升级步骤

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

  1. 可选:克隆现有的 Satellite 服务器。更多信息请参阅 第 2 章 克隆 Satellite 服务器
  2. 将卫星服务器升级到 6.12。更多信息请参阅 第 3.1 节 “升级 Satellite 服务器”
  3. 将所有胶囊服务器升级到 6.12。更多信息请参阅 第 3.3 节 “升级胶囊服务器”
  4. 继续 第 3.5 节 “执行升级后任务”

1.3. 升级的过程

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

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

1.4. 从 Satellite 升级胶囊

您可以将 Satellite 升级到 6.12,并在版本 6.11 上保持胶囊,直到您有能力也升级它们。

以前在 6.11 胶囊上工作的所有功能。但是,在将胶囊升级到 6.12 后,6.12 版本中添加的功能将无法正常工作。

在升级 Satellite 后升级胶囊可在以下示例情况下很有用:

  1. 如果您想有几个较小的中断窗口,而不是一个较大的窗口。
  2. 如果组织中的胶囊由几个团队管理,且位于不同的位置。
  3. 如果使用负载均衡的配置,您可以升级一个负载均衡的胶囊,并在一个版本较低时保留其他负载均衡的 Capsules。这样,您可以在不中断任何中断的情况下升级所有胶囊。

第 2 章 克隆 Satellite 服务器

升级卫星服务器时,您可以选择创建并升级 Satellite 克隆,以确保在升级过程中不会丢失任何数据。升级完成后,您可以弃用早期版本的卫星服务器。

您可以克隆 Satellite 服务器来创建实例,以测试实例的升级和将实例迁移到不同的机器或操作系统。这是升级或迁移期间提供更大的灵活性的可选步骤。

您不能在胶囊服务器上使用 Satellite 克隆工具。相反,您必须备份现有的 Capsule 服务器,在目标服务器上恢复它,然后重新配置 Capsule 服务器。

注意

如果您创建 Satellite 服务器的新实例,请在恢复备份后停用旧实例。克隆的实例不应在生产环境中并行运行。

术语

请确定您理解以下术语:

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

2.1. 克隆过程概述

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

2.2. 先决条件

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

  • Red Hat Enterprise Linux 8 的最小安装,以成为目标服务器。不要安装 Red Hat Enterprise Linux 8 软件组或第三方应用程序。确保您的服务器符合所有必需的规格。如需更多信息,请参阅 在连接的网络环境中安装 Satellite 服务器 中的 为安装准备您的环境
  • 使用 satellite-maintain 备份脚本提供的 Satellite 6.11 备份。您可以通过或不使用 Pulp 数据使用备份。
  • 目标服务器的 Satellite 订阅。

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

  • 目标服务器位于隔离的网络中。这可避免与胶囊服务器和主机进行不必要的通信。
  • 目标服务器具有至少与源服务器相同的存储容量。

自定义配置文件

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

2.3. Pulp 数据注意事项

您可以克隆 Satellite 服务器,但不包括 Pulp 数据。但是,要使克隆的环境正常工作,您需要 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 服务器

使用以下步骤克隆卫星服务器。请注意,由于您必须复制和转让的大量数据作为这些程序的一部分,这可能要花费大量时间才能完成。

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-8-for-x86_64-appstream-rpms \
    --enable=rhel-8-for-x86_64-baseos-rpms \
    --enable=satellite-6.11-for-rhel-8-x86_64-rpms \
    --enable=satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
  5. 安装 satellite-clone 软件包:

    # dnf install satellite-clone

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

  6. 运行 satellite-clone 工具:

    # satellite-clone
  7. 重新配置 DHCP、DNS、TFTP 和远程执行服务。克隆过程禁用目标卫星服务器上的这些服务,以避免与源卫星服务器冲突。
  8. 在卫星 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 文件中的说明恢复胶囊与其生命周期环境之间的关联。
  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.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,并将所选机构和位置与发现规则关联。

3.2. 同步新存储库

您必须启用并同步新的 6.12 存储库,然后才能升级胶囊服务器和卫星客户端。

流程

  1. 在 Satellite Web UI 中,进入 Content > Red Hat Repositories
  2. Recommended Repositories 开关切换到 On 位置。
  3. 在结果列表中,展开以下软件仓库并点击 Enable 图标启用存储库:

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

      Red Hat Satellite Capsule 6.12 (对于 RHEL 8 x86_64)(RPMs)

      Red Hat Satellite Maintenance 6.12 (对于 RHEL 8 x86_64)(RPMs)

      Red Hat Enterprise Linux 8 (for x86_64 - BaseOS) (RPMs)

      Red Hat Enterprise Linux 8 (for x86_64 – AppStream) (RPMs)

    注意

    如果 6.12 存储库不可用,请刷新红帽订阅清单。在 Satellite Web UI 中,导航到 Content > Subscriptions,单击 Manage Manifest,然后单击 Refresh

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

    重要

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

  8. 如果您使用 Content Views 来控制对胶囊服务器的基础操作系统的更新,请使用新的存储库更新这些内容视图,发布并提升其更新版本。如需更多信息,请参阅 管理内容 中的 管理内容视图

3.3. 升级胶囊服务器

这部分论述了如何将胶囊服务器从 6.11 升级到 6.12。

开始前

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

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

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

升级胶囊服务器

  1. 创建备份。

  2. 清理 yum 缓存:

    # yum clean metadata
  3. 同步 Satellite-capsule-6.12-for-rhel-8-x86_64-rpms 存储库。
  4. 发布并提升胶囊注册到的内容视图的新版本。
  5. rubygem-foreman_maintain 安装自 Satellite Maintenance 软件仓库,如果当前安装,则从 Satellite Maintenance 仓库升级。

    在当前升级过程中,您必须启用 Satellite 6.12 (或 Capsule)存储库来限制 Satellite Maintenance 存储库以外的任何更新。在继续操作前,请阅读发行注记中的已知问题作为临时解决方案。

    确保胶囊有权访问 satellite-maintenance-6.12-for-rhel-8-x86_64-rpms 并执行:

    # subscription-manager repos --enable \
    satellite-capsule-6.12-for-rhel-8-x86_64-rpms
    
    # satellite-maintain self-upgrade

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

    # dnf module enable satellite-capsule:el8
  6. 在 Capsule Server 上,验证 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.12

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

  10. 执行升级:

    # satellite-maintain upgrade run --target-version 6.12
  11. 检查内核软件包是否最后一次更新:

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

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

3.4. 升级外部数据库

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

先决条件

流程

  1. 创建备份。
  2. 在新服务器上恢复备份。
  3. 如果卫星通过旧名称到达新的数据库服务器,则不需要进一步更改。否则,重新配置 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.5. 执行升级后任务

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

3.5.1. 升级发现

如果您使用基于 PXE 的发现过程,则必须在 Satellite 上完成发现升级过程,并在所有您要列在 Hosts > Discovered hosts 页面中的主机的胶囊服务器上。

本节介绍了更新 PXELinux 模板以及传递给使用 PXE 引导的主机的引导镜像,将自身注册到卫星服务器。

从 Satellite 6.12,自定义模板与子网有单独的关联,并且默认为该子网使用 TFTP 胶囊。如果在升级后创建子网,则必须特别启用 Satellite 或 Capsule,以便为发现模板提供代理服务,然后使用发现的主机配置所有子网以使用特定的 模板胶囊

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

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

其他资源

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

3.5.1.1. 在卫星服务器上升级 Discovery

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

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

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

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

3.5.1.2. 验证子网具有模板胶囊

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

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

有关使用模板胶囊配置子网的更多信息,请参阅在 Provisioning Hosts 中配置发现服务。

3.5.2. 升级 virt-who

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

开始前

如果在注册到卫星服务器或胶囊服务器的主机上安装了 virt-who,则首先将主机升级到卫星客户端 6 存储库中提供的最新软件包。

手动升级 virt-who

  1. 升级 virt-who.

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

    # systemctl restart virt-who

3.5.3. 删除 Satellite 工具存储库的之前版本

完成 Satellite 6.12 后,可以从内容视图中删除红帽卫星工具 6.11 存储库,然后禁用。

禁用 Satellite 工具库的版本 6.11:

  1. 在 Satellite Web UI 中,进入 Content > Red Hat Repositories
  2. Enabled Repositories 区域中,找到 适用于 RHEL 7 Server RPMs x86_64 的红帽卫星工具 6.11
  3. 点击右侧的 Disable 图标。

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

3.5.4. 迁移 Ansible 内容

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

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

Ansible Core 仅包含基本的模块。就 FQCN 表示法 namespace.collection.module 而言,您可以继续使用 ansible.builtin.*,但 Ansible Core 中缺少所有其他内容。这意味着,您无法再使用非内置的 Ansible 模块,而您必须从另一个源那里获取它们。

升级后,您可以选择处理 Ansible 内容:

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

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

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

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

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

3.5.5. 重新声明 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.5.6. 使用预定义的配置集调整卫星服务器

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

请注意,您不能在 Capsules 上使用调优配置集。

您可以根据 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 文件中定义的配置设置会覆盖调优配置文件中定义的配置设置。

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

default

受管主机数量:0 – 5000

RAM:20G

CPU 内核数:4

受管主机数量: 5001方式-确保10000

RAM: 32G

CPU 内核数: 8

受管主机数量: 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-installer.hiera/tuning/size.yaml 中应用的默认调节配置文件的定义。将配置条目与 /etc/foreman-installer/custom-hiera.yaml 文件中的条目进行比较,并删除 /etc/foreman-installer/custom-hiera.yaml 文件中的任何重复配置设置。
  3. 使用您要应用的配置集的 --tuning 选项输入 satellite-installer 命令。例如,要应用 medium 调节配置集设置,请输入以下命令:

    # satellite-installer --tuning medium

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

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

更新补丁安全漏洞和代码发布后发现的次要问题,通常对您的操作环境进行快速和破坏性。

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

4.1. 更新 Satellite 服务器

先决条件

  • 确保您已为卫星、胶囊和卫星客户端 6 同步卫星服务器存储库。
  • 通过将更新的存储库提升到所有相关内容视图,确保可以更新每个外部胶囊和内容主机。
警告

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

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

更新 Satellite 服务器:

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

    # subscription-manager repos --enable \
    satellite-maintenance-6.12-for-rhel-8-x86_64-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.12.z

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

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

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

  5. 执行升级:

    # satellite-maintain upgrade run --target-version 6.12.z
  6. 检查内核软件包是否最后一次更新:

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

    # satellite-maintain service stop
    # reboot

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

本节介绍了在 Air-gapped Disconnected setup 中更新所需的步骤,其中连接的卫星服务器(从 CDN 同步内容)与断开连接的 Satellite 服务器没有差距。

在连接的卫星服务器上完成以下步骤。

  1. 确保您已在连接的卫星服务器中同步以下存储库。

    rhel-8-for-x86_64-baseos-rpms
    rhel-8-for-x86_64-appstream-rpms
    satellite-6.12-for-rhel-8-x86_64-rpms
    satellite-maintenance-6.12-for-rhel-8-x86_64-rpms
  2. 下载机构的调试证书并将其保存到本地,例如 /etc/pki/katello/certs/org-debug-cert.pem 或您选择的位置。如需更多信息,请参阅管理 Red Hat Satellite 中的创建机构调试证书
  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.12-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite 6.12 for RHEL 8 RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/satellite/6.12/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.12-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite Maintenance 6.12 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.12/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. 为您的部署更新 satellite.example.com 正确的 FQDN。
  6. My_Organization 替换为 baseurl 中的正确组织标签。要获取机构标签,请输入以下命令:

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

    # reposync --delete --download-metadata -p ~/Satellite-repos -n \
     --disableplugin=foreman-protector \
     --repoid rhel-8-for-x86_64-baseos-rpms \
     --repoid rhel-8-for-x86_64-appstream-rpms \
     --repoid satellite-6.12-for-rhel-8-x86_64-rpms \
     --repoid satellite-maintenance-6.12-for-rhel-8-x86_64-rpms

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

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

    # cd ~
    # tar czf Satellite-repos.tgz Satellite-repos
  10. 使用生成的 Satellite-repos.tgz 文件在非联网卫星服务器中升级。

在断开连接的 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.12-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.12-for-rhel-8-x86_64-rpms
    enabled=1
    
    [satellite-maintenance-6.12-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.12-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.12.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.12.z
  10. 检查内核软件包是否最后一次更新:

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

    # satellite-maintain service stop
    # reboot

4.3. 更新胶囊服务器

使用这个步骤将 Capsule Servers 更新至下一个次版本。

流程

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

    # subscription-manager repos --enable \
    satellite-maintenance-6.12-for-rhel-8-x86_64-rpms
  2. 检查可用的版本以确认列出了下一个次版本:

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

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

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

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

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

  5. 执行升级:

    # satellite-maintain upgrade run --target-version 6.12.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.