24ecd1dab920640f5e651cf3d84fbbb7.jpeg

大家好,我是飞哥!

相信大家都听说过CentOS即将停止维护的事。今天就这件事,我来聊聊我的看法。我认为这在国内的技术圈内是个利大于弊的好消息

关于这件事,可能大部分同学还都只是粗浅地吃过1-2次瓜而已,并没有搞懂其中的缘由。其背景是这样的。

在过去的很长一段时间里,国内绝大部分互联网公司的服务器上所安装的操作系统都是总部位于美国北卡州红帽公司的CentOS。据统计,CentOS在服务器领域的占有率高达90%。

其实CentOS只是红帽旗下的一个发行版而已。另外两个是Fedora和RHEL(RedHat Linux)。这三个发行版的主要区别是在于更新策略的不同。Fedora是一个先行试验版本,会快速迭代各种新的Linux功能和特性。RHEL是红帽公司的商用发型版本。待各种新特性稳定后才会更新到其中,而且还是付费的。我们所熟知的CentOS,是RHEL的开源免费版本,它不仅仅是集运稳定的RHEL编译,而且还有一些问题的修复。虽然不如RHEL新,但胜在稳定。

60efe75721648c59a54f1295f5c577e4.png

相当于在版本迭代的流水线中,这几个版本有个上下游关系。Fedora在上游、RHEL居中,CentOS最靠下。在之前红帽公司的战略可能想的是我把前期版本放在CentOS里,新的稳定的通过我的商业版本RHEL来提供。这样又能靠免费版打造社区,还能靠商业版赚钱。

5dca69124a3f1932a9e250c645236fb1.png

新的CentOS Stream被塞到了RHEL的前面。也就是说,CentOS Stream 和 RHEL现在完全反过来了。

现在CentOS Stream都是各种小版本更新,优先被当小白鼠试用各种各种新特性和新内核。待你稳定后人家再合并回人家的RHEL版本里去。之前 RHEL在上游的话,其实没什么太大问题。因为人家有红帽的付费服务作为支撑,即使有问题人家也能快速支持。但你一个免费的CentOS Stream如果部署到线上真出了啥问题,那是叫天不应,叫地不灵。这种情况下谁还敢用你的CentOS Stream。

红帽公司这时内心漏出鬼魅且阴险的一笑:“怎么样,老夫是不是技高一筹,这下你们都该乖乖来买我的付费RHEL服务了吧?”

要我说红帽你这家伙在中国市场混迹多年,没想到在对用户的理解上还是连及格的水平都没达到。我们这边的用户都是“要钱没有,要命一条”的主。随你咋搞,爷反正就是不付费。

另外我们也确实有大型企业是愿意付费的。但是真给你付费了你能保证给我们一天天的给我们好好服务么。保证哪天不再给我们来卡一下脖子么,谁敢信你。

而且其实国内在Linux的发行版上之前也并不是没有成果。早在2011年,腾讯在通过自主研发来代替外购的Linux发行版了,到2016年的时候就基本上全覆盖了腾讯的全部业务,支撑了全腾讯公司的业务平稳发展一直到今天。

对于腾讯来说,多年在Linux发行版上的积累可算是有舞台释放了。然后就是在各种公有云、私有云一顿操作,在2022年的时候达到了装机1000万台的规模。

腾讯代替CentOS对外的服务产品是腾讯云上提供的TencentOS Server。是基于社区LTS独立演进、全面优化、也同样稳定的替代。而且在用户态和CentOS同源兼容,不管你是CentOS7还是CentOS8。

b4f444b59ae47359c8302793dd6ec616.png

在实现上,只需要新建一个基于 TencentOS Server的集群,把原来跑在CentOS上的服务迁移过来就行了。

但是这里面还有一个棘手的问题存在,那就是如果服务不适合这样大规模的跨集群迁移咋办。比如很多银行的服务都是对稳定性要求特别特别高的,迁移中引入的哪怕一点点的风险都是不可接受的。事实上,腾讯也已经把这个难关给攻破了,那就是原地迁移

所谓原地迁移,就是直接在原来安装CentOS的服务器上安装新的TencentOS。在给服务器上的原rpm软件包执行全量的替换,记录文件变更后,然后执行内核替换,重启后立即生效。

这就好比大家看过的给F1赛车几秒钟之内就换掉四条轮胎类似。而腾讯的原地迁移是直接给服务器用最短的时间换了心脏 - 操作系统!

10710f6570f8805e487b4ae12673c727.png

CentOS停止维护激发了一系列国内OS的繁荣发展。所以,我一直都认为,CentOS停止维护只会给我们带来短期的阵痛。但长期来看,这是一件有利用我国操作系统产品发展的大好事!

声明,本文中所使用的部分资料和数据来源于腾讯技术开放日 TechoDay 活动。这个活动中有很多腾讯硬核技术在各个大型企业中的应用介绍,包括操作系统、云平台TCE、数据库、对象存储等。感兴趣的同学可以在下方的二维码中下载TechoDay资料。

6f8ec03b299ed90af26da951c4df3d43.jpeg

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐