从 RHEL 8 升级至 RHEL 9

Red Hat Enterprise Linux 9

把 Red Hat Enterprise Linux 8 原位(in-place)升级到 Red Hat Enterprise Linux 9

摘要

本文档提供了有关如何使用 Leapp 程序将 Red Hat Enterprise Linux 8 原位升级到 Red Hat Enterprise Linux 9。在原位升级过程中,现有 RHEL 8 操作系统会被 RHEL 9 版本替代。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

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

  • 关于特定内容的简单评论:

    1. 请确定您使用 Multi-page HTML 格式查看文档。另外,确定 Feedback 按钮出现在文档页的右上方。
    2. 用鼠标指针高亮显示您想评论的文本部分。
    3. 点在高亮文本上弹出的 Add Feedback
    4. 按照显示的步骤操作。
  • 要通过 Bugzilla 提交反馈,请创建一个新的问题单:

    1. 进入 Bugzilla 网站。
    2. 在 Component 中选择 Documentation
    3. Description 中输入您要提供的信息。包括文档相关部分的链接。
    4. Submit Bug

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用,但这里的定义特定于 Red Hat Enterprise Linux (RHEL)。

Update(更新)

更新(有时称为软件补丁)是您正在运行的应用程序、操作系统或软件的一个补充。软件更新用于解决存在的问题或漏洞,以便提供更好的使用体验。在 RHEL 中,更新与次版本相关,例如,从 RHEL 8.1 更新到 8.2。

Upgrade(升级)

升级是使用一个新的版本替换当前运行的应用程序、操作系统或软件的版本。通常情况下,您需要首先根据红帽的指导对数据进行备份。升级 RHEL 时,有两个选项:

  • 原位升级(In-place upgrade):在原位升级过程中,您可以在不先删除旧版本的情况下将旧版本替换为新版本。安装的应用程序和实用程序,以及相关的配置和首选项都会融合到新版本中。
  • 全新安装(Clean install):干净安装会删除之前安装的操作系统、系统数据、配置和应用程序的所有数据,并安装最新版本的操作系统。如果您不需要之前的数据或应用程序,或者您要部署的新项目不依赖于以前的构建,则全新安装是一个理想的选择。

操作系统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux。通常情况下,您需要首先根据红帽的指导对数据进行备份。

Migration(迁移)

通常,迁移表示对平台(软件或硬件)进行更改。从 Windows 变为 Linux 是一种迁移.用户从使用一个笔记本电脑换为使用另外一个笔记本电脑,公司从使用一个服务器换为使用另一台服务器,都是迁移。但是,大多数迁移都涉及到升级,因此有时此术语可以互换使用。

  • 迁移到 RHEL:将现有操作系统转换到 RHEL
  • 跨 RHEL 迁移:从一个 RHEL 升级到另一个版本

第 1 章 支持的升级路径

原位升级会将系统中的 RHEL 8 操作系统替换为 RHEL 9 版本。

重要

无法执行从 RHEL 7 直接升级到 RHEL 9 的原位升级。但是,您可以执行从 RHEL 7 原位升级到 RHEL 8,然后再执行到 RHEL 9 的第二个原位升级。如需更多信息,请参阅从 RHEL 7 升级到 RHEL 8

目前,可以执行从以下源 RHEL 8 次版本的原位升级到以下目标 RHEL 9 次版本:

表 1.1. 支持的升级路径

产品变体源操作系统版本目标操作系统版本

RHEL

RHEL 8.6

RHEL 9.0

有关支持的升级路径的更多信息,请参阅 支持的 Red Hat Enterprise Linux 原位升级路径

第 2 章 计划升级

原位升级(in-place upgrade)是把系统升级到下一个主要 RHEL 版本的推荐并支持的方法。

您应该在升级到 RHEL 9 前考虑以下问题:

  • 操作系统 — 在以下情况下使用 Leapp 程序升级操作系统:

    • 源操作系统版本安装在有以下支持的构架的系统中:

      • 64 位 Intel、AMD 和 ARM
      • IBM POWER(little endian)
      • 64-bit IBM Z

        如需更多信息,请参阅红帽认证硬件

    • 满足 RHEL 9 的最低硬件要求
    • 访问提供的 RHEL 8.6 和 RHEL 9.0 内容 ; 详情请参阅为升级准备 RHEL 8 系统的步骤 1。
  • 应用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序。然而,在某些情况下,您必须创建 custom actors,它用来在升级过程中指定 Leapp 要执行的操作,例如: 重新配置应用程序或安装特定的硬件驱动程序。如需更多信息,请参阅处理自定义应用程序和第三方应用程序的迁移。请注意,红帽不支持 custom actor。

    重要

    在 RHEL 9 中弃用了 SHA1。如果您的系统包含 RSA/SHA1 签名的任何软件包,则升级会被禁止。在升级前,可以删除这些软件包,或联系带有 RSA/SHA256 签名的软件包的供应商。如需更多信息,请参阅 Red Hat Enterprise Linux 9 中的 SHA-1 弃用

  • 安全性 - 您应该在升级前评估这个方面,并在升级过程完成后采取其他步骤。请特别考虑以下几点:

    • 在升级前,定义您的系统必须遵守的安全标准,并了解 RHEL 9 中的安全更改
    • 在升级过程中,Leapp 会将 SELinux 的模式设置为 permissive。
    • 不支持使用 FIPS 模式进行原位升级。
    • 升级完成后,重新评估并重新应用您的安全策略。有关应用和更新安全策略的详情,请参阅应用安全策略
  • 存储和文件系统 - 您应该在升级前备份您的系统。例如,您可以使用 Relax-and-Recover(ReaR)程序LVM 快照RAID splitting 或虚拟机快照。
  • 高可用性 - 不支持使用高可用性附加组件升级系统。
  • 停机时间 — 升级过程可能会需要几分钟到几小时。
  • satellite - 如果您通过 Satellite 管理主机,您可以使用 Satellite Web UI 同时将多个主机从 RHEL 8 升级到 RHEL 9。如需更多信息,请参阅 将主机从 RHEL 7 升级到 RHEL 8
  • 公共云 - 支持在带有 Red Hat Update Infrastructure (RHUI) 的 Amazon Web Services (AWS) 中的 Pay-As-You-Go (PAYG) 实例进行原位升级。请注意,要将 RHUI 与 AWS 实例搭配使用,您必须已获得红帽官方的 RHEL High Availability Amazon Machine Image(AMI)。原位升级还支持在所有使用 RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例。
  • 语言 - 无论语言配置如何,所有 Leapp 报告、日志和其他生成的文档均为英语。
  • Bootloader - 在 RHEL 8 或 RHEL 9 中无法将引导装载程序从 BIOS 切换到 UEFI。如果您的 RHEL 8 系统使用 BIOS,而您希望 RHEL 8 系统使用 UEFI,请执行全新的 RHEL 9 安装,而不是原位升级。如需更多信息,请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS 引导切换到 UEFI 引导?
  • 已知的限制 - 目前已知的重要的 Leapp 限制包括:

    • 目前,对整个磁盘或者分区进行加密,或对文件系统加密还不能用于计划进行原位升级的系统中。
    • 不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如: iSCSI 或 NFS)。
    • 目前,在使用 Red Hat Update Infrastructure 而不是 Red Hat Subscription Manager(RHSM)进行订阅 RHEL 的公共云(Microsoft Azure、Huawei Cloud、Alibaba Cloud、Google Cloud)上的 on-demand(PAYG)实例还不支持原位升级。

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 了哪些系统位于 RHEL 9 的升级路径中。要做到这一点,进入 Insights 中的相应 顾问建议,在 Actions 下拉菜单下启用建议,并检查 Affected systems 标题下的列表。请注意,Advisor 建议只考虑 RHEL 8 次要版本,且不会对系统进行升级前评估。另请参阅 Advisor Service Recommendations

第 3 章 准备升级

要防止升级后出现问题,并确保您的系统已准备好升级到 RHEL 的下一个主要版本,请在升级前完成所有必要的准备步骤。

您必须在所有系统上执行 为升级准备 RHEL 8 系统中所描述的准备步骤。此外,在注册到 Satellite 服务器的系统上,您也必须执行 为升级准备 Satellite 系统 中所描述的准备步骤。

3.1. 为升级准备 RHEL 8 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 9 进行原位升级前需要进行的操作。

如果您在升级过程中不计划使用 Red Hat Subscription Manager (RHSM),请参阅在没有 Red Hat Subscription Manager 的情况下升级到 RHEL 9

先决条件

流程

  1. 如果您之前从 RHEL 7 升级到 RHEL 8,请在您的系统中存在 /root/tmp_leapp_py3 目录时删除它:

    # rm -rf /root/tmp_leapp_py3
    重要

    如果在执行升级时在您的系统中存在 /root/tmp_leapp_py3 目录,则该系统可能会在升级后中断。

  2. 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册。
  3. 如果您的系统已注册到 Satellite 服务器,请完成 为升级准备 Satellite 系统 中的步骤,以确保您的系统满足升级要求。
  4. 确定已附加了 Red Hat Enterprise Linux Server 订阅。例如:

    # subscription-manager list --installed
    +-------------------------------------------+
        	  Installed Product Status
    +-------------------------------------------+
    Product Name:  	Red Hat Enterprise Linux x86_64
    Product ID:     479
    Version:        8.6
    Arch:           x86_64
    Status:         Subscribed
  5. 确定启用了适当的软件仓库。以下命令为 64 位 Intel 架构启用 Base 和 Appstream 软件仓库;对于其他架构,请参阅 RHEL 8 软件仓库

    # subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms --enable rhel-8-for-x86_64-appstream-rpms
    注意

    您还可以启用 CodeReady Linux Builder 或 Supplementary 软件仓库 ; 请参阅 RHEL 8 软件仓库。在这种情况下,Leapp 会分别启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 Supplementary 软件仓库。有关更多信息,请参阅软件包清单

  6. 对于使用 RHSM 订阅的系统,将系统锁定到 RHEL 8.6:

    # subscription-manager release --set 8.6
  7. 可选: 如果您要使用自定义软件仓库,请根据配置自定义软件仓库中的内容配置它们。
  8. 如果您使用 dnf versionlock 插件将软件包锁定到特定版本,请运行以下命令清除锁:

    # dnf versionlock clear

    如需更多信息,请参阅 How to restrict dnf to install or upgrade a package to a fixed specific package version?

  9. 如果要在 AWS 上使用 Red Hat Update Infrastructure(RHUI)升级,请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包,以确保您的系统已准备好升级:

    # dnf config-manager –set-enabled rhui-client-config-server-8
    # dnf -y install rh-amazon-rhui-client-ha leapp-rhui-aws
  10. 将所有软件包更新到最新的 RHEL 8 版本:

    # dnf update
  11. 重启系统:

    # reboot
  12. 安装 Leapp

    # dnf install leapp-upgrade

    请注意,您目前需要 leapp 软件包的版本 0.14.0 或更高版本,以及 leapp -repository 软件包的版本 0.16.0 或更新版本,其中包含 leapp-upgrade-el8toel9 RPM 软件包。

    注意

    如果您的系统无法访问互联网,您可以从 红帽客户门户网站 下载 Preupgrade Assistant 和 Red Hat Upgrade Tool。

  13. 确保您可以访问其它必要的数据文件的最新版本,包括 RPM 软件包更改、RPM 存储库映射和不受支持的驱动程序和设备。

    1. 如果您使用 RHSM 进行升级,系统可以访问 cloud.redhat.com,并且您尚未下载所需数据的较早版本,则不需要进一步的操作。数据文件从 cloud.redhat.com 自动下载。这也适用于开发人员订阅。
    2. 下载附加到知识库文章 用于断开连接升级的 RHEL 的 Leapp 工具元数据升级 的数据文件,并将它们放在 /etc/leapp/files/ 目录中。请注意,您目前需要 leapp-data17.tar.gz 归档或者更高版本中的数据文件。在以下情况下,这是成功升级所必需的:

      1. 您使用 RHUI 在公共云上升级。如果您没有红帽订阅或红帽客户门户网站帐户,请创建一个免费 RHEL 开发人员订阅,以便您访问知识库文章并下载所需的数据软件包。如需更多信息,请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它?
      2. 您的系统无法访问互联网。
      3. 您使用 RHSM 进行升级,并在之前下载了所需数据文件的旧版本,但没有执行升级(例如用于创建自动化脚本)。您还可以删除旧版本的数据文件,以启动最新版本的自动下载。
  14. 临时禁用防病毒软件以防止升级失败。
  15. 确保任何配置管理系统都不会干扰原位升级过程:

  16. 请确定您的系统没有使用多于一个的、名称基于内核使用的前缀(eth)的网络接口卡(NIC)。如需了解如何在原位升级到 RHEL 9 前迁移到另外一个命名模式的更多信息,请参阅 How to perform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7。RHEL 7 到 RHEL 8 升级的过程与从 RHEL 8 升级到 RHEL 9 时,迁移命名方案的过程相同。
  17. 如果在 RHEL 7 或更早版本中创建您的 NSS 数据库,请验证数据库已从 DBM 数据库格式转换为 SQLite。如需更多信息,请参阅将 NSS 数据库从 DBM 更新到 SQLite
  18. RHEL 9 不支持在 RHEL 8 中弃用的传统 network-scripts 软件包。在升级前,移动自定义网络脚本并编写执行现有自定义脚本的 NetworkManager 分配程序脚本。如需更多信息,请参阅迁移自定义网络脚本到 NetworkManager 分配程序脚本
  19. 确定您有完整的系统备份或者虚拟机快照。请确定您可以按照您的环境中的标准灾难恢复步骤,把系统恢复到升级前的状态。例如,使用 Relax-and-Recover (ReaR) 程序进行备份。如需更多信息,请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复?或者,您可以使用 LVM 快照RAID split。如果升级虚拟机,您可以创建整个虚拟机的快照。

3.2. 为升级准备 Satellite 系统

此流程描述了为升级到 RHEL 9 准备已注册到 Satellite 的系统所需的步骤。在 Satellite Server 上执行几个步骤。

重要

Satellite 系统上的用户必须完成此流程和 为升级准备 RHEL 8 系统 中所描述的步骤。

先决条件

  • 您有对 Satellite 服务器的管理特权。

流程

  1. 验证 Satellite 是否是完全支持或维护支持的版本。如需更多信息,请参阅 Red Hat Satellite 产品生命周期
  2. 将带有 RHEL 9 存储库的订阅清单导入到 Satellite 服务器。如需更多信息,请参阅特定版本的 Red Hat Satellite (例如 6.10)内容管理指南中的管理订阅章节。
  3. 启用并同步所有所需的 RHEL 8 和 RHEL 9 软件仓库与 RHEL 8.6 和 RHEL 9.0 的最新更新。

    注意

    对于 RHEL 9 软件仓库,请确保启用每个软件仓库的版本 9.0。如果您只启用了 RHEL 9 版本,则禁止原位升级。

    例如,对于没有延长更新支持(EUS)订阅的 Intel 构架,至少启用以下软件仓库:

    • Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)

      rhel-8-for-x86_64-appstream-rpms

      x86_64 8 or 8.6

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

      rhel-8-for-x86_64-baseos-rpms

      x86_64 8 or 8.6

    • Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)

      rhel-9-for-x86_64-appstream-rpms

      x86_64 9.0

    • Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)

      rhel-9-for-x86_64-baseos-rpms

      x86_64 9.0

      有关其他架构,请参阅 RHEL 8 软件仓库RHEL 9 软件仓库

      如需更多信息,请参阅 Red Hat Satellite 特定版本(例如 6.10)的内容管理指南 中的 导入内容 章节。

  4. 将内容主机附加到包含所需的 RHEL 8 和 RHEL 9 软件仓库的内容视图。

    如需更多信息,请参阅 Red Hat Satellite 特定版本(例如 6.10)的 内容管理指南 中的 管理内容视图 一章。

验证

  • 验证是否最新的 RHEL 8 软件仓库已在 Satellite 服务器上启用了。例如,要验证库生命周期环境中的存储库:

    # hammer repository list --search 'content_label ~ rhel-9' --content-view <content_view_name> --organization <organization> --lifecycle-environment Library

    content_view_name 替换为内容视图的名称,将 organization 替换为组织。

第 4 章 查看升级前报告

要评估系统的可升级性,请通过 leapp preupgrade 命令启动预升级过程。在这个阶段,Leapp 会收集有关系统的数据,评估可升级性,并生成预升级报告。

预升级报告可在 /var/log/leapp/leapp-report.txt 文件及 web 控制台中找到。这个报告总结了潜在的问题,并给出了推荐的解决方案。本次报告还帮助您决定升级是否可行。

在某些配置中,Leapp 生成 true/false 问题以确定如何进行。所有问题都存储在 /var/log/leapp/answerfile 中,以及 Missing required answers in the answer file 信息的预升级报告中。如果没有对所有问题提供答案,Leapp 会阻止升级。

在升级前评估可升级性时有两个选择:

  1. 查看生成的 leapp-report.txt 文件中的预升级报告,并使用命令行界面手动解决问题。
  2. 使用 Web 控制台查看报告,在可用的情况下应用自动修复,并使用推荐的修复提示修复剩余的问题。
重要

在预升级阶段,Leapp 并不会模拟整个原位升级过程,也不会下载所有 RPM 软件包。

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统,查看预升级报告也很有用。

注意

您可以使用自己的自定义脚本处理预升级报告,例如,比较不同环境的多个报告的结果。如需更多信息,请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

4.1. 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题。

先决条件

流程

  1. 在 RHEL 8 系统中,执行预升级阶段:

    # leapp preupgrade --target 9.0
  2. 通过以下任一方法之一回答 Leapp 所需的每个问题:

    • 执行 leapp answer 命令,指定您要回答的问题以及您已确认的答案。

      # leapp answer --section <question_section>.<field_name>=<answer>

      例如,要确认 Are there no VDO devices on the system? 问题的 True 响应,请执行以下命令:

      # leapp answer --section check_vdo.no_vdo_devices=True
    • 手动编辑 /var/log/leapp/answerfile 文件,通过删除 # 符号取消对文件的最后一行的注释,并确认您的答案为 TrueFalse; 请参阅 Leapp answerfile
  3. 检查 /var/log/leapp/leapp-report.txt 文件中的报告,并在进行原位升级前手动解决问题。

4.2. 通过 web 控制台评估可升级性,并应用自动化修复方法

找出预升级阶段中的潜在问题,以及如何使用 Web 控制台应用自动化修复方法。

先决条件

流程

  1. 安装 cockpit-leapp 插件:

    # dnf install cockpit-leapp
  2. 进入浏览器中的 Web 控制台,再以 root/etc/sudoers 文件中配置的用户身份登录。如需有关 Web 控制台的更多信息,请参阅使用 RHEL 8 Web 控制台管理系统
  3. 在 RHEL 8 系统中,从命令行界面或 web 控制台终端执行预升级:

    # leapp preupgrade --target 9.0
  4. 在 web 控制台中,从左面菜单中选择 In-place Upgrade Report

    图 4.1. Web 控制台中的原位升级报告

    Web 控制台中的原位升级报告

    报告表格提供了对发现问题、风险评估以及修复(如果有)的概述。

    • 风险因素:

      • High - 对系统造成破坏的可能性较高
      • Medium - 可能会同时影响到系统和应用程序
      • Low - 不应该影响系统,但可能会影响应用程序
      • Info - 对系统或应用程序没有预期的影响
    • Inhibitor - 阻止升级过程(强制停止),否则系统将变得无法引导、无法访问或无法正常工作。
    • 修复 - 报告问题的可操作解决方案:

      • 修复命令 - 可直接通过 Web 控制台执行
      • 修正提示 - 如何手动解决问题的步骤
  5. 检查报告的内容。您可以点击标头来排序表。要打开详细信息面板,请点击所选行。

    图 4.2. 详细信息面板

    详细信息面板

    详情面板显示以下附加信息:

    • 问题概述及知识库文档链接更详细地描述了这个问题
    • 修复 - 您可以运行或调度一个自动修复(如果有),并在应用时查看其结果
    • 受影响的系统资源:软件包、库、文件(配置、数据)、磁盘、卷
  6. 另外,可以对结果进行过滤。点击报告左上角的过滤器按钮,并根据您的情况应用过滤器。过滤器类别可和另外的过滤器一起使用。

    图 4.3. 过滤器

    过滤器
  7. 选择您要对其应用自动修复的问题。您有两个选项:

    1. 点击详情框中的 Add to Remediation Plan 按钮选择各个条目。另外,您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复。
    2. 点击报告右上角的 Add all remediations to plan 按钮选择可以选择提供修复的所有项目。
  8. 在 web 控制台中查看并回答 Leapp 所需的问题。每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分。选择回答问题的标题:

    1. 要确认默认的 True 答案,请选择 Add to Remediation Plan 以稍后执行修复或 Run Remediation 以立即执行修复。
    2. 要选择非默认回答,请执行以下任一操作:

      1. 执行 leapp answer 命令,指定您要回答的问题以及您已确认的答案。

        # leapp answer --section <question_section>.<field_name>=<answer>

        例如,要确认 Are there no VDO devices on the system? 问题的 True 响应,请执行以下命令:

        # leapp answer --section check_vdo.no_vdo_devices=True
      2. 手动编辑 /var/log/leapp/answerfile 文件,通过删除 # 符号取消对文件的最后一行的注释,并确认您的答案为 TrueFalse; 请参阅 Leapp answerfile 示例

        图 4.4. 缺少未回答的 Leapp 问题

        未回答的 Leapp 问题
  9. 点击报告右上角的 Remediation plan 链接打开修复计划。修复计划提供所有已执行或已调度的修复列表。

    图 4.5. 修复计划

    修复计划
  10. 点击 Execute Remediation Plan 处理所有已调度的修复。每个修复条目都包括以下信息:

    • 修复的唯一 ID
    • 命令的退出状态
    • 已执行的修复的持续时间
    • 标准输出
    • 标准错误
  11. 执行所选的修复后,使用 leapp preupgrade 命令再次生成预升级报告,检查新报告,并在需要时执行额外的修复步骤。

第 5 章 执行从 RHEL 8 升级到 RHEL 9

此流程列出了使用 Leapp 程序执行从 RHEL 8 升级到 RHEL 9 所需的步骤。

先决条件

流程

  1. 在 RHEL 8 系统中,启动升级过程:

    # leapp upgrade --target 9.0
    • 如果您要使用 /etc/yum.repos.d/ 目录中的 自定义程序仓库进行升级,请启用所选程序仓库,如下所示:

      # leapp upgrade --target 9.0 --enablerepo <repository_id1> --enablerepo <repository_id2> ...
    • 如果您要在没有 RHSM 的情况下升级 或使用 RHUI,请添加 --no-rhsm 选项。
    • 如果您有 扩展升级支持(EUS)、高级更新支持(AUS)或 SAP 解决方案(E4S)的更新服务 订阅,请添加 --channel channel 选项。使用 leapp preupgrade 命令中使用的值(如 eusause4s)替换 channel。请注意,您必须在 leapp preupgradeleapp upgrade 命令中对 --channel 选项使用同样的值。
  2. 在升级过程开始时,Leapp 会执行预升级阶段,如检查预升级报告中所述

    • 如果系统是可升级的,Leapp 会下载必要的数据,并为升级准备 RPM 事务。
    • 如果您的系统没有达到可靠的条件,Leapp 会终止升级进程,并在 /var/log/leapp/leapp-report.txt 文件中提供描述这个问题和推荐解决方案的记录。如需更多信息,请参阅故障排除
  3. 手动重启系统:

    # reboot

    在这个阶段,系统会引导进入基于 RHEL 9 的初始 RAM 磁盘镜像 initramfs。Leapp 升级所有软件包,然后自动重启到 RHEL 9 系统。

    另外,您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤。

    如果发生故障,请调查日志和已知问题,如 故障排除 中所述。

  4. 登录到 RHEL 9 系统并验证其状态, RHEL 9 系统升级后状态的验证中所述。
  5. 完成升级后的任务,如执行升级后的任务中所述。特别是,重新检查并重新应用您的安全策略。

第 6 章 验证 RHEL 9 系统的升级后状态

此流程列出了在升级到 RHEL 9 后建议执行的验证步骤。

先决条件

流程

升级完成后,请确定系统是否处于所需状态,至少:

  • 验证当前操作系统版本是否为 RHEL 9:

    # cat /etc/redhat-release
    Red Hat Enterprise Linux release 9.0 (Plow)
  • 检查 OS 内核版本:

    # uname -r
    5.14.0-70.10.1.el9_0.x86_64

    请注意,.el9 很重要,且版本不能早于 5.14.0。

  • 如果您使用 Red Hat Subscription Manager:

    • 验证是否安装了正确的产品:

      # subscription-manager list --installed
      +-----------------------------------------+
          	  Installed Product Status
      +-----------------------------------------+
      Product Name: Red Hat Enterprise Linux for x86_64
      Product ID:   479
      Version:      9.0
      Arch:         x86_64
      Status:       Subscribed
    • 验证升级后发行版本是否马上设置为 9.0:

      # subscription-manager release
      Release: 9.0
  • 例如,验证网络服务是否可操作,试着使用 SSH 连接到服务器。
  • 检查应用程序的升级后状态。在某些情况下,您可能需要手动执行迁移和配置更改。例如,要迁移您的数据库,请按照配置和使用数据库服务器的说明进行。

第 7 章 执行升级后的任务

此流程列出了在向 RHEL 9 进行原位升级后推荐执行的主要任务。

先决条件

流程

执行升级后,完成以下任务:

  1. /etc/dnf/dnf.conf 配置文件中的 exclude 列表中删除剩余的 Leapp 软件包,其中包括 snactor 软件包,这是升级扩展开发的工具。在原位升级过程中,使用 Leapp 工具安装的Leapp 软件包会自动添加到 排除列表中,以防止删除或更新重要的文件。在原位升级后,在从系统中删除 Leapp 软件包之前,必须将它们从排除列表中删除。

    • 要从 exclude 列表中手动删除软件包,请编辑 /etc/dnf/dnf.conf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包。
    • 从 exclude 列表中删除所有软件包:

      # dnf config-manager --save --setopt exclude=''
  2. 删除剩余的 RHEL 8 软件包,包括剩余的 Leapp 软件包。

    1. 找到剩余的 RHEL 8 软件包:

      # rpm -qa | grep -e '\.el[78]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
    2. 从 RHEL 9 系统中删除剩余的 RHEL 8 软件包,包括旧的内核软件包。
    3. 删除剩余的 Leapp 依赖软件包:

      # dnf remove leapp-deps-el9 leapp-repository-deps-el9
  3. 重新检查并重新应用您的安全策略。特别是,需要将 SELinux 模式改为 enforcing。详情请参阅应用安全策略

第 8 章 应用安全策略

在原位升级过程中,SELinux 策略必须切换到 permissive 模式。另外,安全配置集可能包含主要版本之间的更改。本节介绍了保护升级的 RHEL 系统并包括在安全相关组件的预升级步骤时。

8.1. 将 SELinux 模式改为 enforcing

在原位升级过程中,Leapp 会将 SELinux 的模式设置为 permissive。当成功升级系统时,您必须手动将 SELinux 模式改为 enforcing。

先决条件

流程

  1. 确保没有 SELinux denials,例如,使用 ausearch 工具程序:

    # ausearch -m AVC,USER_AVC -ts boot

    请注意,上一步只涵盖最常见的情况。要检查所有可能的 SELinux denials,请查看使用 SELinux 中的 识别 SELinux denials 部分。

  2. 在您选择的文本编辑器中打开 /etc/selinux/config 文件,例如:

    # vi /etc/selinux/config
  3. 配置 SELINUX=enforcing 选项:

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    # SELINUXTYPE= can take one of these two values:
    #       targeted - Targeted processes are protected,
    #       mls - Multi Level Security protection.
    SELINUXTYPE=targeted
  4. 保存更改,重启系统:

    # reboot

验证

  1. 系统重启后,确认 getenforce 命令返回 Enforcing:

    $ getenforce
    Enforcing

8.2. 系统范围的加密策略

系统范围的加密策略是一个系统组件,它可配置核心加密子系统,包括 TLS、IPSec、SSH、DNSSec 和 Kerberos 协议。

原位升级过程会保留您在 RHEL 8 中使用的加密策略。例如,如果您在 RHEL 8 中使用 DEFAULT 加密策略,您的系统升级到 RHEL 9 也可以使用 DEFAULT。请注意,预定义的策略中的特定设置有所不同,RHEL 9 加密策略包含更为严格且更安全的默认值。例如,RHEL 9 DEFAULT 加密策略限制 SHA-1 使用签名,而 LEGACY 策略不再允许 DH 和 RSA 密码小于 2048 位。如需更多信息,请参阅 安全强化文档 中的 Strong crypto defaults 部分。自定义加密策略会在原位升级过程中保留。

要查看或更改当前系统范围的加密策略,请使用 update-crypto-policies 工具:

$ update-crypto-policies --show
DEFAULT

例如,以下命令可将系统范围内的加密策略切换到 FUTURE,这样可防止任何近期可能出现的安全攻击:

# update-crypto-policies --set FUTURE
Setting system policy to FUTURE

如果您需要使用 SHA-1 来验证现有或第三方加密签名,您可以输入以下命令启用它:

# update-crypto-policies --set DEFAULT:SHA1

或者,您可以将系统范围的加密策略切换到 LEGACY 策略。但是,LEGACY 还支持许多不安全的其他算法。

警告

启用 SHA 子策略会使您的系统比默认的 RHEL 9 设置更加容易。切换到 LEGACY 策略甚至不太安全,您应该谨慎使用。

您还可以自定义系统范围的加密策略。详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容。如果您使用自定义加密策略,请考虑查看和更新策略,以便在加密和计算机硬件中提前缓解出现的威胁。

其他资源

8.3. 升级系统强化到安全基点

要在成功升级到 RHEL 9 后获得完全强化的系统,您可以使用 OpenSCAP 套件提供的自动化补救功能。OpenSCAP 修复使您的系统符合安全基线,如 PCI-DSS、OSPP 或 ACSC Essential Eight。由于安全产品的演进,配置合规性建议在 RHEL 的主要版本之间有所不同。

当升级一个强化的 RHEL 8 系统时,Leapp 工具 提供保持完整强化的直接方法。根据组件配置中的更改,该系统可能会在升级过程中偏离 RHEL 9 的建议。

注意

您不能使用相同的 SCAP 内容扫描 RHEL 8 和 RHEL 9。如果系统的合规性(如 Red Hat Satellite 或 Red Hat Insights )进行管理,则更新管理平台。

作为自动化修复的替代方法,您可以按照 OpenSCAP 生成的报告手动进行更改。有关生成合规性报告的详情,请参阅 扫描系统的安全合规性和漏洞

重要

在默认配置中,自动化修复支持 RHEL 系统。因为升级后更改了系统配置,因此运行自动补救可能无法使系统完全与所需的安全配置集兼容。您可能需要手动修复一些要求。

以下示例流程根据 PCI-DSS 配置集强化您的系统设置。

先决条件

  • scap-security-guide 软件包会在 RHEL 9 系统中安装。

流程

  1. 查找合适的安全合规数据流 .xml 文件:

    $ ls /usr/share/xml/scap/ssg/content/
    ...
    ssg-rhel9-ds.xml
    ...

    如需更多信息,请参阅 Viewing compliance profiles 部分。

  2. 根据从合适的数据流所选的配置文件来修复系统:

    # oscap xccdf eval --profile pci-dss --remediate /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml

    您可以根据您要强化系统的配置集 ID 替换 --profile 参数中的 pci-dss 值。有关 RHEL 9 支持的配置集的完整列表,请参阅 RHEL 支持的 SCAP 安全配置集

    警告

    如果没有谨慎使用,在启用 --remediate 选项的情况下运行系统评估可能会导致系统无法正常工作。红帽不提供任何自动的方法来恢复由安全补救机制所做的更改。默认配置的 RHEL 系统支持自动安全补救功能。如果在安装后更改了您的系统,运行补救可能无法使其与所需安全配置兼容。

  3. 重启您的系统:

    # reboot

验证

  1. 验证系统是否遵从配置文件,并将结果保存到 HTML 文件中:

    $ oscap xccdf eval --report pcidss_report.html --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml

8.4. 验证 USBGuard 策略

使用 USBGuard 软件框架,您可以使用基于内核中 USB 设备的授权功能,保护您的系统不受入侵 USB 设备的影响。

先决条件

  • 您已为 USB 设备创建了一个规则集,它会在升级前反映您的要求。
  • usbguard 服务已安装在您的 RHEL 9 系统上运行。

流程

  1. 备份 /etc/usbguard/ 目录中存储的 *.conf 文件。
  2. 使用 usbguard generate-policy 生成新的策略文件。请注意,命令只为当前可用的 USB 设备生成规则。
  3. 将新生成的规则与前面策略中的规则进行比较:

    1. 如果您在为同一设备生成新策略和预升级规则时识别规则中的不同,请针对以后插入的设备相应地修改原始规则。
    2. 如果新生成的和预升级规则之间没有区别,您可以在不修改的情况下使用在 RHEL 8 中创建的策略文件。

8.5. 更新 fapolicyd 数据库

fapolicyd 软件框架根据用户定义的策略来控制应用程序的执行。

在个别情况下,可能会出现 fapolicyd 信任数据库格式的问题。重建数据库:

  1. 停止该服务:

    # systemctl stop fapolicyd
  2. 删除数据库:

    # fapolicyd-cli –delete-db
  3. 启动服务:

    # systemctl start fapolicyd

如果您将自定义信任文件添加到信任数据库中,请使用 fapolicyd-cli -f update <FILE> 命令单独进行更新,或使用 fapolicyd-cli -f update 以前进行更新。要应用这些更改,请使用 fapolicyd-cli -update 命令或重启 fapolicyd 服务。

另外,自定义二进制文件可能需要为新 RHEL 版本重新构建。在更新 fapolicyd 数据库前执行任何这样的更新。

8.6. 将 NSS 数据库从 DBM 更新至 SQLite

在将 NSS_DEFAULT_DB_TYPE 环境变量设置为系统上的 sql 值后,许多应用程序会自动将 NSS 数据库格式从 DBM 转换为 SQLite。您可以使用 certutil 工具来确保转换所有数据库。

注意

在升级到 RHEL 9 前,将存储在 DBM 格式的 NSS 数据库转换。换句话说,在您要升级到 RHEL 9 的 RHEL 系统(6、7 和 8)中执行以下步骤。

先决条件

  • nss-utils 软件包安装在您的系统中。

流程

  1. 将系统上的 NSS_DEFAULT_DB_TYPE 设置为 sql

    # export NSS_DEFAULT_DB_TYPE=sql
  2. 在每个目录中使用转换命令[1] 其中包括 DBM 格式的 NSS 数据库文件,例如:

    # certutil -K -X -d /etc/ipsec.d/

    请注意,如果您的数据库文件受密码保护,则必须提供密码或密码文件的路径作为 -f 选项的值,例如:

    # certutil -K -X -f /etc/ipsec.d/nsspassword -d /etc/ipsec.d/

其他资源

  • certutil(1) 手册页。


[1] RHEL 在 /etc/pki/nssdb 目录中包含系统范围 NSS 数据库。其他位置取决于您使用的应用程序。例如,Libreswan 将数据库存储在 /etc/ipsec.d/ 目录中,Firefox 使用 /home/<username>/.mozilla/firefox/ 目录。

8.7. 将 Cyrus SASL 数据库从 Berkeley DB 格式迁移到 GDBM

RHEL 9 cyrus-sasl 软件包构建时没有 libdb 依赖项,sasldb 插件使用 GDBM 数据库格式而不是 Berkeley DB。

先决条件

  • cyrus-sasl-lib 软件包已安装在您的系统中。

流程

  • 要迁移以旧 Berkeley DB 格式存储的现有简单身份验证和安全层(SASL)数据库,请使用 cyrusbdb2current 工具,语法如下:

    # cyrusbdb2current <sasldb_path> <new_path>

其他资源

  • cyrusbdb2current(1) man page

第 9 章 故障排除

您可以参阅以下内容来排除从 RHEL 8 升级到 RHEL 9 进行故障排除。

9.1. 故障排除资源

您可以参考以下故障排除资源。

控制台输出

默认情况下,Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别,在leapp upgrade 命令中使用 --verbose--debug 选项。

  • verbose 模式中,Leapp 会输出 info, warning, error, 和 critical 信息。
  • debug 模式中,Lapp 会输出 debug、info、warning、error 和 critical 信息。

日志

  • /var/log/leapp/leapp-upgrade.log 文件列出了 initramfs 阶段里的问题。
  • /var/log/leapp/dnf-debugdata/ 目录包含了事务故障排除数据。只有在 leapp upgrade 命令使用了 --debug 选项执行时,才会生成这个目录。
  • /var/log/leapp/answerfile 包含 Leapp 回答所需的问题。
  • Journalctl 实用程序提供完整的日志。

Reports

9.2. 故障排除窍门

您可以参考以下故障排除信息。

预升级阶段

  • 验证您的系统满足规划升级中列出的所有条件。
  • 请确定您遵循了 准备升级 中描述的所有步骤,例如:您的系统没有使用多个网络接口卡(NIC),它们的名称基于内核使用的前缀(eth)。
  • 确保您已回答了 /var/log/leapp/answerfile 文件中 Leapp 所需的所有问题。如果缺少回答,Leapp 会阻止升级。例如:

    • 系统中没有 VDO 设备?
  • 请确定您解决了在预升级报告(位于 /var/log/leapp/leapp-report.txt )中发现的所有问题。您也可以使用 web 控制台来达到此目的,如评估可升级性并通过 web 控制台应用自动化修复中所述。

例 9.1. Leapp answerfile

以下是一个未编辑的 /var/log/leapp/answerfile 文件,它有一个未回答的问题:

[check_vdo]
# Title:              None
# Reason:             Confirmation
# ========================== check_vdo.no_vdo_devices =========================
# Label:              Are there no VDO devices on the system?
# Description:        Enter True if there are no VDO devices on the system and False continue the upgrade. If the system has no VDO devices, then it is safe to continue the upgrade. If there are VDO devices they must all be converted to LVM management before the upgrade can proceed.
# Reason:             Based on installed packages it is possible that VDO devices exist on the system.  All VDO devices must be converted to being managed by LVM before the upgrade occurs. Because the 'vdo' package is not installed, Leapp cannot determine whether any VDO devices exist that have not yet been converted.  If the devices are not converted and the upgrade proceeds the data on unconverted VDO devices will be inaccessible. If you have any doubts you should choose to install the 'vdo' package and re-run the upgrade process to check for unconverted VDO devices. If you are certain that the system has no VDO devices or that all VDO devices have been converted to LVM management you may opt to allow the upgrade to proceed.
# Type:               bool
# Default:            None
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
# no_vdo_devices =

Label 字段指定需要回答的问题。在这个示例中,问题是 Are there no VDO devices on the system?

要回答问题,请取消对最后一行的注释并输入回答 TrueFalse。在本例中,所选答案为 True

[check_vdo]
...
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
no_vdo_devices = True

下载阶段

  • 如果在下载 RPM 软件包时出现问题,请检查位于 /var/log/leapp/dnf-debugdata/ 目录的事务调试数据。

    注意

    如果没有生成事务调试数据,/var/log/leapp/dnf-debugdata/ 目录为空,则不存在。当所需的软件仓库不可用时,会出现这种情况。

initramfs 阶段

  • 在此阶段,潜在的故障会进入 Dracut shell。检查 Journal 日志:

    # journalctl

    或者,使用 reboot 命令从 Dracut shell 重启系统,并检查 /var/log/leapp/leapp-upgrade.log 文件。

升级后阶段

  • 如果您的系统看上去成功升级,但是使用旧的 RHEL 8 内核引导,重启系统并检查 GRUB 中默认条目的内核版本。
  • 确保您遵循了 RHEL 9 系统升级后状态的验证中推荐的步骤。
  • 如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确,请使用 ausearch, journalctl, 或 dmesg 检查拒绝:

    # ausearch -m AVC,USER_AVC -ts boot
    # journalctl -t setroubleshoot
    # dmesg | grep -i -e selinux -e type=1400

    最常见的问题是由错误的标记造成的。更多详情请参阅SELinux 故障排除

9.3. 已知问题

从 RHEL 8 升级到 RHEL 9 时可能会遇到的已知问题:

  • 在进行原位升级时,如果 Network Manager 被禁用或没有安装,则 network teaming 功能无法正常工作。
  • 如果您使用 HTTP 代理,则必须将 Red Hat Subscription Manager 配置为使用代理服务器,或在执行 subscription-manager 命令时使用 --proxy <hostname> 选项 。否则,subscription-manager 命令的执行会失败。如果您使用 --proxy 选项而不是配置更改,升级过程会失败,因为 Leapp 无法检测到代理。要防止这个问题发生,请手动编辑 rhsm.conf 文件,如 How to configure HTTP Proxy for Red Hat Subscription Management 所述。(BZ#1689294)
  • 如果您的 RHEL 8 系统使用由红帽提供但在 RHEL 9 中不可用的设备驱动程序,Leapp 将会限制升级。但是,如果 RHEL 8 系统使用 Leapp/etc/leapp/files/device_driver_deprecation_data.json 文件中没有数据的第三方设备驱动程序,Leapp 不会检测这样的驱动程序并进行升级。然后,该系统可能会在升级后无法引导。
  • 如果系统上安装的第三方软件包(不是红帽签名的)的名称与红帽提供的软件包名称相同,则原位升级会失败。要临时解决这个问题,请在升级前选择以下选项之一:

    1. 删除第三方软件包
    2. 使用红帽提供的软件包替换第三方软件包
  • 在 RHEL 8 中,可以使用 VDO 管理器或逻辑卷管理器(LVM)来管理 Virtual Data Optimizer(VDO)卷。在 RHEL 9 中,只能使用 LVM 管理 VDO 卷。要升级后继续使用 VDO 管理的卷,请将这些卷导入到 LVM 管理的 VDO 卷:

    1. 验证 RHEL 8 系统中是否安装了 VDO 和 LVM 的最新版本。
    2. 在开始原位升级前,将 VDO 管理的 VDO 卷导入到 LVM 管理的 VDO 卷:

      # lvm_import_vdo --name <volume_group_name>/<lvm_name> /dev/mapper/<vdo_name>

      volume_group_name 替换为新卷组名称,lvm_name 替换为 LVM 管理的 VDO 卷的新名称,且 vdo_name 替换为您要导入的 VDO-managed 卷的名称。

      重要

      您无法将 LVM 管理的 VDO 卷导入到 VDO 管理的 VDO 卷。因此,如果您打算将来通过 VDO 管理器访问这些 VDO 卷,则无法反向导入过程。有关 LVM 管理的 VDO 卷的更多信息,请参阅 RHEL 指南中的重复数据删除和压缩逻辑卷。

  • 在带有软件冗余磁盘阵列 (RAID) 的系统中,原位升级会失败。(BZ#1957192)
  • 在原位升级过程中,Leapp 通常会在 RHEL 8 和 RHEL 9 之间保留网络接口控制器(NIC)。但是,在某些系统上,如带有网络绑定的系统,可能需要在 RHEL 8 和 RHEL 9 之间更新 NIC 名称。在这些系统上,设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量,执行原位升级,然后验证您的网络是否按预期工作。如果需要,请手动更新网络配置。(BZ#1919382)
  • 在 NFS 服务器中运行的 NSFD 服务的系统上,在原位升级过程中可能会错误地检测到不存在的 NFS 分区,从而限制升级。要防止这个问题,在运行原位升级前停止 NFSD 服务:

    # systemctl stop /proc/fs/nfsd

    (BZ#2036069)

  • 在执行升级前,原位升级可能会停止,因为 Leapp 程序错误地检测到没有足够的可用磁盘空间。如果您的系统包含格式化为 XFS 文件系统的分区,您可以在没有 ftype 属性的情况下将 LEAPP_OVL_SIZE 环境变量中默认大小更改为帐户,至少可在容器内指定磁盘空间。建议增加默认大小,使其大于指定缺少的磁盘空间,以防止重复错误信息。例如,如果 Leapp 程序检测到需要额外的 400 MB,将默认大小从 2048 MB 增加到至少 2500 MB。

    注意

    这个临时解决方案可能需要在 /var 分区中有大量可用空间。

    如果这个临时解决方案没有解决这个问题,或者您的系统没有 ftype 属性中没有包含这些分区,请联系红帽支持。(BZ#1832730)

  • 在 64 位 ARM 架构的系统上,在 RHEL 9 中,内核页面大小已从 RHEL 8 中的 64k 改为 4k。因此,在原位升级后,swap 分区不会被自动挂载。要临时解决这个问题,请在执行原位升级后手动挂载 swap 并重新初始化 swap:

    # swapon -a --fixpgsz

    (BZ#2040470)

  • 使用 RoCE Express 适配器在 IBM Z 上原位升级会破坏网络。RHEL 9.0 为 RoCE Express 适配器使用可预测接口名称。它们与 RHEL 8.6 发行版中的名称不同。因此,如果您执行从 RHEL 8 升级到 RHEL 9,则 RoCE Express 适配器的现有网络配置会破坏当前的 RHEL 9 次版本。
  • 在原位升级过程中,如果手动在 执行从 RHEL 8 升级到 RHEL 9 的步骤 3 后遇到任何问题,则系统会进入紧急模式。如果您在没有 -debug 选项的情况下运行 leapp upgrade 命令,或者在手动重启后在命令行界面中的键盘中输入时,系统可能会错误地进入紧急模式。发生这种情况时,无论进入紧急模式,升级也会正常进行。如果您的系统进入紧急模式,请确定没有问题解决,且升级仍在继续:

    # ps -e | grep leapp && echo "The upgrade is still running; do nothing and wait"

    您可以根据需要多次运行此命令。如果升级仍在进行,则不需要执行任何进一步的操作,且可以在原位升级完成后引导升级的系统。

    (BZ#2092005)

  • 使用 Red Hat Update Infrastructure(RHUI) 的 Amazon Web Services(RHUI)上的 on-demand Pay-As-You-Go(PAYG)实例的原位升级只能用于 RHEL High Availability Amazon Machine Image(AMI)。目前无法使用其他 RHEL AMI 进行升级。(BZ#2106904)

9.4. 获取支持

您可以创建一个支持问题单,选择 RHEL 7 作为产品,并提供您系统的 sosreport

  • 要在您的系统中生成 sosreport,请运行:
# sosreport

请注意:您可以将问题单 ID 留空。

有关生成 sosreport 的详情,请参阅 What is an sosreport and how to create one in Red Hat Enterprise Linux?

有关在客户门户网站中建立和管理支持问题单的详情,请参阅 How do I open and manage a support case on the Customer Portal?

附录 A. RHEL 8 软件仓库

在升级前,请确保启用了适当的软件仓库,如准备 RHEL 8 系统用于升级的步骤 4 所述。

如果您计划在升级过程中使用 Red Hat Subscription Manager,您 必须在升级前使用 subscription-manager repos --enable repository_id 命令启用以下软件仓库

表 A.1. RHEL 8 软件仓库

架构软件仓库仓库 ID

64 位 Intel 和 AMD

Base

rhel-8-for-x86_64-baseos-rpms

Appstream

rhel-8-for-x86_64-appstream-rpms

64-bit ARM

Base

rhel-8-for-aarch64-baseos-rpms

Extras

rhel-8-for-aarch64-appstream-rpms

IBM POWER(little endian)

Base

rhel-8-for-ppc64le-baseos-rpms

Appstream

rhel-8-for-ppc64le-appstream-rpmss

IBM Z

Base

rhel-8-for-s390x-baseos-rpms

Appstream

rhel-8-for-s390x-appstream-rpms

升级前,可以使用 subscription-manager repos --enable repoid 命令启用以下仓库

表 A.2. Voluntary RHEL 8 软件仓库

架构软件仓库仓库 ID

64 位 Intel 和 AMD

Code Ready Linux Builder

codeready-builder-for-rhel-8-x86_64-rpms

Supplementary

rhel-8-for-x86_64-supplementary-rpms

64-bit ARM

Code Ready Linux Builder

codeready-builder-for-rhel-8-aarch64-rpms

Supplementary

rhel-8-for-aarch64-supplementary-rpms

IBM POWER(little endian)

Code Ready Linux Builder

codeready-builder-for-rhel-8-ppc64le-rpms

Supplementary

rhel-8-for-ppc64le-supplementary-rpms

IBM Z

Code Ready Linux Builder

codeready-builder-for-rhel-8-s390x-rpms

Supplementary

rhel-8-for-s390x-supplementary-rpms

注意

如果您在原位升级前启用了 RHEL 8 Code Ready Linux Builder 或 RHEL 8 Supplementary 软件仓库,Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 Supplementary 软件仓库。有关更多信息,请参阅软件包清单

如果您决定使用自定义软件仓库,请根据配置自定义软件仓库中的内容启用它们。

附录 B. RHEL 9 软件仓库

如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content Delivery Network(CDN),则 RHEL 9 软件仓库会在原位升级过程中自动启用。但是,在使用 RHSM 注册了 Red Hat Satellite 的系统中,在运行预升级报告前手动启用并同步 RHEL 8 和 RHEL 9 软件仓库。

注意

确保启用每个存储库的版本 9.0。如果您只启用了 RHEL 9 版本,则禁止原位升级。

如果您计划在升级过程中使用 Red Hat Satellite,在升级前,使用 Satellite Web UI 或 hammer repository-set enablehammer product synchronize 命令启用并同步至少以下的 RHEL 9 仓库:

表 B.1. RHEL 9 软件仓库

架构软件仓库仓库 ID仓库名称发行版本

64 位 Intel 和 AMD

BaseOS

rhel-9-for-x86_64-baseos-rpms

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

x86_64 9.0

Appstream

rhel-9-for-x86_64-appstream-rpms

Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)

x86_64 9.0

64-bit ARM

BaseOS

rhel-9-for-aarch64-baseos-rpms

Red Hat Enterprise Linux 9 for ARM 64 - BaseOS (RPMs)

aarch64 9.0

Appstream

rhel-9-for-aarch64-appstream-rpms

Red Hat Enterprise Linux 9 for ARM 64 - AppStream (RPMs)

aarch64 9.0

IBM Power (little endian)

BaseOS

rhel-9-for-ppc64le-baseos-rpms

Red Hat Enterprise Linux 9 for Power, little endian - BaseOS (RPMs)

ppc64le 9.0

Appstream

rhel-9-for-ppc64le-appstream-rpms

Red Hat Enterprise Linux 9 for Power, little endian - AppStream (RPMs)

ppc64le 9.0

IBM Z

BaseOS

rhel-9-for-s390x-baseos-rpms

Red Hat Enterprise Linux 9 for IBM z Systems - BaseOS (RPMs)

s390x 9.0

Appstream

rhel-9-for-s390x-appstream-rpms

Red Hat Enterprise Linux 9 for IBM z Systems - AppStream (RPMs)

s390x 9.0