第 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
目录的内容以及创建与自定义证书关联的任何源文件的目录。
无法在升级过程中保留这些文件会导致升级失败。如果删除了这些文件,则必须从备份中恢复这些文件才能进行升级。
升级场景
- 要升级连接到 Red Hat Content Delivery Network 的 Satellite 服务器,请继续 第 3.1.1 节 “升级连接的 Satellite 服务器”。
- 要升级未连接到 Red Hat Content Delivery Network 的 Satellite 服务器,请继续 第 3.1.2 节 “升级断开连接的 Satellite 服务器”。
您无法升级自我注册的 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 服务器
停止所有 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
- 在 Satellite Web UI 中,导航到 Hosts > Discovered hosts。在 Discovered Hosts 页面上,关闭并删除发现的主机。在 Select a Organization 菜单中,选择每个机构,然后重复该过程来关闭并删除发现的主机。升级完成后,请注意要重新启动这些主机。
确保启用了 Satellite Maintenance 存储库:
# subscription-manager repos --enable \ rhel-7-server-satellite-maintenance-6.11-rpms
检查可用版本以确认您要列出的版本:
# satellite-maintain upgrade list-versions
使用健康检查选项来确定系统是否准备好升级。出现提示时,输入 hammer admin 用户凭证以使用 hammer 凭证配置
satellite-maintain
。这些更改应用于/etc/foreman-maintain/foreman-maintain-hammer.yml
文件。# satellite-maintain upgrade check --target-version 6.11
在执行升级前,查看结果并解决任何突出显示的错误条件。
由于长时间升级时间,请使用
tmux
等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。如果您丢失了运行 upgrade 命令的命令 shell 的连接,您可以在
/var/log/foreman-installer/satellite.log
文件中看到日志信息,以检查进程是否已成功完成。执行升级:
# satellite-maintain upgrade run --target-version 6.11
确定系统是否需要重启:
检查最新安装的内核版本:
# rpm --query --last kernel | head -n 1
把它与当前运行的内核版本进行比较:
# uname --kernel-release
可选: 如果最新的内核与当前运行的内核不同,请重启系统:
# reboot
如果使用 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 服务器
停止所有 Satellite 服务:
# satellite-maintain service stop
创建快照或创建备份:
- 在虚拟机上创建快照。
- 在物理机上创建备份。
启动所有 Satellite 服务:
# satellite-maintain service start
可以使用预升级脚本来检测冲突和列出 Satellite 服务器中有重复条目的主机,可在升级后取消注册和删除。此外,它将检测没有分配给机构的主机。如果在 Hosts > All hosts 下列出主机,且没有机构关联,并且具有相同名称的内容主机是否已与其关联,则内容主机将自动取消注册。在升级前,可以将此类主机与机构关联来避免这一点。
运行预升级检查脚本,以获取升级后可以删除的主机列表。如果找到任何未关联的主机,建议在升级前将其与机构相关联。
# foreman-rake katello:upgrade_check
-
可选:如果您手动编辑
/etc/zones.conf
或/etc/dhcp/dhcpd.conf
文件中的 DNS 或 DHCP 配置,请备份配置文件,因为安装程序只支持一个域或子网,因此可能需要从这些备份中恢复更改。 可选:如果您手动编辑 DNS 或 DHCP 配置文件且不想覆盖更改,请输入以下命令:
# satellite-installer --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=false
-
在 Satellite Web UI 中,导航到 Hosts > Discovered hosts。如果有可用的主机,请关闭它们,然后删除
发现的主机
页面下的所有条目。使用机构设置菜单选择所有其他机构,并根据需要重复此操作。升级完成后重启这些主机。 - 确保所有外部 Capsule 服务器分配到某个机构,否则可能会因为主机未修改更改而取消注册。
删除旧的软件仓库:
# rm /etc/yum.repos.d/*
停止 Satellite 服务:
# satellite-maintain service stop
- 按照 在断开连接的网络环境中安装 Satellite 服务器 中的 下载 Binary DVD 镜像 步骤来获取最新的 ISO 文件。
创建用作挂载点、挂载 ISO 镜像的目录,并配置
rhel7-server
或rhel8
存储库:For Red Hat Enterprise Linux 8
按照在断开连接的网络环境中安装 Satellite 服务器中的在 RHEL 8 中使用离线软件仓库配置基本操作系统。
For Red Hat Enterprise Linux 7
按照在断开连接的网络环境中安装 Satellite 服务器中的在 RHEL 7 中使用离线软件仓库配置基本操作系统。
不要在此阶段安装或更新任何软件包。
从 ISO 文件配置 Satellite 6.11 存储库。
复制 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.11
:[Satellite-6.11]
添加
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/
如果您的 Satellite 在 Red Hat Enterprise Linux 7 上运行,请从 ISO 文件配置 Ansible 存储库。
复制 Ansible 软件包的 ISO 文件存储库数据文件:
# cp /media/sat6/ansible/media.repo /etc/yum.repos.d/ansible.repo
编辑
/etc/yum.repos.d/ansible.repo
文件:# vi /etc/yum.repos.d/ansible.repo
将默认的
InstallMedia
存储库名称改为Ansible
:[Ansible]
添加
baseurl
指令:baseurl=file:///media/sat6/ansible/
如果您的 Satellite 在 Red Hat Enterprise Linux 7 上运行,请从 ISO 文件中配置 Red Hat Software Collections 存储库。
复制 Red Hat Software Collections 软件包的 ISO 文件存储库数据文件:
# cp /media/sat6/RHSCL/media.repo /etc/yum.repos.d/RHSCL.repo
编辑
/etc/yum.repos.d/RHSCL.repo
文件:# vi /etc/yum.repos.d/RHSCL.repo
将默认的
InstallMedia
存储库名称改为RHSCL
:[RHSCL]
添加
baseurl
指令:baseurl=file:///media/sat6/RHSCL/
可选:如果您应用了自定义 Apache 服务器配置,请注意在执行升级时自定义配置会恢复到安装默认值。
要预览升级过程中应用的更改,请输入
satellite-installer
命令以及--noop
(无操作)选项。当您在下一步中输入satellite-maintain upgrade
命令时,会应用这些更改。将以下行添加到
/etc/httpd/conf/httpd.conf
配置文件中:Include /etc/httpd/conf.modules.d/*.conf
重新启动
httpd
服务。# systemctl restart httpd
启动
postgresql
数据库服务。# systemctl start postgresql
使用
--noop
选项输入satellite-installer
命令:# satellite-installer --scenario satellite --verbose --noop
查看
/var/log/foreman-installer/satellite.log
,以预览升级过程中应用的更改。找到代表配置文件更改的+++
和---
符号。虽然使用--noop
选项输入satellite-installer
命令不会对 Satellite 应用任何更改,但模块中的一些 Puppet 资源预期会应用更改,并可能会显示失败消息。停止 Satellite 服务:
# satellite-maintain service stop
由于长时间升级时间,请使用
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.11 \ --whitelist="repositories-validate,repositories-setup"
在执行升级前,查看结果并解决任何突出显示的错误条件。
执行升级:
# satellite-maintain upgrade run --target-version 6.11 \ --whitelist="repositories-validate,repositories-setup"
如果因为缺少或过时的软件包导致脚本失败,您必须单独下载并安装它们。如需更多信息,请参阅在断开连接的网络环境中安装 Satellite 服务器中的解决软件包依赖错误。
如果使用 BASH shell,在成功或失败后,请输入:
# hash -d satellite-maintain service 2> /dev/null
检查内核软件包最后一次更新的时间:
# rpm -qa --last | grep kernel
可选:如果内核更新自上次重启后发生,请停止 Satellite 服务并重启系统:
# satellite-maintain service stop # 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,并将所选机构和位置与发现规则关联。