随着 CentOS Project 宣布将分别于 2021 年 12 月 31 日和 2024 年 6 月 30 日停止对
CentOS Linux® 版本 8 和版本 7 更新与发布新版本,许多机构开始重新评估自身的 IT 环境,
并开始规划迁移事宜,2024 年已经到来,那么距离 终止日期 2024年6月30日已经不远了。


20 年来,CentOS Linux 一直是许多人心中服务器工作负载的首选系统。然而随着 CentOS Linux
7最后一个实时版本终止其生命周期,这也意味着相关存储库将会关闭,不再有新版本面世,也不会有新的更新发布。对于长期依赖 CentOS
的企业来说,这无疑是一个转折点,考虑后续替代方案已经成为很多企业面临的问题。

01 应对策略

如何应对 CentOS 的生命周期终结?

1. 评估现有环境在考虑迁移方案之前,首先要对现有的服务器环境进行彻底的评估和盘点。这包括了解每台服务器的用途、配置和兼容性等。

2.
考虑使用 CentOS Stream对于某些特定场景,比如硬件或软件供应商测试其产品的兼容性,CentOS Stream
是一个不错的选择。但对于生产环境,特别是关键业务应用,CentOS Stream 可能并不是最佳选择,因为它的支持周期较短,且缺乏就地升级机制。

3. 选择 RHEL:更多的不仅仅是支持转向 RHEL,意味着您将获得一个全面的业务合作伙伴。RHEL 不仅提供长达 10 年的支持周期,还有每 6 个月的可预测版本发布节奏、延长支持选项等。此外,RHEL 还提供了专业的技术分析和全天候的支持服务。

4. 从免费到收费虽然 CentOS 是一个免费的社区支持系统,但从长远来看,企业可能需要为其付出更多的时间和资源成本。而 RHEL 虽然是付费的,但提供了更全面的支持和保障。

5. 迁移路径. 使用 Convert2RHEL 工具进行就地转换这是一种简便快捷的转换方式,可以直接将 CentOS 系统转换为 RHEL 系统,而不会对现有应用造成太大的影响。

本文通过红帽官方提供的Convert2RHEL工具演示怎么将centos7转成redhat系统,红帽支持从 CentOS Linux 和 Oracle Linux 转换到 RHEL 7 和 8。

02 转换说明

centos停更时间表

图片

确定现有 CentOS和升级的RHEL目标版本

  1. convert2rhel 工具支持对 CentOS 7/8 进行转换(由于 CentOS 6 已经停更,因此已不再被支持,centos6需要先升级)。
  2. convert2rhel 只支持从一个主版本的 CentOS 转换到对应版本的 RHEL,不能跨主版本转换。例如从 CentOS 7.9 只能直接转换到 RHEL 7.9,而不能直接转换到 RHEL 8
  3. convert2rhel
    只支持直接将最后一个次要版本的 CentOS 7/8 转换到对等版本的 RHEL 7/8,目前分别是 CentOS 7.9 和 CentOS
    8.5。如果被转换的 CentOS 7/8
    低于以上版本,则需要先进行升级。例如你的系统为centos7.4系统,需要先升级到centos7.9,然后再转成redhat7.9.
  4. 由于每个特定次要版本的
    CentOS 7/8 所包含的内核版本也会定期更新(见 CentOS 内核版本 、RHEL 内核版本),因此即便是相同次要版本的 CentOS
    7.9 和 RHEL 7.9,他们使用的内核版本也会有微小差异。转换过程不能对内核版本进行降级,即无法对内核已经升级到
    3.10.0-1160.105.1.el7 的 CentOS 7.9 转换到内核为 3.10.0-1160.el7 的 RHEL
    7.9。因此在转换时需要控制好 CentOS 和RHEL使用的Yum 源,一般 ISO 中包含的是稍早版本的介质,而官方在线 Yum
    Repo一般都是最新版本介质。

转换限制

  1. 有以下情况的 CentOS 无法直接将其转换到 RHEL
  2. 不支持对使用 FIPS 模式运行的 CentOS 进行转换。
  3. 不支持对带有 RHEL内核模块之外的运行环境进行直接转换(例如专用应用程序、设备动程序的内核模块)。可以先将这些内核模块禁用,在转换后再启动。

操作系统转换是如何进行的?

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

备注:对于只存在于原始发行版本中、且在 RHEL 软件仓库中没有对应软件包的软件包,或在原始发现版本中存在的、不是来自原始 Linux 发行版本或 RHEL 的第三方软件包,都不会受到转换的影响。

支持的转换和不支持的转换的区别?

红帽允许从多个不同的基于 RHEL 的操作系统转换到 RHEL。但是,如果是红帽不支持的转换,则代表转换过程没有经过红帽测试,您需要自己承担转换可能会带来的风险。对于红帽支持的转换,代表红帽已对转换过程进行了全面的测试,下面是支持的转换列表

图片

03 实操阶段

CentOS 转换 RHEL 示例 转换示例环境 本示例模拟以下环境,使用 RHEL 7.9 ISO 文件作为转换使用的 yum repository 源,因此需要以下环境即可:

当前可运行的 CentOS 7.9 操作系统 RHEL 7.9 ISO 文件(rhel-server-7.9-x86_64-dvd.iso) 从CentOS 至 RHEL 转换过程 查看当前 CentOS版本

$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)