使用 Convert2RHEL 工具从 Linux 发行版本转换到 RHEL
使用 Convert2RHEL 工具从 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 转换到 Red Hat Enterprise Linux 7、8、9 和 9 的说明
摘要
前言 复制链接链接已复制到粘贴板!
本文档提供了有关如何将操作系统从以下 Linux 发行版本转换为 Red Hat Enterprise Linux (RHEL) 7、RHEL 8 和 RHEL 9:
- Alma Linux
- CentOS Linux
- Oracle Linux
- Rocky Linux
转换是由 Convert2RHEL
工具来执行的。
红帽目前不支持从 Scientific Linux 转换到 RHEL。有关不支持的转换的详情,请参考 如何执行不受支持的从 RHEL 派生的 Linux 发行版本到 RHEL 的转换。
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对我们文档的反馈。让我们了解如何改进它。
通过 Jira 提交反馈(需要帐户)
- 登录到 Jira 网站。
- 单击顶部导航栏中的 Create。
- 在 Summary 字段中输入描述性标题。
- 在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 点对话框底部的 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 次要版本。
源操作系统 | 源版本 | 目标操作系统和版本 | 产品变体 | 可用的转换方法 |
---|---|---|---|---|
Alma Linux | 9.5 | RHEL 9.5 | N/A | 命令行,Satellite |
8.10 | RHEL 8.10 | N/A | 命令行,Satellite | |
8.8 | RHEL 8.8 EUS | N/A | 命令行,Satellite | |
CentOS Linux | 8.5 | RHEL 8.5 | N/A | 命令行,Satellite |
7.9 | RHEL 7.9 | 服务器 | 命令行、Satellite、Red Hat Insights | |
Oracle Linux | 9.5 | RHEL 9.5 | N/A | 命令行,Satellite |
8.10 | RHEL 8.10 | N/A | 命令行,Satellite | |
7.9 | RHEL 7.9 | 服务器 | 命令行,Satellite | |
Rocky Linux | 9.5 | RHEL 9.5 | N/A | 命令行,Satellite |
8.10 | RHEL 8.10 | N/A | 命令行,Satellite | |
8.8 | RHEL 8.8 EUS | N/A | 命令行,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 Linux 7、CentOS Stream 8 和 CentOS Stream 9 到 RHEL 的不受支持的转换。有关不支持的转换的详情,请参考 如何执行不受支持的从 RHEL 派生的 Linux 发行版本到 RHEL 的转换。
有关红帽对 Linux 发行版转换的支持政策,请参阅 Convert2RHEL 支持策略。
第 2 章 转换方法 复制链接链接已复制到粘贴板!
根据您的要求,您可以使用以下方法之一转换到 RHEL:
使用命令行转换 - 使用此方法转换少量服务器,或使用自定义自动化大规模转换大量服务器。
注意如果您有 Satellite 订阅,但计划使用命令行转换,您可以通过 Satellite 访问所需的 RHEL 软件包,而不是使用 Red Hat Content Delivery Network (CDN)。
有关如何使用命令行转换的更多信息,请参阅 使用命令行 规划 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 模式下的系统不支持进行转换。
内核 - 目前不支持对使用 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,以及从非 RHEL Linux 发行版上的 FreeIPA 迁移到 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。
流程
- 备份您的系统,并确认是否可在需要时恢复该系统。
- 检查已知问题和限制,验证您的系统是否支持进行转换。在适用的情况下应用临时解决方案。
- 如果从 CentOS Linux 8 转换,请从您的系统中删除任何 CentOS Stream 软件包。目前 CentOS Stream 不支持转换,如果系统上存在任何软件包,则转换可能会失败。
如果使用 Red Hat Satellite 或通过代理服务器进行带有防火墙的转换,请确保您可以访问以下连接:
- https://cdn.redhat.com
- https://cdn-public.redhat.com
- https://subscription.rhsm.redhat.com - 只适用于带有防火墙的系统
- https://*.akamaiedge.net - 仅带有防火墙的系统需要
- https://cert.console.redhat.com
如果从 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-*
# 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-*
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要CentOS Linux 7 和 CentOS Linux 8 结束其生命周期。如需更多信息,请参阅 CentOS Linux EOL。
安装
Convert2RHEL
:下载 Red Hat GPG 密钥:
curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://security.access.redhat.com/data/fd431d51.txt
# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://security.access.redhat.com/data/fd431d51.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
Convert2RHEL
软件仓库文件。要转换为 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
# curl -o /etc/yum.repos.d/convert2rhel.repo https://cdn-public.redhat.com/content/public/repofiles/convert2rhel-for-rhel-7-x86_64.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要转换为 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
# curl -o /etc/yum.repos.d/convert2rhel.repo https://cdn-public.redhat.com/content/public/repofiles/convert2rhel-for-rhel-8-x86_64.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要转换为 RHEL 9,请输入以下命令:
curl -o /etc/yum.repos.d/convert2rhel.repo https://cdn-public.redhat.com/content/public/repofiles/convert2rhel-for-rhel-9-x86_64.repo
# curl -o /etc/yum.repos.d/convert2rhel.repo https://cdn-public.redhat.com/content/public/repofiles/convert2rhel-for-rhel-9-x86_64.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您必须使用最新版本的
Convert2RHEL
存储库文件执行转换。如果您之前已安装了存储库文件的早期版本,请删除早期版本并安装当前版本。
安装
Convert2RHEL
工具:yum -y install convert2rhel
# yum -y install convert2rhel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
确保您可以使用以下方法之一访问 RHEL 软件包:
- 通过 Red Hat Subscription Manager(RHSM)的 Red Hat Content Delivery Network(CDN)。您必须有一个红帽帐户和一个适当的 RHEL 订阅才能访问 RHSM。请注意,根据表 1.1 ,操作系统将被转换成相应的 RHEL 次要版本。
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 转换,将 target_os 替换为
8.5
,为 Alma Linux、Oracle Linux 或 Rocky Linux 转换替换8.9
、8.8
或8.6
。- Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
- Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
了自定义存储库在
/etc/yum.repos.d/
目录中配置,并指向目标操作系统存储库的镜像。对于只能访问本地网络或可移植介质的系统,使用自定义存储库,因此无法通过 RHSM 访问 Red Hat CDN。确保软件仓库包含那个 RHEL 次版本的最新内容,以防止降级和潜在的转换失败。如需更多信息,请参阅红帽知识库解决方案 创建本地仓库并与无连接/离线系统 共享。注意RHEL 8 和 RHEL 9 内容通过两个默认软件仓库( BaseOS 和 AppStream)发布。如果您要通过自定义软件仓库访问 RHEL 软件包,必须配置这两个默认软件仓库才能成功转换。运行
Convert2RHEL
工具时,请确保使用--enablerepo
选项启用这两个软件库。有关这些软件仓库的更多信息,请参阅使用 RHEL 8 的注意事项 和 使用 RHEL 9 的注意事项。
- 如果您要通过 Red Hat Satellite 服务器访问 RHEL 软件包,请将您的系统注册到 Red Hat Satellite。如需更多信息,请参阅 注册主机并设置主机集成。
如果您使用 RHSM 进行转换,且还没有注册系统,请更新
/etc/convert2rhel.ini
文件以包含以下数据:[subscription_manager] org = <organization_ID> activation_key = <activation_key>
[subscription_manager] org = <organization_ID> activation_key = <activation_key>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用 Red Hat CDN,请使用红帽客户门户网站中的机构 ID 和激活码替换 organization_id 和 activation_key。
- 临时禁用防病毒软件,以防止转换失败。
-
如果您使用自定义存储库访问 RHEL 软件包,请禁用这些软件仓库。
Convert2RHEL
工具在转换过程中启用自定义存储库。 按照表 1.1 的规定,将原始操作系统更新到支持转换的次要版本,然后重新启动系统。
您必须使用来自支持转换的操作系统的次要版本的最新软件包进行转换,以便在转换失败时使用回滚功能。如需更多信息,请参阅 转换回滚。
4.2. 查看预转换分析报告 复制链接链接已复制到粘贴板!
要评估您的系统是否可以转换为 RHEL,请运行 RHEL 预转换分析。预转换分析会生成一个报告,它总结了潜在的问题和推荐的解决方案。这个报告还帮助您决定是否可能或建议执行到 RHEL 的转换。
始终检查整个预转换分析报告,即使报告没有发现阻碍转换的因素。预转换分析报告包含转换前推荐的要完成的操作,以确保转换后的 RHEL 系统正常工作。
预转换分析报告无法识别所有阻碍系统的问题。因此,即使您检查并修复了报告中的所有问题,在转换过程中还可能会出现问题。
先决条件
- 您已完成了 准备 RHEL 转换 中列出的步骤。
流程
在 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 系统上,运行预转换分析:
convert2rhel analyze
# convert2rhel analyze
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果您要转换到 RHEL 8.8,并有一个 扩展升级支持(EUS),请添加
--eus
选项。这个选项确保您的系统只接收传送给 EUS 存储库的重要安全更新。 -
如果您要转换为 RHEL 7 并具有 延长生命周期支持(ELS) 附加组件,请添加
--els
选项。如果您计划继续使用 RHEL 7 继续获得支持,则建议您购买 ELS 附加组件。
-
如果您要转换到 RHEL 8.8,并有一个 扩展升级支持(EUS),请添加
预转换分析运行一系列测试,以确定您的系统是否可以转换到 RHEL。分析完成后,在终端中查看预转换报告中每个完成的测试的状态和详情。不成功的测试包含问题的描述、问题可能的原因的诊断,以及(如果适用的话)推荐的补救方法。
每个测试结果都处于以下状态之一:
- Success - 测试成功,这个组件没有问题。
- Error - 测试遇到一个可能导致转换失败的问题,因为它很可能导致系统状态恶化。在转换前必须解决这个问题。
- Overridable - 测试遇到导致转换失败的问题,因为它很可能导致系统状态恶化。这个问题必须在转换前解决或手动覆盖。
- Warning - 测试在转换后遇到可能导致系统和应用程序有问题的问题。但是,这个问题并不会造成转换失败。
- Skip - 因为一个先决条件测试失败,所以不会运行此测试。可能会导致转换失败。
Info - 对系统或应用程序没有预期影响的信息。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 检查报告并解决所有报告的问题后,重复步骤 1-2 ,以重新运行分析,并确认没有突出的问题。
4.3. 转换为一个 RHEL 系统 复制链接链接已复制到粘贴板!
此流程描述了将您的系统从 Alma Linux、CentOS Linux、Oracle Linux 或 Rocky Linux 转换到 Red Hat Enterprise Linux (RHEL)所需的步骤。
流程
启动
Convert2RHEL
工具:convert2rhel
# convert2rhel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
要显示所有可用选项,请使用
--help
(-h
)选项。 -
如果您使用自定义软件仓库而不是 RHSM 转换,请添加 --no-rhsm 和 the-
enablerepo < RHEL_RepoID1>--enablerepo < RHEL_RepoID2>
选项。将 RHEL_RepoID 替换为您在/etc/yum.repos.d/
目录中配置的自定义软件仓库,如rhel-7-server-rpms
或rhel-8-baseos
和rhel-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 附加组件。
-
要显示所有可用选项,请使用
在
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.
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.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Convert2RHEL
在此之前所做的更改可以被自动恢复。确认您要继续转换过程。-
等待
Convert2RHEL
安装 RHEL 软件包,并成功完成。 - 建议:如果您使用自定义软件仓库进行转换,请注册并订阅您的 RHEL 系统。如需更多信息,请参阅红帽知识库解决方案 如何在红帽客户门户网站中离线注册和订阅系统?
此时,系统仍然会使用原始发行内核在 RAM 中载入。重启系统以引导新安装的 RHEL 内核。
reboot
# reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:删除任何剩余的 Convert2RHEL 软件包、文件和软件仓库:
删除 Convert2RHEL 软件包:
yum remove -y convert2rhel
# yum remove -y convert2rhel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 Convert2RHEL 文件和软件仓库:
rm -f /etc/convert2rhel.ini.rpmsave rm -f /etc/yum.repos.d/convert2rhel.repo
# rm -f /etc/convert2rhel.ini.rpmsave # rm -f /etc/yum.repos.d/convert2rhel.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
检查第三方软件包列表,并从保持不变的原始操作系统中删除不必要的软件包。这些通常是没有 RHEL 相应软件包的软件包。要获取这些软件包列表,请使用:
yum list extras --disablerepo="*" --enablerepo=<RHEL_RepoID>
# yum list extras --disablerepo="*" --enablerepo=<RHEL_RepoID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 RHEL_RepoID 替换为您的软件仓库。
- 如果您已将 Amazon Web Services (AWS)或 Microsoft Azure 中的带有 Red Hat Enterprise Linux for Third Linux Migration for ELS 产品的系统转换,请在系统中启用主机 metering。如需更多信息,请参阅 云环境中的延长生命周期支持为 Red Hat Enterprise Linux 启用 metering。
- 可选:如果您转换为 RHEL 7 或 RHEL 8,请对 RHEL 9 执行原位升级,以确保您的系统使用最新的增强、安全功能和程序错误修复进行更新。如需更多信息,请参阅 从 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。
流程
- 备份您的系统,并确认在需要时可以恢复它们。
- 检查已知问题和限制,验证您的系统是否支持进行转换。在适用的情况下应用临时解决方案。
- 确保标准 CentOS Linux 内核是引导内核。如果您的系统引导到的内核不是标准内核,请将默认内核改为标准内核,然后重新启动您的系统以应用更改。如需更多信息,请参阅使用 grubby 工具对 GRUB 菜单进行永久性更改。
如果您使用防火墙或通过代理服务器进行转换,请确保您可以访问以下连接:
- https://cdn.redhat.com
- https://cdn-public.redhat.com
- https://subscription.rhsm.redhat.com - 只适用于带有防火墙的系统
- https://*.akamaiedge.net - 仅带有防火墙的系统需要
- https://cert.console.redhat.com
安装红帽客户端工具:
下载 Red Hat GPG 密钥:
curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://security.access.redhat.com/data/fd431d51.txt
# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://security.access.redhat.com/data/fd431d51.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
client-tools
存储库文件:curl -o /etc/yum.repos.d/client-tools.repo https://cdn-public.redhat.com/content/public/repofiles/client-tools-for-rhel-7-server.repo
# curl -o /etc/yum.repos.d/client-tools.repo https://cdn-public.redhat.com/content/public/repofiles/client-tools-for-rhel-7-server.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
client tools
软件包:yum -y install subscription-manager subscription-manager-rhsm-certificates rhc rhc-worker-script insights-client
# yum -y install subscription-manager subscription-manager-rhsm-certificates rhc rhc-worker-script insights-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
启用远程主机配置,使用 Red Hat Subscription Manager (RHSM)注册您的系统,并将您的系统与 Red Hat Insights 连接:
rhc connect --activation-key <activation_key> --organization <organization_ID>
# rhc connect --activation-key <activation_key> --organization <organization_ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 红帽客户门户网站 中的机构 ID 和激活码替换 organization_id 和 activation_key。有关远程主机配置的更多信息,请参阅 远程主机配置(rhc) 知识库文章。
验证
- 登录到 Red Hat Hybrid Cloud 控制台,进入到 Red Hat Insights > RHEL > Inventory > Systems。
- 验证您的 CentOS Linux 系统是否按预期出现。
您可以与注册的 CentOS Linux 系统一起使用的 Red Hat Insights 服务是 RHEL 转换。所有其他 Insights 服务仅在转换到 RHEL 后才可用。
5.2. 使用 Insights 查看预转换分析报告 复制链接链接已复制到粘贴板!
要评估您的 CentOS Linux 系统是否可以转换到 RHEL,请运行 Pre-conversion analysis for converting to RHEL 任务。预转换分析会生成一个报告,它总结了潜在的问题和推荐的解决方案。这个报告还帮助您决定是否可能或建议执行到 RHEL 的转换。
先决条件
- 您已完成了 使用 Insights 准备 RHEL 转换 中列出的步骤。
流程
- 登录到 Red Hat Hybrid Cloud Console,进入 Red Hat Enterprise Linux > Insights for RHEL > Automation toolkit > Tasks。
- 找到 用于转换为 RHEL 任务的 Pre-conversion 分析,然后点 。
- 或者,登录到 Red Hat Hybrid Cloud Console,进入 Red Hat Enterprise Linux > Insights for RHEL > Inventory > Systems,选择一个您要转换的系统,并点击 Convert system to RHEL 标签。
- 在 Task name 字段中,输入任务的名称,然后选择您要分析以进行转换的 CentOS Linux 7 系统。点击 。
使用以下设置配置 pre-conversion 分析任务:
- 不要使用 ELS 订阅
- 如果您计划将 RHEL 系统升级到版本 8 或更高版本,请选择这个选项。
- 允许系统中 RHEL 软件仓库之外的内核模块
- 选择这个选项以允许预摘要分析忽略不属于 RHEL 软件仓库的内核模块。
- 在系统中允许过时的内核
- 选择这个选项以允许在系统从过时的内核引导时忽略预摘要分析。
- 允许系统中的过时的软件包
- 选择这个选项以允许 pre-conversion 分析忽略系统中的所有过时的软件包。
单击
。预转换分析可能最多需要一小时才能完成。预转换分析工具在 Activity 选项卡中生成一个新报告。选择报告来查看每个系统中发现的问题的总结。您还可以通过选择一个系统来进一步查看每个问题,并在适用时查看潜在的补救方法。
每个问题都会被分配一个严重等级:
- 禁止者
- 会导致转换失败,因为它可能会造成破坏的系统状态。您必须在转换前解决这个问题。
- 过度禁止器
- 会导致转换失败,因为它可能会造成破坏的系统状态。您必须在转换前解决或手动覆盖这个问题。有关您可以覆盖的禁止器的详情,请参阅此流程中有关配置 pre-conversion 分析的步骤。
- 跳过
- 无法因为预备测试失败而运行此测试。可能会导致转换失败。
- Warning
- 不会导致转换失败。转换后可能会出现系统和应用程序问题。
- info
- 对系统或应用程序没有预期影响的信息。
- 检查报告并解决所有报告的问题后,点击 Run task again ,来重新运行分析,并确认没有突出的问题。
5.3. 使用 Insights 转换到 RHEL 系统 复制链接链接已复制到粘贴板!
运行 Pre-conversion analysis for converting to RHEL 任务并解决所有报告的问题后,您可以将 CentOS Linux 7 系统转换为 RHEL 7。
先决条件
您已完成了 使用 Insights 准备 RHEL 转换 和 使用 Insights 检查预转换分析报告 中列出的步骤。
注意为了避免转换后出现严重的问题,请不要转换预转换分析中存在任何未解决的阻碍和警告的系统。
流程
- 登录到 Red Hat Hybrid Cloud 控制台,进入到 Red Hat Insights > RHEL > Automation toolkit > Tasks。
- 找到 Convert to RHEL from CentOS 7 Linux 任务,然后点 Run task。
选择您要转换为 RHEL 的 CentOS Linux 7 系统,然后点 Execute task。
注意转换过程可能最多需要一小时才能完成。
- 进入到 Activity 选项卡,然后选择新生成的转换报告。
查看每个系统和消息:
- 如果系统已成功转换且没有问题,请重启系统并继续下一步。
如果系统没有转换,请查看消息,以了解有关发现的问题以及如何解决它们的更多信息。另外,验证以下内容:
- 您已完成了 使用 Insights 准备 RHEL 转换 中的所有步骤。
- 系统包含转换所需的所有软件包。
- 系统正在运行。
- 您已解决了 使用 Insights 检查预转换分析报告 中发现的所有问题。
- 如果转换超时且没有完成,请验证系统是否正在运行,并在其它时间重试。如果问题仍然存在,请联系 支持。
重新引导已成功转换的系统后,从原始操作系统中删除保持不变的第三方软件包。这些通常是没有 RHEL 相应软件包的软件包。要获取这些软件包列表,请使用:
yum list extras --disablerepo="" --enablerepo=<RHEL_RepoID>*
# yum list extras --disablerepo="" --enablerepo=<RHEL_RepoID>*
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 RHEL_RepoID 替换为您的软件仓库。
- 可选:执行到 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.
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.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接下来会询问您是否希望继续这个过程。
注意如果将
-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 系统。
流程
找出与依赖关系相关的错误:
yum check dependencies
# yum check dependencies
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果该命令没有显示输出结果,则不需要进一步的操作。
-
要修复依赖关系错误,请重新安装受影响的软件包。在这个操作过程中,
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)断开连接时,会发生此问题。
流程
- 登录到 Red Hat Hybrid Cloud 控制台,进入到 Red Hat Insights > RHEL > Inventory > Systems。
- 从表中选择受影响的系统。
在 General Information 选项卡中,进入到 System Status 卡,并验证 RHC 状态:
- 如果 RHC 状态为 Connected,则 RHC 正确连接了。
- 如果 RHC 状态为 Not available,则 RHC 没有连接。继续下一步,以重新连接 RHC。
在终端中取消系统注册:
rhc disconnect
# rhc disconnect
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要帮助进行故障排除,请将
RHC systemd
服务(rhcd
)日志记录设置为最高级别:sed -ie 's%error%trace%' /etc/rhc/config.toml
# sed -ie 's%error%trace%' /etc/rhc/config.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在终端中使用 Red Hat Insights 注册您的系统,并重新启用 RHC:
insights-client --register rhc connect -a <activation_key> -o <organization_ID>
# insights-client --register # rhc connect -a <activation_key> -o <organization_ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用红帽客户门户网站中的激活码和机构 ID 替换 activation_key 和 organization_ID。
验证
验证您可以在用于转换到 RHEL 任务的预转换分析中选择系统。
如果系统仍然没有正确出现,请查看
rhcd
和insights-client
工具中的错误消息:journalctl -u rhcd less /var/log/insights-client/insights-client.log
# journalctl -u rhcd # less /var/log/insights-client/insights-client.log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.2. 预转换分析任务没有完成 复制链接链接已复制到粘贴板!
在运行 Pre-conversion analysis for converting to RHEL 任务后,一个或多个系统可能无法生成带有错误消息 Task failed to complete for an unknown reason 的报告。稍后重试此任务。如果出现此问题,请完成以下步骤以进行故障排除。
流程
- 验证受影响的系统是否不可用,例如因为网络访问问题,或者因为系统已关机。
查看
RHC systemd
服务(rhcd
)中是否有错误:在终端中停止 rhcd :
systemctl stop rhcd
# systemctl stop rhcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
rhcd
日志设置为最高级别:sed -ie 's%error%trace%' /etc/rhc/config.toml
# sed -ie 's%error%trace%' /etc/rhc/config.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
rhcd
:systemctl start rhcd
# systemctl start rhcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
rhcd
发出的错误消息:journalctl -u rhcd
# journalctl -u rhcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
查看
rhc-worker-script
日志文件中是否有错误:less /var/log/rhc-worker-script/rhc-worker-script.log
# less /var/log/rhc-worker-script/rhc-worker-script.log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4. 限制和已知问题 复制链接链接已复制到粘贴板!
已知在转换过程中会出现以下问题和限制:
使用 HTTP 代理服务器连接到互联网的系统无法使用命令行通过 RHSM 使用 Red Hat CDN 或 Satellite 进行转换。要临时解决这个问题,为 yum 启用 HTTP 代理,然后为 RHSM 配置 HTTP 代理:
- 将 yum 配置为使用 HTTP 代理。如需更多信息,请参阅红帽知识库解决方案 如何在 RHEL 上为 yum 命令启用代理设置?
安装
subscription-manager
软件包:下载 Red Hat GPG 密钥:
curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://security.access.redhat.com/data/fd431d51.txt
# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://security.access.redhat.com/data/fd431d51.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为包含
subscription-manager
软件包的client-tools
存储库安装存储库文件:转换为 RHEL 7:
curl -o /etc/yum.repos.d/client-tools.repo https://cdn-public.redhat.com/content/public/repofiles/client-tools-for-rhel-7-server.repo
# curl -o /etc/yum.repos.d/client-tools.repo https://cdn-public.redhat.com/content/public/repofiles/client-tools-for-rhel-7-server.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要转换为 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
# curl -o /etc/yum.repos.d/client-tools.repo https://cdn-public.redhat.com/content/public/repofiles/client-tools-for-rhel-8.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于转换到 RHEL 9:
curl -o /etc/yum.repos.d/client-tools.repo https://ftp.redhat.com/redhat/client-tools/client-tools-for-rhel-9.repo
# curl -o /etc/yum.repos.d/client-tools.repo https://ftp.redhat.com/redhat/client-tools/client-tools-for-rhel-9.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您要转换为 RHEL 8 的早期版本,如 RHEL 8.5,请更新 client-tools 存储库中的
$releasever
值:sed -i 's%\$releasever%<release_version>%' /etc/yum.repos.d/client-tools.repo
# sed -i 's%\$releasever%<release_version>%' /etc/yum.repos.d/client-tools.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 release_version 替换为正确的发行版本,如
8.5
或8.8
。安装以下 subscription-manager 软件包:
yum -y install subscription-manager subscription-manager-rhsm-certificates
# yum -y install subscription-manager subscription-manager-rhsm-certificates
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 为 RHSM 配置 HTTP 代理。如需更多信息,请参阅红帽知识库解决方案 如何为红帽订阅管理配置 HTTP 代理。
使用 RHSM 注册系统:
subscription-manager register --org <organization_id> --activationkey <activation_key>
# subscription-manager register --org <organization_id> --activationkey <activation_key>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用红帽客户门户网站中的机构 ID 和激活码替换 organization_id 和 activation_key。
-
从
/etc/convert2rhel.ini
文件中删除机构 ID 和激活码。 执行到 RHEL 的转换:
convert2rhel
# convert2rhel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
启用安全引导的 UEFI 系统不支持进行转换。要临时解决这个问题,请完成以下步骤:
- 在转换前禁用安全引导。如需更多信息,请参阅 红帽知识库解决方案 convert2rhel 在启用了安全引导 的 UEFI 系统中会失败。
- 执行到 RHEL 的转换。
如果从 Oracle Linux 7 或 Alma Linux 8 转换,请安装
shim-x64
软件包:yum install -y shim-x64
# yum install -y shim-x64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启用安全引导。
- 如果您使用 Red Hat Insights 进行转换,则同时运行两个 RHC 守护进程(rhcd)进程会防止预转换分析按预期运行。要防止这个问题,一次只运行一个 rhcd 进程。(HMS-2629)
7.5. 获取支持 复制链接链接已复制到粘贴板!
如果您在转换过程中遇到问题,请通知红帽以便解决这些问题。
如果您在转换过程中遇到问题,请只开一个严重程度 3 或严重程度 4 级的支持问题单。如需了解更多详细信息,请参阅 产品的服务支持条款。
先决条件
-
sos
软件包已安装。您必须使用此软件包来生成一个sosreport
,这是向红帽支持团队开支持问题单时所需的。
流程
要获得支持,请执行以下步骤之一:
创建一个支持问题单:
-
选择适当的 RHEL 版本作为产品,并提供您系统的
sosreport
。 在您的系统上生成一个
sosreport
:sosreport
# sosreport
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意:您可以将问题单 ID 留空。
-
选择适当的 RHEL 版本作为产品,并提供您系统的
-
创建一个 bug,选择适当的 RHEL 版本作为产品,然后选择
convert2rhel
作为组件。
-
创建一个 bug,选择适当的 RHEL 版本作为产品,然后选择
有关生成 sosreport
的详情,请参考红帽知识库解决方案 什么是 sosreport 以及如何在 Red Hat Enterprise Linux 中创建它?
有关在客户门户网站上提交和管理支持问题单的更多信息,请参阅 如何在客户门户网站上提交和管理支持问题单?。
有关红帽对 Linux 发行版转换的支持政策,请参阅 Convert2RHEL 支持策略。