将 Red Hat Satellite 升级到 6.14
升级 Satellite 服务器和 Capsule
摘要
向红帽文档提供反馈
我们感谢您对我们文档的反馈。让我们了解如何改进它。
使用 Red Hat JIRA 中的 Create Issue 表单提供您的反馈。JIRA 问题在 Red Hat Satellite Jira 项目中创建,您可以在其中跟踪其进度。
先决条件
- 确保您已注册了 红帽帐户。
流程
- 单击以下链接: 创建问题。如果 Jira 显示登录错误,则登录并在您重定向到表单后继续。
- 完成 Summary 和 Description 字段。在 Description 字段中,包含文档 URL、章节号以及问题的详细描述。不要修改表单中的任何其他字段。
- 点 Create。
第 1 章 升级概述
在将当前的 Red Hat Satellite 安装升级到 Red Hat Satellite 6.14 前,请查看下面的前提条件和可用升级路径。
对于交互式升级说明,您还可以在红帽客户门户网站上使用 Red Hat Satellite Upgrade Helper。此应用程序为您提供了与当前版本匹配的准确指南。您可以找到特定于升级路径的说明,以及防止已知问题的步骤。如需更多信息,请参阅红帽客户门户网站上的 Satellite Upgrade Helper。
请注意,您可以独立于 Satellite 升级 Capsule。更多信息请参阅 第 1.4 节 “从 Satellite 单独升级 Capsule”。
1.1. 先决条件
升级到 Satellite 6.14 会影响您的整个 Satellite 基础架构。在继续操作前,请完成以下操作:
- 阅读 Red Hat Satellite 6.14 发行注记。
- 规划升级路径。如需更多信息,请参阅 第 1.2 节 “升级路径”。
计划所需的停机时间。Satellite 服务会在升级过程中关闭。升级过程持续时间可能会因硬件配置、网络速度以及存储在服务器中的数据量而有所不同。
升级 Satellite 需要大约需要 1到 2 个小时。
升级 Capsule 大约需要 10 到 30 分钟。
- 确定服务器上有足够的存储空间。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 为安装准备您的环境, 以及 安装 Capsule Server 中的 为安装准备您的环境。
- 备份您的 Satellite 服务器和所有胶囊服务器。如需更多信息,请参阅 管理 Red Hat Satellite 中的 备份 Satellite 服务器和 Capsule 服务器。
- 计划更新包含 Satellite API 命令的任何脚本,因为某些 API 命令因 Satellite 版本而异。
确保所有 Satellite 服务器都是同一个版本。
如果您自定义配置文件,手动或使用 Hiera 等工具,则当维护脚本在升级或更新期间运行时,这些更改会被覆盖。您可以将 --noop
选项与 satellite-installer 一起使用来测试更改。如需更多信息,请参阅红帽知识库解决方案 如何使用 noop 选项在升级过程中检查 Satellite 配置文件中的更改。
1.2. 升级路径
您可以从 Red Hat Satellite 6.13 升级到 Red Hat Satellite 6.14。
早期版本上的 Satellite 服务器和胶囊服务器必须首先升级到 Satellite 6.13。如需更多信息 ,请参阅将 Red Hat Satellite 升级到 6.13。
高级升级步骤
将 Satellite 升级到 6.14 的高级别步骤如下:
- 将 Satellite 服务器升级到 6.14。更多信息请参阅 第 2.1 节 “升级 Satellite 服务器”。
- 将所有胶囊服务器升级到 6.14。如需更多信息,请参阅 第 2.6 节 “升级 Capsule 服务器”。
1.3. 遵循升级的 Progress
由于升级时间较长,请使用 tmux
等工具来挂起并重新附加通信会话。然后,您可以检查升级进度,而不会持续连接到命令 shell。如需更多信息,请参阅 tmux
手册页。
如果您丢失了与运行 upgrade 命令的命令 shell 的连接,您可以在 /var/log/foreman-installer/satellite.log
中看到日志,以检查进程是否已成功完成。
1.4. 从 Satellite 单独升级 Capsule
您可以将 Satellite 升级到 6.14,并将 Capsules 保持在 6.13 版本,直到您有能力升级它们。
之前在 6.13 Capsule 上工作的所有功能。但是,在将 Capsule 升级到 6.14 之前,6.14 发行版本中添加的功能将无法正常工作。
在升级 Satellite 后升级 Capsule 很有用:
- 如果您希望有多个较小的中断窗口,而不是一个较大的窗口。
- 如果您的组织中的 Capsules 由多个团队管理,且位于不同的位置。
- 如果使用负载均衡配置,您可以升级一个负载均衡的 Capsule,并将其他负载均衡的 Capsules 保持较低版本。这可让您在不中断任何中断的情况下,升级所有 Capsules。
第 2 章 升级 Red Hat Satellite
使用以下步骤将现有 Red Hat Satellite 升级到 Red Hat Satellite 6.14:
2.1. 升级 Satellite 服务器
本节论述了如何将 Satellite 服务器从 6.13 升级到 6.14。您可以从 Satellite Server 6.13 的任何次要版本升级。
开始前
- 请注意,您可以独立于 Satellite 升级 Capsule。更多信息请参阅 第 1.4 节 “从 Satellite 单独升级 Capsule”。
- 在升级 Satellite 服务器前,检查和更新您的防火墙配置。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 为安装准备您的环境。
- 确保您没有从客户门户网站或 Satellite Web UI 中删除清单,因为这会删除内容主机的所有权利。
- 如果您编辑了任何默认模板,请通过克隆或导出文件来备份文件。克隆是推荐的方法,因为防止在以后的更新或升级过程中被覆盖。要确认模板是否已编辑,您可以在升级前查看其 History,或者在升级后查看审计日志中的更改。在 Satellite Web UI 中,进入到 Monitor > Audits 并搜索模板来查看所做的更改记录。如果使用 export 方法,请通过比较导出的模板和默认模板来恢复更改,请手动应用更改。
胶囊注意事项
- 如果使用内容视图来控制对胶囊服务器的基本操作系统或胶囊服务器存储库的更新,则必须发布这些内容视图的更新版本。
- 请注意,从 6.13 升级到 6.14 的 Satellite 服务器可以使用位于 6.13 的胶囊服务器。
如果实施了自定义证书,则必须保留 /root/ssl-build
目录的内容以及创建与自定义证书关联的任何源文件的目录。
在升级过程中无法保留这些文件会导致升级失败。如果删除了这些文件,则必须从备份中恢复这些文件才能进行升级。
升级场景
- 要升级连接到 Red Hat Content Delivery Network 的 Satellite 服务器,请执行 第 2.2 节 “升级连接的 Satellite 服务器”。
- 要升级没有连接到 Red Hat Content Delivery Network 的 Satellite 服务器,请执行 第 2.3 节 “升级断开连接的 Satellite 服务器”。
您无法升级自注册了 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.2. 升级连接的 Satellite 服务器
对于有权访问公共互联网的 Satellite 服务器,使用此流程
如果您自定义配置文件,手动或使用 Hiera 等工具,则当维护脚本在升级或更新期间运行时,这些更改会被覆盖。您可以将 --noop
选项与 satellite-installer 一起使用来测试更改。如需更多信息,请参阅红帽知识库解决方案 如何使用 noop 选项在升级过程中检查 Satellite 配置文件中的更改。
升级 Satellite 服务器
停止所有 Satellite 服务:
# satellite-maintain service stop
创建快照或创建备份:
- 在虚拟机上,生成快照。
- 在物理机上,创建备份。
启动所有 Satellite 服务:
# satellite-maintain service start
-
可选:如果您手动编辑
/etc/zones.conf
或/etc/dhcp/dhcpd.conf
文件中的 DNS 或 DHCP 配置,请备份配置文件,因为安装程序只支持一个域或子网,因此可能需要从这些备份中恢复更改。 可选:如果您手动编辑 DNS 或 DHCP 配置文件,且不想覆盖更改,请输入以下命令:
# satellite-installer --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=false
可选:如果使用 PostgreSQL 作为外部数据库
在 PostgreSQL 服务器上安装
postgresql-contrib
软件包:# dnf install postgresql-contrib
连接到 Pulp 数据库:
# su - postgres -c "psql pulpcore"
创建
hstore
扩展:pulpcore=# CREATE EXTENSION IF NOT EXISTS "hstore"; CREATE EXTENSION
- 在 Satellite Web UI 中,进入到 Hosts > Discovered hosts。在 Discovered Hosts 页面上,关闭并删除发现的主机。在 Select an Organization 菜单中,选择每个机构,再重复该过程以关闭并删除发现的主机。升级完成后,请注意要重新启动这些主机。
确保启用了 Satellite 维护存储库:
# subscription-manager repos --enable \ satellite-maintenance-6.14-for-rhel-8-x86_64-rpms
启用维护模块:
# dnf module enable satellite-maintenance:el8
检查可用的版本,以确认列出了您想要的版本:
# satellite-maintain upgrade list-versions
使用健康检查选项来确定系统是否已准备好升级。出现提示时,输入 hammer admin 用户凭证,以使用 hammer 凭证配置
satellite-maintain
。这些更改应用于/etc/foreman-maintain/foreman-maintain-hammer.yml
文件。# satellite-maintain upgrade check --target-version 6.14
检查结果,并在执行升级前解决任何突出显示的错误条件。
由于升级时间较长,请使用
tmux
等工具来挂起并重新附加通信会话。然后,您可以检查升级进度,而不会持续连接到命令 shell。如果您丢失了与运行 upgrade 命令的命令 shell 的连接,您可以看到
/var/log/foreman-installer/satellite.log
文件中的日志信息,以检查进程是否已成功完成。执行升级:
# satellite-maintain upgrade run --target-version 6.14
确定系统是否需要重启:
# dnf needs-restarting --reboothint
可选:如果上一个命令告诉您重启,请重启系统:
# reboot
2.3. 升级断开连接的 Satellite 服务器
如果您的 Satellite 服务器没有连接到 Red Hat Content Delivery Network,请使用这个步骤。
-
如果您手动自定义配置文件或使用 Hiera 等工具,在升级或更新过程中输入
satellite-maintain
命令时会覆盖这些更改。您可以将--noop
选项与satellite-installer
命令一起使用,以查看升级或更新过程中应用的更改。如需更多信息,请参阅红帽知识库解决方案 如何使用 noop 选项在升级过程中检查 Satellite 配置文件中的更改。 hammer import 和 export 命令已被
hammer content-import
和hammer content-export
工具替代。如果您有使用
hammer content-view 版本导出
、hammer content-view 版本 export-legacy
、hammer 存储库导出
或对应的导入命令的脚本,您必须调整它们以使用hammer content-export
命令以及其相应的导入命令。如果实施了自定义证书,则必须保留
/root/ssl-build
目录的内容以及创建与自定义证书关联的任何源文件的目录。在升级过程中无法保留这些文件会导致升级失败。如果删除了这些文件,则必须从备份中恢复这些文件才能进行升级。
开始前
- 在升级 Satellite 服务器前,检查和更新您的防火墙配置。如需更多信息,请参阅 在断开连接的网络环境中安装 Satellite 服务器 中的 端口和防火墙要求 。
- 确保您没有从客户门户网站或 Satellite Web UI 中删除清单,因为这会删除内容主机的所有权利。
- 在升级前备份和删除所有 Foreman hook。仅在 Satellite 已知在升级完成后工作后重新显示 hook。
- 所有 Satellite 服务器都必须位于同一版本。
升级断开连接的 Satellite 服务器
停止所有 Satellite 服务:
# satellite-maintain service stop
创建快照或创建备份:
- 在虚拟机上,生成快照。
- 在物理机上,创建备份。
启动所有 Satellite 服务:
# satellite-maintain service start
-
可选:如果您手动编辑
/etc/zones.conf
或/etc/dhcp/dhcpd.conf
文件中的 DNS 或 DHCP 配置,请备份配置文件,因为安装程序只支持一个域或子网,因此可能需要从这些备份中恢复更改。 可选:如果您手动编辑 DNS 或 DHCP 配置文件,且不想覆盖更改,请输入以下命令:
# satellite-installer --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=false
可选:如果使用 PostgreSQL 作为外部数据库
在 PostgreSQL 服务器上安装
postgresql-contrib
软件包:# dnf install postgresql-contrib
连接到 Pulp 数据库:
# su - postgres -c "psql pulpcore"
创建
hstore
扩展:pulpcore=# CREATE EXTENSION IF NOT EXISTS "hstore"; CREATE EXTENSION
-
在 Satellite Web UI 中,进入到 Hosts > Discovered hosts。如果有发现的主机可用,请将其关闭,然后删除
Discovered hosts
页面下的所有条目。依次选择所有其他机构,使用机构设置菜单并根据需要重复此操作。升级完成后重启这些主机。 删除旧的软件仓库:
# rm /etc/yum.repos.d/*
- 按照 在断开连接的网络环境中安装 Satellite 服务器中的 下载 Binary DVD 镜像 流程来获取最新的 ISO 文件。
按照 在断开连接的网络环境中安装 Satellite 服务器中的在 RHEL 8 中使用离线存储库配置基本操作系统 流程,创建用作挂载点、挂载 ISO 镜像和配置
rhel8
存储库 的目录。不要在此阶段安装或更新任何软件包。
从 ISO 文件配置 Satellite 6.14 存储库。
为 Red Hat Satellite 软件包复制 ISO 文件的仓库数据文件:
# cp /media/sat6/Satellite/media.repo /etc/yum.repos.d/satellite.repo
编辑
/etc/yum.repos.d/satellite.repo
文件:# vi /etc/yum.repos.d/satellite.repo
将默认的
InstallMedia
存储库名称更改为Satellite-6.14
:[Satellite-6.14]
添加
baseurl
指令:baseurl=file:///media/sat6/Satellite
从 ISO 文件配置 Red Hat Satellite Maintenance 存储库。
为 Red Hat Satellite 维护软件包复制 ISO 文件的仓库数据文件:
# cp /media/sat6/Maintenance/media.repo /etc/yum.repos.d/satellite-maintenance.repo
编辑
/etc/yum.repos.d/satellite-maintenance.repo
文件:# vi /etc/yum.repos.d/satellite-maintenance.repo
将默认的
InstallMedia
存储库名称更改为Satellite-Maintenance
:[Satellite-Maintenance]
添加
baseurl
指令:baseurl=file:///media/sat6/Maintenance/
启用维护模块:
# dnf module enable satellite-maintenance:el8
由于升级时间较长,请使用
tmux
等工具来挂起并重新附加通信会话。然后,您可以检查升级进度,而不会持续连接到命令 shell。如果您丢失了与运行 upgrade 命令的命令 shell 的连接,您可以在
/var/log/foreman-installer/satellite.log
中看到日志,以检查进程是否已成功完成。检查可用的版本,以确认列出了您想要的版本:
# satellite-maintain upgrade list-versions
使用健康检查选项来确定系统是否已准备好升级。出现提示时,输入 hammer admin 用户凭证,以使用 hammer 凭证配置
satellite-maintain
。这些更改应用于/etc/foreman-maintain/foreman-maintain-hammer.yml
文件。# satellite-maintain upgrade check --target-version 6.14 \ --whitelist="repositories-validate,repositories-setup"
检查结果,并在执行升级前解决任何突出显示的错误条件。
执行升级:
# satellite-maintain upgrade run --target-version 6.14 \ --whitelist="repositories-validate,repositories-setup"
如果因为缺少或过时的软件包而导致脚本失败,您必须单独下载并安装它们。如需更多信息,请参阅 在断开连接的网络环境中安装 Satellite 服务器中的解决软件包依赖 错误。
确定系统是否需要重启:
# dnf needs-restarting --reboothint
可选:如果上一个命令告诉您重启,请重启系统:
# reboot
- 可选:如果您手动编辑 DNS 或 DHCP 配置文件,请使用您所做的备份检查并恢复 DNS 和 DHCP 配置文件所需的任何更改。
如果您在上一步中进行更改,重启 Satellite 服务:
# satellite-maintain service restart
如果您安装了 OpenSCAP 插件,但没有可用的默认 OpenSCAP 内容,请输入以下命令。
# foreman-rake foreman_openscap:bulk_upload:default
- 在 Satellite Web UI 中,进入 Configure > Discovery Rules,并将所选机构和位置与发现规则相关联。
2.4. 同步新存储库
在升级 Capsule 服务器和 Satellite 客户端前,您必须启用和同步新的 6.14 存储库。
流程
- 在 Satellite Web UI 中,进入到 Content > Red Hat Repositories。
- 将 Recommended Repositories 切换到 On 位置。
在结果列表中,展开以下软件仓库并点击 Enable 图标启用存储库:
- 要升级 Satellite 客户端,请为客户端使用的所有 Red Hat Enterprise Linux 版本启用 Red Hat Satellite Client 6 软件仓库。
如果您有 Capsule 服务器,要升级它们,还要启用以下存储库:
Red Hat Satellite Capsule 6.14 (for RHEL 8 x86_64) (RPMs)
Red Hat Satellite Maintenance 6.14 (for 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.14 存储库不可用,请刷新 Red Hat Subscription Manifest。在 Satellite Web UI 中,进入到 Content > Subscriptions,点 Manage Manifest,然后点 Refresh。
- 在 Satellite Web UI 中,进入到 Content > Sync Status。
- 单击产品旁边的箭头,以查看可用的存储库。
- 为 6.14 选择存储库。请注意,Red Hat Satellite Client 6 没有 6.14 版本。选择 Red Hat Satellite Client 6 替代。
点 Synchronize Now。
重要如果您尝试同步存储库时发生错误,请刷新清单。如果问题仍然存在,请引发支持请求。不要从客户门户网站或 Satellite Web UI 中删除清单;这将删除您的内容主机的所有权利。
- 如果您使用内容视图来控制对胶囊服务器的基本操作系统的更新,请使用新存储库更新这些内容视图,发布并提升其更新版本。如需更多信息,请参阅管理内容 中的 管理内容视图 。
2.5. 执行升级后任务
可选: 如果升级过程中更改了默认置备模板,请重新创建从默认模板克隆的任何模板。如果在置备过程之前和/或置备过程后执行自定义代码,请使用自定义置备片断以避免重新创建克隆的模板。有关配置自定义置备片断的更多信息,请参阅 置备主机 中的 创建自定义置备片断。https://docs.redhat.com/en/documentation/red_hat_satellite/6.14/html-single/provisioning_hosts/index#Creating_Custom_Provisioning_Snippets_provisioning
2.6. 升级 Capsule 服务器
本节论述了如何将胶囊服务器从 6.13 升级到 6.14。
开始前
- 您必须升级 Satellite 服务器,然后才能升级任何 Capsule 服务器。请注意,您可以独立于 Satellite 升级 Capsule。如需更多信息,请参阅 第 1.4 节 “从 Satellite 单独升级 Capsule”。
- 确保 Red Hat Satellite Capsule 6.14 存储库已在 Satellite 服务器中启用并同步。
- 确保您会同步 Satellite 服务器上所需的存储库。更多信息请参阅 第 2.4 节 “同步新存储库”。
- 如果您使用内容视图来控制对胶囊服务器的基本操作系统的更新,请使用新存储库更新这些内容视图,发布并提升其更新版本。如需更多信息,请参阅管理内容 中的 管理内容视图 。
- 确保胶囊的基础系统已注册到新升级的 Satellite 服务器。
- 确保 Capsule 在新升级的 Satellite 服务器中具有正确的机构和位置设置。
- 在升级胶囊服务器前,检查和更新您的防火墙配置。如需更多信息,请参阅 安装 Capsule 服务器 中的 为 Capsule 安装准备 您的环境。
如果实施了自定义证书,则必须保留 /root/ssl-build
目录的内容以及创建与自定义证书关联的任何源文件的目录。
在升级过程中无法保留这些文件会导致升级失败。如果删除了这些文件,则必须从备份中恢复这些文件才能进行升级。
升级 Capsule 服务器
创建备份。
- 在虚拟机上,生成快照。
在物理机上,创建备份。
有关备份的详情,请参考 管理 Red Hat Satellite 中的 备份 Satellite 服务器和 Capsule 服务器。
清理 yum 缓存:
# yum clean metadata
-
同步 Satellite
-capsule-6.14-for-rhel-8-x86_64-rpms
存储库。 - 发布并提升胶囊注册到的内容视图的新版本。
rubygem-foreman_maintain
从 Satellite 维护存储库安装,或者从 Satellite Maintenance 存储库(如果当前安装)升级。确保 Capsule 有权访问
satellite-maintenance-6.14-for-rhel-8-x86_64-rpms
并执行:# satellite-maintain self-upgrade
在 Capsule 服务器上,验证
foreman_url
设置是否指向 Satellite FQDN:# grep foreman_url /etc/foreman-proxy/settings.yml
检查可用的版本,以确认列出了您想要的版本:
# satellite-maintain upgrade list-versions
由于升级时间较长,请使用
tmux
等工具来挂起并重新附加通信会话。然后,您可以检查升级进度,而不会持续连接到命令 shell。如果您丢失了与运行 upgrade 命令的命令 shell 的连接,您可以看到
/var/log/foreman-installer/capsule.log
文件中的日志信息,以检查进程是否已成功完成。使用健康检查选项来确定系统是否已准备好升级:
# satellite-maintain upgrade check --target-version 6.14
检查结果,并在执行升级前解决任何突出显示的错误条件。
执行升级:
# satellite-maintain upgrade run --target-version 6.14
确定系统是否需要重启:
# dnf needs-restarting --reboothint
可选:如果上一个命令告诉您重启,请重启系统:
# reboot
- 可选:如果您手动编辑 DNS 或 DHCP 配置文件,请检查并恢复之前进行的 DNS 和 DHCP 配置文件所需的任何更改。
- 可选:如果您使用自定义软件仓库,请确保在升级完成后启用这些自定义软件仓库。
使用远程执行升级 Capsule 服务器
创建备份或创建快照。
有关备份的更多信息,请参阅 管理 Red Hat Satellite 中的 备份 Satellite 服务器和 Capsule 服务器。
- 在 Satellite Web UI 中,进入到 Monitor > Jobs。
- 单击 Run Job。
- 从 Job category 列表中,选择 Maintenance Operations。
- 从 Job template 列表中,选择 Capsule Upgrade Playbook。
- 在 Search Query 字段中,输入 Capsule 的主机名。
- 确保在 Resolves to 字段中显示 Apply to 1 主机。
- 在 target_version 字段中,输入 Capsule 的目标版本。
- 在 whitelist_options 字段中,输入选项。
- 在 Schedule 中,选择作业执行的计划。
- 在 查询部分的 Type 中,点 Static Query。
2.7. 升级外部数据库
在将 Satellite 从 6.13 升级到 6.14 时,您可以将外部数据库从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8。
先决条件
- 为 PostgreSQL 服务器创建一个新的基于 Red Hat Enterprise Linux 8 的主机,该服务器遵循 Red Hat Enterprise Linux 8 文档中的外部数据库。如需更多信息,请参阅在 Satellite 中使用外部数据库。
流程
- 创建备份。
- 在新服务器上恢复备份。
如果 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