CentOS 8,凛冬将至!
作者 | Joao Correia
译者 | 弯月
出品 | CSDN(ID:CSDNnews)
服务器环境非常复杂,如果你需要管理数千台 Linux 服务器,那肯定不希望操作系统供应商做一些完全出乎意料的决定。
当 CentOS 项目的母公司红帽突然宣布缩减对 CentOS 8 的支持时,所有人都震惊了,所有组织都开始争先恐后地寻找替代方案。
在本文中,我们来回顾一下 CentOS 8 的发展历程,以及用户从 CentOS 7 版升级到 CentOS 8 会带来何种影响。此外,我们还将探讨 CentOS 8 的替代方案。
最后,我们来看一看其他选择:延长支持。延长支持期限可以降低选择替代方案的压力,对于许多 CentOS 8 用户来说,这很可能是最务实的途径。
官方支持至关重要
目前 CentOS 8 用户遇到的难题是官方突然宣布取消支持。官方提供支持非常重要,因为官方支持可以让 Linux 用户确信他们会持续收到错误修复,以及 CVE 和常见的安全漏洞补丁。
明确的支持期限能够让用户制定计划:在支持期限结束之前升级;如果无法升级,则可以将工作负载迁移到其他方案。
虽然对于只运行了一个 CentOS 实例的人和小型团队来说,升级或迁移都是可以考虑的方案,但对于依赖CentOS 来支持大型服务器机群的大规模工作负载的人来说,最重要的还是官方支持。
个人用户或小团队可以快速转移分布,但计划变更数千台服务器则完全不同。
免费的 Linux 发行版:拥有坚如磐石的官方支持
CentOS 诞生于 2002 年。该项目是红帽企业版 Linux 的一个免费分支,随着时间的推移经历了各种变化。2014 年,红帽宣布正式赞助 CentOS 项目。于是,红帽将 CentOS 纳入了囊中,包括知识资产和管理委员会。
红帽在 CentOS 项目上投入了大量精力,CentOS 享有固定的发布时间计划,还有同样固定、可靠的支持期限。最近,CentOS 项目引入了长达 10 年的支持期限,对于企业用户来说这是一个好消息,他们可以按照适合自己的速度采用新版本,而且计划和测试的周期也可以拉长。
当然,CentOS 是完全免费的,可以为各家公司节省数千美元的许可费用。例如,当 CentOS7 于 2014 年发布时,用户的支持可以一直享受到 2024年 6 月。随着 CentOS 8 于 2019 年 9 月推出,企业用户拥有很长时间来测试和切换到 CentOS 8。
有些 CentOS 6 和 CentOS 7 的用户迅速采取行动,采用了 CentOS 8,但这些用户也没想到会遇到这样的意外。
CentOS8 有什么变化?
当 CentOS 8 发布时,CentOS 项目(红帽)承诺官方支持将长达十年(与 CentOS 7 相同)。原本 CentOS 8 的正式结束日期是 2029 年 5 月 31 日。
这是一款免费的企业级 Linux 操作系统,不仅支持期限非常长,而且功能上与 RHEL几乎完全相同。这意味着,企业用户基本上可以省去 RHEL 许可费用,同时仍然可以享受稳定的版本。
不幸的是,这个“福利”将于 2020 年 12 月突然结束,红帽出人意料地宣布将不再定期发布 CentOS 的稳定版本,而是专注于 CentOS Stream(一种滚动发布模型),这是一种新的交付方式,是否适用于企业应用还是未知数。
产品来来去去,方向的改变在某种程度上是可以理解的,但在红帽发布的公告中真正令人痛心的是,CentOS 8 的官方支持减少了近 8 年,也就是说到 2021 年 12 月 31 日就结束了,当初承诺的可是到 2029 年 5 月 31 日。
在支持结束之后,CentOS 项目将不再发布 CentOS 8 的更新。bug 不会被修复,更重要的是即使出现新的漏洞也不会收到补丁。换句话说,如果 Linux内核出现重大缺陷,也无法获得 CentOS 8 的补丁。
而 RHEL 8 将在 72 小时内提供补丁,一直持续到 2029 年,这与 CentOS 8 形成了强烈的对比。如今各个技术团队都十分头疼,他们必须迅速采取行动替换掉 CentOS 8。
为什么不能不管不问?
你可能认为,如今工作负载运行良好,而且无需更新 CentOS 8 实例来应用错误修复。或者,如果出现漏洞威胁,再自行打补丁或实施其他补救措施。
实际上,运行不受支持的操作系统的风险很大。你可以利用这款计算器(https://tuxcare.com/extended-lifecycle-support/calculator/),大致估算一下维护特定基础设施的成本。我们来快速回顾一下操作系统不再享受官方支持时面临的潜在问题。
● 破坏兼容性和可靠性。操作系统周围还有很多其他的软件,如果无法通过补丁来更新操作系统,那么其他组件的更新就会破坏与操作系统的兼容性,最终,系统会装满最新的软件和服务,但操作系统永远不会变化。
● 安全风险。这很重要:如果无法收到操作系统的定期更新,随着被公开的漏洞越来越多,你的工作负载将迅速积累越来越多的安全漏洞,而且永远得不到修复。一旦黑客入侵,就会引发灾难。
● 合规问题。PCI 等合规性要求在特定时间范围内修复系统的漏洞。当操作系统不再受支持时,你将面临违反合规性要求的风险,这可能会导致严厉的处罚、客户流失,甚至会完全失去开展业务的权利。
上述,我们简单地总结了今年过后运行 CentOS 8 所面临潜在问题。这是一个巨大的风险,因此各家公司都在竞相尝试替代方案。
CentOSStream 的问题
红帽并没有完全终止 CentOS 项目,CentOS 将继续以 CentOS Stream 的形式存在,而且其发布将领先于最新的 RHEL 版本。虽然红帽建议 CentOS Stream 是一个最直接的替代方案,但仅适用于个别情况。
许多 Linux 操作系统的使用都依赖于稳定的版本,尤其是在企业环境中,因为他们需要经过测试的可靠功能,而且还需要确保在下一个版本来临之前不会发生任何实质性的变化。事实上,红帽 CTO 也曾说过,CentOS Stream 并不能替代 CentOS 8。
迁移到 CentOS Stream 可能会影响版本的稳定性。他们不会提供与 RHEL 完全相同的版本,事实上,在这些功能进入 RHEL 之前,会先进入 CentOS Stream。因此,二进制兼容性可能会受到影响,而一些组织的工作负载无法轻松地适应这一点。
对于某些用户(例如某些科学团队)来说,CentOS Stream 完成可以成为替代方案。但是,大多数企业都有大规模的服务器,他们必须寻找其他操作系统或替代方案。鉴于 CentOS 8 将在短短几个月内结束生命,所以我们剩余的时间也不多了。
可以降级到 CentOS 7 吗?
有些用户有严重的拖延症,往往会拖到最后一分钟,然而这一次他们却有意外收获,CentOS 7 用户将继续享受红帽最初承诺的支持期限:CentOS 7 的支持将持续到 2024 年 6 月 30 日,也就是说在 CentOS 8 的支持结束两年半内,CentOS 7 依然可以获得支持。
那么,作为临时措施,我们可以降级到 CentOS 7 吗?不幸的是,我们没有降级到 CentOS 7 的正规渠道。当然,我们也有一些不受支持的解决方案,但最终很可能会导致系统陷入困境:包含两个版本的元素。肯定会遇到更进一步的问题。
二进制兼容的替代方案
我们将 CentOS 8 的替代方案分为了两大类:与 CentOS 8 二进制兼容的发行版(与 RHEL 8 也互相兼容),以及几乎二进制兼容的发行版(但需要付出一些努力才能使用)。我们采用这种方法是因为许多组织依赖于 CentOS 8 和 RHEL 之间完全的二进制兼容性。
选择与 CentOS 8 二进制兼容的发行版意味着,团队在切换版本时所付出的努力相对较少。事实上,只需运行一个脚本就可以从 CentOS 8 切换到替代版本,但是,技术团队仍然需要仔细检查转换过程中有没有出现任何问题。以下是一些可供选择的二进制兼容发行版:
红帽企业版 Linux(RHEL)
首先是RHEL,因为 RHEL 8 与CentOS 8 理论上是百分之百二进制兼容的。没错,RHEL 需要支付相关的许可费,但红帽在 CentOS 上的决策遭到了强烈反对,因此红帽决定扩展 RHEL 的免费版本。
红帽已扩展了免费的个人开发者订阅计划,如今最多可以支持使用了16个系统的工作负载。因此,如果你的工作负载使用的系统数少于 16 个,而且确定不需要更多的机器,那么 RHEL 是一个不错的选择。
大多数企业的 CentOS 部署都会超过 16 个活动实例,超出的这些工作负载将产生许可费用。
Oracle Linux
企业用户可能会自然地寻找另一种免费的企业替代方案,Oracle 也有一款与 RHEL 同等的产品,即 Oracle Linux。Oracle 声称 Oracle Linux 与 CentOS 完全兼容,任何使用了 Oracle 产品的人都会发现这个版本的 Linux 与 Oracle 其他产品的集成非常便利。
虽然 Oracle Linux 在企业领域有着良好的口碑,但 Oracle 旗下的其他产品很久以前就存在一些口碑问题(例如Java),因此选择Oracle多多少少会有些不安
AlmaLinux
AlmaLinux也是一款 RHEL 的二进制兼容分支,与 CentOS 百分百兼容。AlmaLinux 是一个根据美国税法501(c)(6)条款创立的非营利基金会,其董事会由来自软件行业和社区的人员组成,在过去几个月内,社区的采用率在稳步增长。AlmaLinux 支持 CentOS 支持的大多数硬件平台,各大云提供商的产品中也都采用了该操作系统,而且发布也遵守了承诺日期。
AlmaLinuxOS 和 Rocky Linux 之间存在一些竞争,这在意料之中,因为两者的受众相同。
AlmaLinux的第一个生产版本先于 Rocky Linux 发布,并且社区的反响很好。最近,微软的 Azure 也提供了 AlmaLinux 操作系统,而且还提供了一组与 RHEL UBI 同等水平的容器。
Rocky Linux
早期的 CentOS 项目与一个名为 CAOS Linux 的项目(由 Gregory Kurtzer 于 2002 年创立)合并。在被限制参与后,Kurtzer 从 CentOS 换到了其他项目,而红帽的声明与 CentOS 不断变化的未来让 Kurtzer 倍感不满,于是他迅速采取行动,创建了一个全新的二进制兼容的 RHEL 分支,并命名为 Rocky Linux。
RockyLinux 与 CentOS 完全兼容,因此切换很容易。尽管 Kurtzer 声明面向所有人开放,但目前该开源项目完全在 Kurtzer 的掌控之下。因此,有人担心 Rocky Linux 也会遭遇类似的变故,就像红帽对 CentOS 一样。
其他兼容产品
此外,CentOS 用户也可以看看 ClearOS 和 Springdale Linux,只不过二者的支持社区相对较小。但是,SpringdaleLinux 得到了正规机构的支持:高级研究学院与普林斯顿大学。虽然 ClearOS 与 HP Enterprise 有联系,但 ClearOS 8 至今仍未发布,这带来了一股不详的气息。
由于支持人员 Fermilab 曾表示,在 Scientific Linux 7 之后,不会再发行新版本,因此该产品不能作为 CentOS 8 的替代方案。对于某些用户来说,Amazon Linux 可能值得研究,毕竟其背后有这家科技巨头的支持,而且该操作系统是 RHEL 的克隆,但只能在 AWS 上运行。
非二进制兼容发行版
CentOS是免费版的 RHEL,你可能会认为除了这一巨大优势之外, RHEL 及其相关发行版并没有提供任何独特的功能。根据实际的工作负载,从 CentOS 迁移到 RHEL 会非常简单,但这只是相对于其他发行版本而言,实际上你仍然需要花很大功夫进行准备和测试。
最直接也是最成熟的替代方案之一是 Canonical 的 Ubuntu。当然,该操作系统是从 Debian 派生的,这意味着与 RHEL 有一定的差异,因此从 CentOS 转移到 Ubuntu 需要付出巨大的努力。
真正的工作量完全取决于代码对 CentOS 的依赖多少,以及依赖的软件来自某个供应商还是内部自行编写的代码。无论是哪种形式,Ubuntu 都是一个不错的选择。
此外,你还可以考虑其他值得信赖的发行版。例如,SUSE Linux 提供免费版的 OpenSUSE,口碑不错,而且历经 15 年。你也可以选择 Debian。但是,切换到新的 Linux 发行版可能会比较麻烦。你需要注意的方面包括:
● 由于支持工作负载的操作系统发生了重大变化,因此监控和管理系统也需要修改。
● 需要一些开发工作,包括调整日常脚本,修改应用程序的代码等。
● 处理不同的包管理机制:CentOS、RHEL 和相关发行版上的RPM,Debian 和 Ubuntu 上的 PKG。
● 迁移过程所需的时间,以及可能引入的风险,考虑到基于 RHEL 与基于 Debian 的发行版之间的差异,迁移过程可能需要重装系统。
换句话说,选择一个 RHEL 系列之外的发行版可能需要付出大量努力,不能草率地做决定。
延长支持以争取时间
在本文的开头,我们曾提及有一种方法可以减轻短时间内替换掉 CentOS 8 的压力,即通过第三方来延长 CentOS 8 的维护支持。
良好的支持服务可以提供基本的错误修复和漏洞的补丁。换句话说,如果出现影响 CentOS 8 的新漏洞,支持提供商会推出补丁来应对威胁。
这样可以确保安全,工作负载也不会随着时间的推移积攒越来越多漏洞。你可以继续运行 CentOS 8,为自己争取更多时间来选择替代方案。
TuxCare提供延长 CentOS 8 支持的服务,可以一直延续到 RHEL 8 的支持结束。事实上,TuxCare 推出的支持服务做了进一步提升,可在两个工作日内推出补丁。
立即行动起来,保护 CentOS 8 工作负载
CentOS8 的支持即将结束。如果你的组织仍在依赖 CentOS 8,那么你们所剩的时间已经不多了,请尽快选择替代方案。
我们在本文中介绍了若干发行版,有些可以直接替代 CentOS 8,但鉴于其中两个是全新的,因此你应该仔细做调查。
如果时间来不及了,则请考虑延长支持,为自己争取更多时间。但是,你必须做出选择,不管不问所面临的风险实在是太大了。
参考链接:
https://thehackernews.com/2021/10/winter-is-coming-for-centos-8.html
☞“我没有机器学习的学位,却拿到了 DeepMind 研究工程师的 Offer!”
☞Go 语言发布12周年;初代 Windows 诞生;Word 之父出生 | 历史上的今天