CentOS Stream 还适合用于生产环境吗

2020 年 12 月 8 日,CentOS 社区发布公告称 CentOS 8 将于 2021 年年底结束支持,取而代之的是同样来自 CentOS 社区的滚动发行版本——CentOS Stream。该版本未来将作为 RHEL 发行版的上游(开发)分支,作为 CentOS 特别兴趣小组(SIG)的核心,继续推动 Linux 的创新工作。本文整理了有关 CentOS Stream 发行版的常见问题,以使专业人员了解包括该版本是否适用于生产环境等诸多问题。

CentOS Stream 是什么

专业人员曾经使用的 CentOS 6/7/8 版本被称为 CentOS Linux 发行版。这些版本通常是由最新的 Red Hat 企业版 Linux(RHEL)所构建得到的。在 2020 年 12 月发布的公告中,Red Hat 将在 CentOS 上采用一种被称为滚动发行(Rolling Release)的发布模型,而相应的 CentOS 版本则将被称为 CentOS Stream 版本。

滚动发行:不像传统的操作系统有着明确划分(比如 CentOS 6/7)这样的版本号,而是在升级过程中即可提供来自上游的最新软件包版本以及内核功能等。这篇文章详细介绍了这种发行机制。

目前的 CentOS 版本的支持情况如何

  • 对于 CentOS Linux 6 发行版的更新将于 2020 年 12 月 30 日结束
  • 对于 CentOS Linux 7 发行版的更新将遵循计划维护期
  • 对于 CentOS Linux 8 发行版的支持将同样于 2021 年底结束;届时用户可以直接切换至 CentOS Stream 8
  • 有关 CentOS Stream 8 发行版的更新将继续遵循 RHEL 的支持政策

CentOS Linux 8 将成为最后一个 CentOS Linux 版本,而不存在由 RHEL 9 构建的 CentOS Linux 9。届时 CentOS Stream 9 将填充这个角色。

CentOS Linux/Stream 与 Fedora/RHEL 的关系

传统意义上来讲,Red Hat 公司主要维护三个发行版本的产品线:Red Hat 企业版本 Linux(RHEL)、CentOS Linux 与 Fedora。

Fedora(带来新的 Linux 功能与特性)-> RHEL(面向企业的收费稳定版本)-> CentOS Linux(去除商标等信息构建的免费社区版本)

如上所示,Fedora 是各种 Linux 内核新功能的试验田。一旦有新特性发布后,Red Hat 会首先在 Fedora 上将其发布,以便勇于实验的用户抢先体验。而这些特性被评估为稳定版本以后则会添加到 RHEL 发行版中,该版本对于添加新特性以及软件包更新方面更加保守。而 CentOS Linux 则是去除商标等信息之后的 RHEL “免费”版本。

这样的传统关系使得 CentOS Linux 在 Red Hat 内部的定位模糊。而本次公告新发布的 CentOS Stream 分支则使发布关系变成了以下这样:

Fedora(新的 Linux 功能与特性)-> CentOS Stream(稍稳定的滚动发行版本,源代码开放,支持社区贡献)-> RHEL(带有 Red Hat 商标的商业化版本)

在新的发布模型中,CentOS Stream 作为 Fedora 与 RHEL 的中间版本,采用滚动发布模型,允许将社区对于 CentOS 的贡献应用于更下游的 RHEL 企业版本中。而 RHEL 企业版本将保持稳定的大版本更新节奏。

CentOS Stream 还适合生产环境吗

根据 Red Hat 官方的文章指引,由于 CentOS Stream 与 CentOS Linux 发行模型之间存在的差异,不建议将 CentOS Stream 再用于生产环境中。如果你的重要业务目前在使用 CentOS 8,在 2021 年底前,你可以考虑迁移至 RHEL:针对 16 台系统及其以下的 RHEL 的授权是免费的。Red Hat 官方推荐联系他们以获取继续用于企业版支持的选项。除此以外,你还可以考虑将运行环境迁移至其他 Linux 发行版本。

大多数企业需要内核以及软件包版本稳定的运行环境,因此发行模式变为滚动发行之后,CentOS 即不再适合作为企业版 Linux 操作系统使用。你应该考虑使用 RHEL 或其他发行版。

以后 CentOS Stream 将如何处理安全更新

根据 Red Hat 的说法,这些安全更新将在当前版本的 RHEL 系统中得到解决后再应用于 CentOS Stream 系统中。虽然没有时间节点上的保证,但 Red Hat 的工程师将针对这些版本构建和测试其他软件包。如果他们不参与更新,则他们构建的其他软件可能会受到影响,因此需要重做。 因此,他们有既得利益来获取这些更新,以免影响他们的其他构建,并且获取安全更新应该没有问题。

提示:我们不推荐将 CentOS Stream 用于企业生产环境

除了 CentOS Stream 之外还有什么选择

2021年1月20日,Red Hat 宣布放宽 RHEL 系统的独立开发者订阅条款,允许至多在 16 个系统中免费使用 RHEL。也就是说,对于独立开发者和小型企业来说,使用 RHEL 是免费或者成本极低的。

我们还可以考虑来自 Canonical 的 Ubuntu Linux 发行版。该发行版每两年时间发布一次长期支持(Long-term Support,LTS)版本,旨在为希望提供稳定环境的用户提供支持。每个 LTS 版本均提供最长达五年的免费拓展支持,以及(收费的)另外长达五年的支持。这是除了 CentOS Linux 以外,专业人员喜欢的另外的 Linux 发行版本。

展示了 Ubuntu Linux 的发行版本模型,其中不带 LTS 的版本支持时间较短,而长期支持版本(LTS 版本)则有时间跨度很长的支持时间
Ubuntu 目前使用的版本发行模型,对于长期支持版本(LTS)提供至少五年的免费支持

参考链接