搜索

从基于 RPM 的 Linux 发行版转换到 RHEL

download PDF
Red Hat Enterprise Linux 8

从 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 转换到 Red Hat Enterprise Linux 7 和 Red Hat Enterprise Linux 8 的说明

Red Hat Customer Content Services

摘要

本文档提供了有关如何将您的操作系统从 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 转换到 RHEL 7 和 RHEL 8 的说明。

前言

本文档提供了有关如何将您的操作系统从以下 Linux 发行版转换到 Red Hat Enterprise Linux (RHEL) 7 或 RHEL 8 的说明:

  • Alma Linux
  • CentOS Linux
  • Oracle Linux
  • Rocky Linux

转换是由 Convert2RHEL 工具来执行的。

注意

红帽目前不支持从 Scientific Linux 转换到 RHEL。有关不支持的转换的详情,请参考 如何执行不受支持的从 RHEL 派生的 Linux 发行版本到 RHEL 的转换

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。如需了解更多详细信息,请参阅 CTO Chris Wright 信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。让我们了解如何改进它。

通过 Jira 提交反馈(需要帐户)

  1. 登录到 Jira 网站。
  2. 单击顶部导航栏中的 Create
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您的建议以改进。包括文档相关部分的链接。
  5. 点对话框底部的 Create

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用,但这里的定义特定于 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 章 支持的转换路径

重要

红帽建议您联系红帽咨询服务,以确保转换过程可以平稳进行。

目前,可以将您的系统从以下 Linux 发行版和版本转换到表 1.1 中列出的相应的 RHEL 次要版本。

表 1.1. 支持的转换路径
源操作系统源版本目标操作系统和版本产品变体可用的转换方法

Alma Linux

8.10

RHEL 8.10

不适用

命令行界面, Satellite

8.8

RHEL 8.8 EUS

不适用

命令行界面, Satellite

CentOS Linux

8.5

RHEL 8.5

不适用

命令行界面, Satellite

7.9

RHEL 7.9

Server

命令行界面、Satellite、Red Hat Insights

Oracle Linux

8.10

RHEL 8.10

不适用

命令行界面, Satellite

7.9

RHEL 7.9

Server

命令行界面, Satellite

Rocky Linux

8.10

RHEL 8.10

不适用

命令行界面, Satellite

8.8

RHEL 8.8 EUS

不适用

命令行界面, Satellite

因为 CentOS Linux 的最后可用的次版本是 CentOS Linux 8.5,所以无法从 CentOS Linux 8 直接转换到最新可用的 RHEL 8 次版本。建议您在转换后将您的系统更新至 RHEL 的最新版本。

RHEL 7 于 2024 年 6 月 30 日结束其生命周期。如果您要转换为 RHEL 7 并计划使用 RHEL 7,强烈建议购买延长生命周期支持(ELS)附加组件订阅。如果您计划转换为 RHEL 7,然后立即升级到 RHEL 8 或更高版本,则不需要 ELS 订阅。请注意,没有 ELS,您对 RHEL 7 的支持有限,包括从 RHEL 7 升级到 RHEL 8。如需更多信息,请参阅 Red Hat Enterprise Linux 生命周期和 Convert2RHEL 支持政策

除了上面支持的转换路径外,还可以执行从 Scientific Linux7 和 CentOS Stream 8 到 RHEL 的不受支持的转换。有关不支持的转换的详情,请参考 如何执行不受支持的从 RHEL 派生的 Linux 发行版本到 RHEL 的转换

有关红帽对 Linux 发行版转换的支持政策,请参阅 Convert2RHEL 支持策略

第 2 章 转换方法

根据您的要求,您可以使用以下方法之一转换到 RHEL:

  • 使用命令行界面转换 - 使用此方法转换少量服务器,或者使用自定义自动化来大规模转换大量服务器。

    注意

    如果您有 Satellite 订阅,但计划使用命令行界面进行转换,您可以通过 Satellite ,而不是使用 Red Hat Content Delivery Network (CDN)来访问所需的 RHEL 软件包。

    有关如何使用命令行界面进行转换的更多信息,请参阅 规划一个 RHEL 转换使用命令行进行转换

  • 使用 Red Hat Satellite 进行转换 - 使用此方法大规模转换大量服务器。要使用 Satellite 进行转换,您必须有一个 Satellite 订阅。有关如何使用 Satellite 进行转换的更多信息,请参阅 将主机转换为 Red Hat Enterprise Linux
  • 使用 Red Hat Insights 进行转换 - 使用此方法在用户友好的 GUI 界面中转换多个系统,而无需 Satellite 订阅。系统必须连接到互联网。转换后,系统会使用 Red Hat Insights 完全加入。

    注意

    Insights 支持在 Amazon Web Services (AWS)上使用现收现付定价模式对用于第三方迁移的 Red Hat Enterprise Linux的转换。如需更多信息,请参阅 用于第三方 Linux 迁移的 Red Hat Enterprise Linux

    有关如何使用 Red Hat Insights 进行转换的更多信息,请参阅 规划一个 RHEL 转换使用 Insights 进行转换

第 3 章 规划 RHEL 转换

自动转换过程是在运行的系统中执行的。Convert2RHEL 工具将原始 Linux 发行版中的所有 RPM 软件包替换为其 RHEL 版本。在过程结束时,需要重启系统来引导 RHEL 内核。

在原始发行版中可用但在 RHEL 软件仓库中没有对应的软件包的软件包,以及第三方软件包(它们不来自原始 Linux 发行版本也不包括在 RHEL 中)不会受到转换的影响。对于在转换过程中没有变化的第三方软件包,红帽不提供支持。请参阅有关支持第三方软件的红帽策略

注意

Convert2RHEL 工具不会影响 /home/srv 目录中的本地用户及其数据。但是,Convert2RHEL 无法控制转换过程中 RPM 软件包 scriptlets 所执行的操作。

在将系统转换为 RHEL 前,您应该考虑以下几点:

  • 架构 - 必须在具有 64 位 Intel 架构的系统中安装源操作系统。不能与其他系统架构转换。
  • 安全 - FIPS 模式中的系统不支持进行转换。
  • Kernel - 目前不支持对使用 RHEL 内核模块中不存在的内核模块的系统的转换。红帽建议在转换前禁用或卸载外部内核模块,然后在转换完成后再启用或重新安装这些内核模块。不支持的内核模块包括:

    • 用于专用应用程序、GPU、网络驱动程序或存储驱动程序的内核模块
    • 由 DKMS 构建的自定义编译内核模块
  • 公有云 - 在以下情况下支持公有云上的转换:

    • Alma Linux、CentOS Linux 和 Rocky Linux - 对以下镜像使用 Red Hat Subscription Manager (RHSM):

      • Amazon Web Services (AWS)、Microsoft Azure 和 Google Cloud 上的镜像,无需相关的软件成本。
      • 所有公有云上的用户提供的自定义镜像
    • Oracle Linux - 使用 RHSM 在所有公有云上提供用户提供自定义镜像。

      Convert2RHEL 在转换过程中无法通过 Red Hat Update Infrastructure (RHUI)访问 RHEL 软件包。

  • 高可用性 - 目前,使用由红帽或第三方提供的高可用性集群软件的系统当前没有被测试或支持转换为 RHEL。红帽建议迁移至新安装的 RHEL 系统以确保这些环境的完整性。
  • 身份管理 - 不支持执行 FreeIPA 服务器的原位升级转换。有关如何将 FreeIPA 部署迁移到 IdM 的更多信息,请参阅 从非 RHEL Linux 发行版上的 FreeIPA 迁移到 RHEL 7 上的 IdM从非 RHEL Linux 发行版上的 FreeIPA 迁移到 RHEL 8 上的 IdM
  • Foreman - 不支持使用带有 Katello 插件的 Foreman 的系统的转换。要执行支持的转换,请先迁移到 Red Hat Satellite,然后进行转换。
  • raid - 无法使用 mdadm- 管理的 RAID 设备转换基于 UEFI 的系统。

第 4 章 使用命令行进行转换

您可以使用命令行界面执行从 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 到 RHEL 的转换。

4.1. 准备 RHEL 转换

这个流程描述了在执行从 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 到 Red Hat Enterprise Linux (RHEL)的转换之前需要执行的步骤。

先决条件

  • 已确认您的系统被支持切换到 RHEL。如需更多信息,请参阅支持的转换路径
  • 您已停止了重要应用程序、数据库服务以及存储数据的任何其他服务,以减少数据完整性问题的风险。
  • 您已经临时禁用了防病毒软件,以防止转换失败。
  • 您已禁用或重新配置了任何配置管理系统,如 Salt、Chef、Puppet、Ansible,来不尝试恢复原始系统。
  • 已安装 sos 软件包。您必须使用此软件包来生成为红帽支持团队创建支持问题单时所需的 sosreport
  • 您已在 Satellite 或 RHSM 中创建了一个激活码。如需更多信息,请参阅 Satellite 文档中的 管理激活码,以及 RHSM 文档中的 在混合云控制台上开始使用激活码
  • 您已启用了 简单内容访问(SCA)。2022 年 7 月 15 日之后创建的红帽帐户默认已启用 SCA。

流程

  1. 备份您的系统,并确认是否可在需要时恢复该系统。
  2. 检查已知问题和限制,验证您的系统是否支持进行转换。在适用的情况下应用临时解决方案。
  3. 如果从 CentOS Linux 8 转换,请从您的系统中删除任何 CentOS Stream 软件包。CentOS Stream 目前不支持进行转换,如果系统中存在任何软件包,转换可能会失败。
  4. 如果使用 Red Hat Satellite 或通过代理服务器进行带有防火墙的转换,请确保您可以访问以下连接:

  5. 如果从 CentOS Linux 转换,更新 CentOS 存储库 URL:

    # sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    # sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    重要

    CentOS Linux 7 和 CentOS Linux 8 结束其生命周期。如需更多信息,请参阅 CentOS Linux EOL

  6. 安装 Convert2RHEL:

    1. 下载 Red Hat GPG 密钥:

      # curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txt
    2. 安装 Convert2RHEL 存储库文件。

      1. 要转换为 RHEL 7,请输入以下命令:

        # curl -o /etc/yum.repos.d/convert2rhel.repo https://cdn-public.redhat.com/content/public/repofiles/convert2rhel-for-rhel-7-x86_64.repo
      2. 要转换为 RHEL 8,请输入以下命令:

        # curl -o /etc/yum.repos.d/convert2rhel.repo https://cdn-public.redhat.com/content/public/repofiles/convert2rhel-for-rhel-8-x86_64.repo
        注意

        您必须使用 Convert2RHEL 仓库文件的最新版本进行转换。如果您之前已经安装了旧版本的存储库文件,请删除较早的版本并安装当前版本。

    3. 安装 Convert2RHEL 工具:

      # yum -y install convert2rhel
  7. 确保您可以使用以下方法之一访问 RHEL 软件包:

    1. 通过 Red Hat Subscription Manager(RHSM)的 Red Hat Content Delivery Network(CDN)。您必须有一个红帽帐户和一个适当的 RHEL 订阅才能访问 RHSM。请注意,根据表 1.1 ,操作系统将被转换成相应的 RHEL 次要版本。
    2. Red Hat Satellite 是一个完全支持或维护支持的版本。如需更多信息,请参阅 Red Hat Satellite 产品生命周期

      注意

      确保 Satellite 服务器满足以下条件:

      • Satellite 带有一个 RHEL 软件仓库的订阅清单。如需更多信息,请参阅特定版本的 Red Hat Satellite 的 管理内容指南中的管理红帽订阅章节,例如 6.14
      • 所有需要的软件仓库都会与最新的目标操作系统更新启用并同步,并在 Satellite 中发布。至少为相应的操作系统主版本启用以下软件仓库:

        • Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server
        • Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs <target_os>
        • Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs <target_os>

      对于 CentOS Linux 转换和 8.98.88.6 用于 Alma Linux、Oracle Linux 或 Rocky Linux 转换,将 target_os 替换为 8.5

    3. /etc/yum.repos.d/ 目录中配置的自定义软件仓库,并指向目标操作系统存储库的镜像。对于只能访问本地网络或可移植介质的系统,因此无法通过 RHSM 访问 Red Hat CDN。确保软件仓库包含那个 RHEL 次版本的最新内容,以防止降级和潜在的转换失败。如需更多信息,请参阅创建本地仓库并与无连接/离线/Air-gapped 系统共享

      注意

      RHEL 8 内容由两个默认软件仓库(BaseOS 和 AppStream)发布。如果您要通过自定义软件仓库访问 RHEL 软件包,必须配置这两个默认软件仓库才能成功转换。运行 Convert2RHEL 工具时,请确保使用 --enablerepo 选项启用这两个软件库。有关 RHEL 8 存储库的更多信息,请参阅 采用 RHEL 8 的注意事项

  8. 如果您要通过 Red Hat Satellite 服务器访问 RHEL 软件包,请将您的系统注册到 Red Hat Satellite。如需更多信息,请参阅 注册主机并设置主机集成
  9. 如果您使用 RHSM 进行转换,且还没有注册系统,请更新 /etc/convert2rhel.ini 文件以包含以下数据:

    [subscription_manager]
    org = <organization_ID>
    activation_key = <activation_key>

    如果您使用 Red Hat CDN,请使用红帽客户门户网站中的机构 ID 和激活码替换 organization_idactivation_key

  10. 临时禁用防病毒软件以防止转换失败。
  11. 如果您使用自定义存储库访问 RHEL 软件包,请禁用这些软件仓库。Convert2RHEL 工具在转换过程中启用自定义存储库。
  12. 按照表 1.1 的规定,将原始操作系统更新到支持转换的次要版本,然后重新启动系统。

    您必须使用来自支持转换的操作系统的次要版本的最新软件包进行转换,以便在转换失败时使用回滚功能。如需更多信息,请参阅 转换回滚

4.2. 查看预转换分析报告

要评估您的系统是否可以转换为 RHEL,请运行 RHEL 预转换分析。预转换分析会生成一个报告,它总结了潜在的问题和推荐的解决方案。这个报告还帮助您决定是否可能或建议执行到 RHEL 的转换。

始终检查整个预转换分析报告,即使报告没有发现阻碍转换的因素。预转换分析报告包含转换前推荐的要完成的操作,以确保转换后的 RHEL 系统正常工作。

重要

预转换分析报告无法识别所有阻碍系统的问题。因此,即使您检查并修复了报告中的所有问题,在转换过程中还可能会出现问题。

先决条件

流程

  1. 在 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 系统上,运行预转换分析:

    #  convert2rhel analyze
    • 如果您要转换到 RHEL 8.8,并有一个 扩展升级支持(EUS),请添加 --eus 选项。这个选项确保您的系统只接收传送给 EUS 存储库的重要安全更新。
    • 如果您要转换为 RHEL 7 并具有 延长生命周期支持(ELS) 附加组件,请添加 --els 选项。如果您计划继续使用 RHEL 7 继续获得支持,则建议您购买 ELS 附加组件。
  2. 预转换分析运行一系列测试,以确定您的系统是否可以转换到 RHEL。分析完成后,在终端中查看预转换报告中每个完成的测试的状态和详情。不成功的测试包含问题的描述、问题可能的原因的诊断,以及(如果适用的话)推荐的补救方法。

    每个测试结果都处于以下状态之一:

    • Success - 测试成功,这个组件没有问题。
    • Error - 测试遇到一个可能导致转换失败的问题,因为它很可能导致系统状态恶化。在转换前必须解决这个问题。
    • Overridable - 测试遇到导致转换失败的问题,因为它很可能导致系统状态恶化。这个问题必须在转换前解决或手动覆盖。
    • Warning - 测试在转换后遇到可能导致系统和应用程序有问题的问题。但是,这个问题并不会造成转换失败。
    • Skip - 因为一个先决条件测试失败,所以不会运行此测试。可能会导致转换失败。
    • Info - 对系统或应用程序没有预期影响的信息。

      例如:

      ========== Warning (Review and fix if needed) ==========
      
      (WARNING) PACKAGE_UPDATES::PACKAGE_NOT_UP_TO_DATE_MESSAGE - Outdated packages detected
           Description: Please refer to the diagnosis for further information
           Diagnosis: The system has 4 package(s) not updated based on the enabled system repositories.
          List of packages to update: openssh-server openssh openssh-clients.
      
          Not updating the packages may cause the conversion to fail.
          Consider updating the packages before proceeding with the conversion.
           Remediation: [No further information given]
  3. 检查报告并解决所有报告的问题后,重复步骤 1-2 ,以重新运行分析,并确认没有突出的问题。

4.3. 转换为一个 RHEL 系统

此流程描述了将您的系统从 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 转换到 Red Hat Enterprise Linux (RHEL)所需的步骤。

流程

  1. 启动 Convert2RHEL 工具:

    # convert2rhel
    • 要显示所有可用选项,请使用 --help (-h)选项。
    • 如果您使用自定义软件仓库而不是 RHSM 转换,请添加 --no-rhsm 和 -- enablerepo < RHEL_RepoID1> --enablerepo &lt; RHEL_RepoID2> 选项。将 RHEL_RepoID 替换为您在 /etc/yum.repos.d/ 目录中配置的自定义软件仓库,如 rhel-7-server-rpmsrhel-8-baseosrhel-8-appstream
    • 如果您要转换到 RHEL 7,您可以使用 --enablerepo 选项手动启用 RHEL 7 Extras 或 Optional 存储库,来使用 RHEL 对应的软件包替换其它软件包。请注意,Optional 仓库中的软件包不被支持。如需更多信息,请参阅 Red Hat Enterprise Linux 中可选和附加频道的支持策略
    • 如果您要转换到 RHEL 8.8,并有一个 扩展升级支持(EUS),请添加 --eus 选项。这个选项确保您的系统只接收传送给 EUS 存储库的重要安全更新。
    • 如果您要转换为 RHEL 7 并具有 延长生命周期支持(ELS) 附加组件,请添加 --els 选项。如果您计划继续使用 RHEL 7 继续获得支持,则建议您购买 ELS 附加组件。
  2. Convert2RHEL 开始使用 RHEL 软件包替换原始发行版本中的软件包前,会显示以下警告信息:

    The tool allows rollback of any action until this point.
    By continuing, all further changes on the system will need to be reverted manually by the user, if necessary.

    Convert2RHEL 在此之前所做的更改可以被自动恢复。确认您要继续转换过程。

  3. 等待 Convert2RHEL 安装 RHEL 软件包,并成功完成。
  4. 建议:如果您使用自定义软件仓库进行转换,请注册并订阅您的 RHEL 系统。如需更多信息,请参阅如何对红帽客户门户网站进行离线注册和订阅系统?
  5. 此时,系统仍然会使用原始发行内核在 RAM 中载入。重启系统以引导新安装的 RHEL 内核。

    # reboot
  6. 检查第三方软件包列表,并从保持不变的原始操作系统中删除不必要的软件包。这些通常是没有 RHEL 相应软件包的软件包。要获取这些软件包列表,请使用:

    # yum list extras --disablerepo="*" --enablerepo=<RHEL_RepoID>

    RHEL_RepoID 替换为您的软件仓库。

  7. 如果您已将 Amazon Web Services (AWS)或 Microsoft Azure 中的带有 Red Hat Enterprise Linux for Third Linux Migration for ELS 产品的系统转换,请在系统中启用主机 metering。如需更多信息,请参阅 云环境中的延长生命周期支持为 Red Hat Enterprise Linux 启用 metering
  8. 可选:执行到 RHEL 9 的原位升级,以确保您的系统使用最新的增强、安全功能和 bug 修复进行了更新。如需更多信息,请参阅 从 RHEL 7 升级到 RHEL 8 以及 从 RHEL 8 升级到 RHEL 9 指南。请注意,如果已转换为 RHEL 7,您必须首先执行从 RHEL 7 到 RHEL 8 的原位升级,然后执行从 RHEL 8 到 RHEL 9 的升级。

验证

  • 验证您的系统是否如预期运行。如有必要,在转换并修复依赖关系错误后重新配置系统服务。如需更多信息,请参阅修复依赖关系错误

第 5 章 使用 Insights 进行转换

您可以使用 Red Hat Insights 执行从 CentOS Linux 7 到 RHEL 7 的转换。

5.1. 使用 Insights 准备 RHEL 转换

使用 Red Hat Insights 准备您的系统以进行 pre-conversion 分析,然后按照以下步骤执行到 RHEL 的转换。

先决条件

  • 您计划将 CentOS Linux 7 系统转换为 Red Hat Enterprise Linux (RHEL) 7。必须在命令行或 Satellite 中执行从 CentOS Linux 8 到其他 Linux 发行版的转换。
  • 您在 红帽客户门户网站 有一个帐户和激活码。如需更多信息,请参阅 在混合云控制台上开始使用激活码
  • 您已停止了重要应用程序、数据库服务以及存储数据的任何其他服务,以减少数据完整性问题的风险。
  • 您已经临时禁用了防病毒软件,以防止转换失败。
  • 您已禁用或重新配置了任何配置管理系统,如 Salt、Chef、Puppet、Ansible,来不尝试恢复原始系统。
  • 已安装 sos 软件包。您必须使用此软件包来生成为红帽支持团队创建支持问题单时所需的 sosreport
  • 您已启用了 简单内容访问(SCA)。2022 年 7 月 15 日之后创建的红帽帐户默认已启用 SCA。

流程

  1. 备份您的系统,并确认在需要时可以恢复它们。
  2. 检查已知问题和限制,验证您的系统是否支持进行转换。在适用的情况下应用临时解决方案。
  3. 确保标准 CentOS Linux 内核是引导内核。如果您的系统引导到的内核不是标准内核,请将默认内核改为标准内核,然后重新启动您的系统以应用更改。如需更多信息,请参阅 使用grubby 工具对 GRUB 2 菜单进行永久性更改
  4. 如果您使用防火墙或通过代理服务器进行转换,请确保您可以访问以下连接:

  5. 安装红帽客户端工具:

    1. 下载 Red Hat GPG 密钥:

      # curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txt
    2. 安装 client-tools 存储库文件:

      # curl -o /etc/yum.repos.d/client-tools.repo https://ftp.redhat.com/redhat/client-tools/client-tools-for-rhel-7-server.repo
    3. 安装 client tools 软件包:

      # yum -y install subscription-manager subscription-manager-rhsm-certificates rhc rhc-worker-script insights-client
  6. 启用远程主机配置,使用 Red Hat Subscription Manager (RHSM)注册您的系统,并将您的系统与 Red Hat Insights 连接:

    # rhc connect --activation-key <activation_key> --organization <organization_ID>

    使用 红帽客户门户网站 中的机构 ID 和激活码替换 organization_idactivation_key。有关远程主机配置的更多信息,请参阅 远程主机配置(rhc) 知识库文章。

验证

  1. 登录到 Red Hat Hybrid Cloud 控制台,进入到 Red Hat Insights > RHEL > Inventory > Systems
  2. 验证您的 CentOS Linux 系统是否按预期出现。
注意

您可以与注册的 CentOS Linux 系统一起使用的 Red Hat Insights 服务是 RHEL 转换。所有其他 Insights 服务仅在转换到 RHEL 后才可用。

5.2. 使用 Insights 查看预转换分析报告

要评估您的 CentOS Linux 系统是否可以转换到 RHEL,请运行 Pre-conversion analysis for converting to RHEL 任务。预转换分析会生成一个报告,它总结了潜在的问题和推荐的解决方案。这个报告还帮助您决定是否可能或建议执行到 RHEL 的转换。

先决条件

流程

  1. 登录到 Red Hat Hybrid Cloud 控制台,进入到 Red Hat Insights > RHEL > Automation toolkit > Tasks
  2. 找到 Pre-conversion analysis for converting to RHEL 任务,然后单击 Run task
  3. 选择您要分析进行转换的 CentOS Linux 7 系统,然后点 Execute task

    注意

    预转换分析可能最多需要一小时才能完成。

    预转换分析工具在 Activity 选项卡中生成一个新报告。选择报告来查看每个系统中发现的问题的总结。您还可以通过选择一个系统来进一步查看每个问题,并在适用时查看潜在的补救方法。

    图 5.1. 用于转换到 RHEL 的预转换分析

    用于转换到 RHEL 的预转换分析

    每个问题都会被分配一个严重等级:

    • Inhibitor : 可能导致转换失败,因为它很可能会导致系统状态恶化。在转换前必须解决这个问题。
    • Skipped :由于先决条件测试失败,不会运行此测试。可能会导致转换失败。
    • Warning :应该不会导致转换失败。转换后可能会出现系统和应用程序问题。
    • Info :对系统或应用程序没有预期的影响的信息。
  4. 检查报告并解决所有报告的问题后,点击 Run task again ,来重新运行分析,并确认没有突出的问题。

5.3. 使用 Insights 转换到 RHEL 系统

运行 Pre-conversion analysis for converting to RHEL 任务并解决所有报告的问题后,您可以将 CentOS Linux 7 系统转换为 RHEL 7。

先决条件

流程

  1. 登录到 Red Hat Hybrid Cloud 控制台,进入到 Red Hat Insights > RHEL > Automation toolkit > Tasks
  2. 找到 Convert to RHEL from CentOS 7 Linux 任务,然后点 Run task
  3. 选择您要转换为 RHEL 的 CentOS Linux 7 系统,然后点 Execute task

    注意

    转换过程可能最多需要一小时才能完成。

  4. 进入到 Activity 选项卡,然后选择新生成的转换报告。
  5. 查看每个系统和消息:

    • 如果系统已成功转换且没有问题,请重启系统并继续下一步。
    • 如果系统没有转换,请查看消息,以了解有关发现的问题以及如何解决它们的更多信息。另外,验证以下内容:

    • 如果转换超时且没有完成,请验证系统是否正在运行,并在其它时间重试。如果问题仍然存在,请联系 支持

      图 5.2. 从 CentOS 7 Linux 转换到 RHEL

      从 CentOS 7 Linux 转换到 RHEL
  6. 重新引导已成功转换的系统后,从原始操作系统中删除保持不变的第三方软件包。这些通常是没有 RHEL 相应软件包的软件包。要获取这些软件包列表,请使用:

    # yum list extras --disablerepo="*" --enablerepo=<RHEL_RepoID>

    RHEL_RepoID 替换为您的软件仓库。

  7. 可选:执行到 RHEL 9 的原位升级,以确保您的系统使用最新的增强、安全功能和 bug 修复进行了更新。如需更多信息,请参阅 从 RHEL 7 升级到 RHEL 8 以及 从 RHEL 8 升级到 RHEL 9 指南。

第 6 章 转换回滚

Convert2RHEL 工具在以下情况下提供有限的回滚功能:

  • 如果 Convert2RHEL 已在 analyze 模式下运行,则工具会回滚它所做的所有更改。
  • 如果工具失败或者被用户停止,则只有 Convert2RHEL 开始使用 RHEL 软件包替换原始发行版本中的软件包之前执行的更改才可以被恢复。此时会显示相应的警告信息:

    The tool allows rollback of any action until this point.
    By continuing all further changes on the system will need to be reverted manually by the user, if necessary.

    接下来会询问您是否希望继续这个过程。

    注意

    如果将 -y 选项与 convert2rhel 命令一起使用,则指示时间后自动回滚不再可能的问题会被跳过。

警告

如果转换过程在 Convert2RHEL 开始了软件包替换阶段后被取消或失败,则系统可能会无法正常工作。在这种情况下,需要手动修复。请联络红帽咨询服务以获得帮助。

第 7 章 转换故障排除

本章列出了故障排除资源和提示。

7.1. 故障排除资源

要帮助您排除在转换过程中可能会出现的问题,请查看输出到控制台和日志文件中的日志信息。

控制台输出

默认情况下,Convert2RHEL 工具只会将 info、warning、error 和 critical 日志级别的信息打印到控制台输出。要同时打印调试消息,请将 --debug 选项与 convert2rhel 命令一起使用。

日志

  • /var/log/convert2rhel/convert2rhel.log 文件列出了 debug、info、warning、error 和 critical 信息。
  • /var/log/convert2rhel/rpm_va.log 文件列出了未转换系统上用户已修改了的所有软件包文件。此输出由 rpm -Va 命令产生,该命令将自动运行,除非将 --no-rpm-va 选项与 convert2rhel 命令一起使用。

7.2. 修复依赖关系错误

在从不同的 Linux 发行版本转换到 RHEL 的过程中,可能会在没有依赖软件包的情况下安装某些软件包。

先决条件

  • 您已成功完成了到 RHEL 的转换过程。如需更多信息,请参阅 转换到 RHEL 系统

流程

  1. 找出与依赖关系相关的错误:

    # yum check dependencies

    如果该命令没有显示输出结果,则不需要进一步的操作。

  2. 要修复依赖关系错误,请重新安装受影响的软件包。在这个操作过程中,yum 工具会自动安装缺少的依赖软件包。如果系统中可用的软件仓库未提供所需的依赖软件包,请手动安装这些软件包。

7.3. 故障排除 Red Hat Insights 转换的问题

使用 Red Hat Insights 转换到 RHEL 时可能会出现以下问题。

7.3.1. 在预转换分析任务中缺失系统

在 Red Hat Insights 中运行 Pre-conversion analysis for converting to RHEL 任务时,在 RHEL Inventory 中正确显示的 CentOS Linux 7 系统可能没有出现在要对其运行预转换分析的可用系统列表中。当远程主机配置(RHC)断开连接时,会发生此问题。

流程

  1. 登录到 Red Hat Hybrid Cloud 控制台,进入到 Red Hat Insights > RHEL > Inventory > Systems
  2. 从表中选择受影响的系统。
  3. General Information 选项卡中,进入到 System Status 卡,并验证 RHC 状态:

    1. 如果 RHC 状态为 Connected,则 RHC 正确连接了。
    2. 如果 RHC 状态为 Not available,则 RHC 没有连接。继续下一步,以重新连接 RHC。
  4. 在终端中取消系统注册:

    # rhc disconnect
  5. 要帮助进行故障排除,请将 RHC systemd 服务(rhcd)日志记录设置为最高级别:

    # sed -ie 's%error%trace%' /etc/rhc/config.toml
  6. 在终端中使用 Red Hat Insights 注册您的系统,并重新启用 RHC:

    # insights-client --register
    # rhc connect -a <activation_key> -o <organization_ID>

    使用红帽客户门户网站中的激活码和机构 ID 替换 activation_keyorganization_ID

验证

  • 验证您可以在用于转换到 RHEL 任务的预转换分析中选择系统。

    如果系统仍然没有正确出现,请查看 rhcdinsights-client 工具中的错误消息:

    # journalctl -u rhcd
    # less /var/log/insights-client/insights-client.log

7.3.2. 预转换分析任务没有完成

在运行 Pre-conversion analysis for converting to RHEL 任务后,一个或多个系统可能无法生成带有错误消息 Task failed to complete for an unknown reason 的报告。稍后重试此任务。如果出现此问题,请完成以下步骤以进行故障排除。

流程

  1. 验证受影响的系统是否不可用,例如因为网络访问问题,或者因为系统已关机。
  2. 查看 RHC systemd 服务(rhcd)中是否有错误:

    1. 在终端中停止 rhcd :

      # systemctl stop rhcd
    2. rhcd 日志设置为最高级别:

      # sed -ie 's%error%trace%' /etc/rhc/config.toml
    3. 重启 rhcd:

      # systemctl start rhcd
    4. 查看 rhcd 发出的错误消息:

      # journalctl -u rhcd
  3. 查看 rhc-worker-script 日志文件中是否有错误:

    # less /var/log/rhc-worker-script/rhc-worker-script.log

7.4. 限制和已知问题

已知在转换过程中会出现以下问题和限制:

  • 使用 HTTP 代理服务器连接到互联网的系统无法使用 Red Hat CDN 或 Satellite 使用命令行界面通过 RHSM 进行转换。要临时解决这个问题,为 yum 启用 HTTP 代理,然后为 RHSM 配置 HTTP 代理:

    1. 将 yum 配置为使用 HTTP 代理,如 如何在 RHEL 上为 yum 命令启用代理设置? 中所述
    2. 安装 subscription-manager 软件包:

      1. 下载 Red Hat GPG 密钥:

        # curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txt
      2. 为包含 subscription-manager 软件包的 client-tools 存储库安装存储库文件:

        • 转换为 RHEL 7:

          # curl -o /etc/yum.repos.d/client-tools.repo https://ftp.redhat.com/redhat/client-tools/client-tools-for-rhel-7-server.repo
        • 要转换为 RHEL 8:

          # curl -o /etc/yum.repos.d/client-tools.repo https://cdn-public.redhat.com/content/public/repofiles/client-tools-for-rhel-8.repo
      3. 如果您要转换为 RHEL 8 的早期版本,如 RHEL 8.5,请更新 client-tools 存储库中的 $releasever 值:

        # sed -i 's%\$releasever%<release_version>%' /etc/yum.repos.d/client-tools.repo

        release_version 替换为正确的发行版本,如 8.58.8

      4. 安装以下 subscription-manager 软件包:

        # yum -y install subscription-manager subscription-manager-rhsm-certificates
    3. 为 RHSM 配置 HTTP 代理,如 如何为红帽订阅管理配置 HTTP 代理 中所述。
    4. 使用 RHSM 注册系统:

      # subscription-manager register --org <organization_id> --activationkey <activation_key>

      使用红帽客户门户网站中的机构 ID 和激活码替换 organization_idactivation_key

    5. /etc/convert2rhel.ini 文件中删除机构 ID 和激活码。
    6. 执行到 RHEL 的转换:

      # convert2rhel

      (RHELC-559)

  • 启用安全引导机制的 UEFI 系统不支持进行转换。要临时解决这个问题,请完成以下步骤:

    1. 在转换前禁用安全引导。
    2. 如果从 Oracle Linux 7 或 Alma Linux 8 转换,请重新安装 shim-x64 软件包:

      # yum reinstall -y shim-x64
    3. 转换完成后重新启用。

      (RHELC-138)

  • 如果您使用 Red Hat Insights 进行转换,则同时运行两个 RHC 守护进程(rhcd)进程会防止预转换分析按预期运行。要防止这个问题,一次只运行一个 rhcd 进程。(HMS-2629)
  • 在预转换分析和转换中发现的一些阻碍因素可以通过设置环境变量来覆盖。由于一个已知问题,当设置了此环境变量时,混合云控制台无法识别它。因此,当使用 Insights 进行转换时,必须修复可重写的的阻碍因素。(RHINENG-5943)

7.5. 获取支持

如果您在转换过程中遇到问题,请通知红帽以便解决这些问题。

重要

如果您在转换过程中遇到问题,请只引发严重级别 3 或严重级别 4 级的支持问题单。如需了解更多详细信息,请参阅 产品的服务支持条款

先决条件

  • 已安装 sos 软件包。您必须使用此软件包来生成为红帽支持团队创建支持问题单时所需的 sosreport

流程

  • 要获取支持,请执行以下步骤之一:

    • 创建一个支持问题单:

      • 选择 RHEL 7 或 RHEL 8 作为产品,并提供您系统的 sosreport
      • 在您的系统中生成 sosreport:

        # sosreport

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

    • 提交错误报告

      • 打开一个 bug ,选择 RHEL 7 或 RHEL 8 作为产品,然后选择 convert2rhel 作为组件。

有关生成 sosreport 的详情,请查看 sosreport 是什么,以及如何在 Red Hat Enterprise Linux 中创建它?

有关在客户门户网站上提交和管理支持问题单的更多信息,请参阅 如何在客户门户网站上提交和管理支持问题单?

有关红帽对 Linux 发行版转换的支持政策,请参阅 Convert2RHEL 支持策略

第 8 章 其它资源

法律通告

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.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.