搜索

第 3 章 准备升级

download PDF

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

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

3.1. 为升级准备 RHEL 8 系统

这个流程描述了在使用 Leapp 工具对 RHEL 9 执行原位升级前必需的步骤。

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

先决条件

  • 系统满足 规划一个升级 中列出的条件。
  • 如果系统之前已从 RHEL 7 升级到 RHEL 8,请确保所有必要的升级后步骤已完成。如需更多信息,请参阅从 RHEL 7 升级到 RHEL 8 指南中的 执行升级后任务

流程

  1. 可选:查看 使用 Leapp 执行 RHEL 升级的最佳实践和建议知识库文章中的最佳实践。
  2. 使用 Red Hat Subscription Manager 确保您的系统已被成功注册到 Red Hat Content Delivery Network (CDN)或 Red Hat Satellite。
  3. 如果您已将您的系统注册到 Satellite 服务器,请完成 为升级准备一个注册了 Satellite 的系统 中的步骤,以确保您的系统满足升级要求。

    重要

    如果您的系统已注册到 Satellite 服务器,则您必须完成 为升级准备一个注册了 Satellite 的系统 中的步骤,然后才能继续此流程中的步骤,以防止问题发生。

  4. 可选:卸载升级不需要的非系统操作系统文件系统(例如,仅包含与系统本身不相关的数据文件的文件系统),并从 /etc/fstab 文件中注释掉它们。这可减少升级过程所需的时间,并防止与自定义或第三方参与者在升级期间未正确迁移的第三方应用程序相关的潜在问题。
  5. 使用 subscription-manager 验证系统是否已订阅:

    1. 如果您的系统是使用启用了 Simple Content Access (SCA)的帐户注册的,请验证 Content Access Mode is set to Simple Content Access 消息是否出现:

      # subscription-manager status
      +-------------------------------------------+
         System Status Details
      +-------------------------------------------+
      Overall Status: Disabled
      Content Access Mode is set to Simple Content Access. This host has access to content, regardless of subscription status.
      System Purpose Status: Disabled
    2. 如果您的系统是使用禁用了 SCA 的帐户注册的,请验证是否已附加了 Red Hat Linux Server 订阅,产品名称为 Server,其状态为 Subscribed。例如:

      # subscription-manager list --installed
      +-------------------------------------------+
          	  Installed Product Status
      +-------------------------------------------+
      Product Name:   Red Hat Enterprise Linux for x86_64
      Product ID:     479
      Version:        8.10
      Arch:           x86_64
      Status:         Subscribed
  6. 确定启用了适当的存储库。以下命令为 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 (也称为 Optional)或 Supplementary 存储库。有关存储库 ID 的更多信息,请参阅 RHEL 8 存储库。有关这些存储库内容的更多信息,请参阅 软件包清单

  7. 设置系统发行版本:

    1. 对于使用 RHSM 订阅的系统,将系统锁定为所需的源操作系统版本:

      # subscription-manager release --set <source_os_version>
    2. 如果您要在公有云上使用 Red Hat Update Infrastructure (RHUI)升级,请手动设置期望的系统发行版本:

      # rhui-set-release --set <source_os_version>
      重要

      如果系统上没有提供 rhui-set-release 命令,您可以通过更新 /etc/dnf/vars/release 文件来设置期望的系统发行版本:

      # echo "<source_os_version>" > /etc/dnf/vars/releasever

      source_os_version 替换为源 OS 版本,如 8.8

  8. 可选:要使用自定义存储库,请参阅 配置自定义存储库 知识库文章。
  9. 如果您使用 dnf versionlock 插件将软件包锁定为特定版本,请运行以下命令清除锁:

    # dnf versionlock clear

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

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

    1. 对于 AWS:

      # dnf config-manager --set-enabled rhui-client-config-server-8
      # dnf -y install leapp-rhui-aws
    2. 对于 Microsoft Azure:

      # dnf config-manager --set-enabled rhui-microsoft-azure-rhel8
      # dnf -y install rhui-azure-rhel8 leapp-rhui-azure
    3. 对于 Google Cloud Platform,请遵循 Google Cloud Platform (GCP) 知识库文章。
  11. 安装 Leapp

    # dnf install leapp-upgrade

    请注意,您需要最新的 leappleapp-repository 软件包,它们基于安装的哪个 RHEL 8 版本而有所不同。以下是当前最新的软件包版本:

    注意

    leapp-repository 软件包包含 leapp-upgrade-el8toel9 RPM 软件包。

    • RHEL 8.8: leapp 软件包的版本 0.15.1leapp-repository 软件包的版本 0.18.0
    • RHEL 8.10leapp 软件包的 leapp 版本 0.17.0leapp-repository 软件包的版本 0.20.0

      注意

      如果您的系统无法访问互联网,请从红帽客户门户网站下载以下软件包

      • leapp
      • leapp-deps
      • python3-leapp
      • leapp-upgrade-el8toel9
      • leapp-upgrade-el8toel9-deps
  12. 将所有软件包更新到最新的 RHEL 8 版本,并重启:

    # dnf update
    # reboot
  13. leapp-upgrade-el8toel9 软件包的最新版本包含所有所需的数据文件。如果您使用旧版本替换了这些数据文件,请删除 /etc/leapp/files 目录中的所有 JSON 文件,并重新安装 leapp-upgrade-el8toel9 软件包,以确保您的数据文件是最新的。
  14. 临时禁用防病毒软件以防止升级失败。
  15. 确保任何配置管理系统都不会干扰原位升级过程:

    • 如果您使用客户端-服务器架构的配置管理系统(如 PuppetSaltChef ),请在运行 leapp preupgrade 命令前禁用系统。在升级完成前,请不要启用配置管理系统,以防止升级过程中出现问题。
    • 如果您使用无代理架构的配置管理系统(如 Ansible ),在原位升级过程中不要执行配置和部署文件(如 Ansible playbook),如 执行升级 中所述。

      红帽不支持使用配置管理系统进行预升级和升级过程的自动化。如需更多信息,请参阅 使用配置管理系统在 Red Hat Enterprise Linux 上自动化部分 Leapp 预升级和升级过程

  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 不支持旧的 network-scripts 软件包,该软件包在 RHEL 8 中已弃用。在升级前,移动自定义网络脚本,并编写执行现有自定义脚本的 NetworkManager 分配程序脚本。如需更多信息,请参阅迁移自定义网络脚本到 NetworkManager 分配程序脚本
  19. 如果您要使用 ISO 镜像进行升级,请验证 ISO 镜像是否包含目标操作系统版本,如 RHEL 9.4,并保存到持久本地挂载点,以确保 Leapp 工具可以在升级过程中访问镜像。
  20. 确定您有一个完整的系统备份或虚拟机快照。请确定您可以按照您的环境中的标准灾难恢复步骤,把系统恢复到升级前的状态。您可以使用以下备份选项:

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.