一款兼容 CentOS 生态的双内核开源操作系统长什么样?

时间:2021-10-13来源:栏目:互联网

嘉宾|阿里巴巴云研究员,马涛,阿里巴巴集团核心团队创始人之一。作者|赵育莹。如果说过去一年操作系统领域有什么值得注意的事件,无非是红帽单方面宣布将在2021年结束对CentOS...

嘉宾|阿里巴巴云研究员,马涛,阿里巴巴集团核心团队创始人之一。

作者|赵育莹。

如果说过去一年操作系统领域有什么值得注意的事件,无非是红帽单方面宣布将在2021年结束对CentOS 8的支持,正式成立eBPF基金会。前者让用户尝试找到合适的系统进行切换,后者让Linux内核“可编程”,两者都对全局操作系统的发展产生了一定的影响。本文中,InfoQ有幸采访了DIVE全球基础软件创新大会2021联席主席、阿里巴巴云研究员、阿里巴巴集团核心团队创始人之一马涛,听他分享云原生时代操作系统值得关注的变化。

一个

CentOS 8即将停止服务。我能怎么做呢?

去年12月,红帽单方面宣布将在2021年底结束CentOS 8的生命周期。虽然这只是一家商业公司做出的商业决定,但对于所有操作系统运营商来说,这是一个巨大的空间。及时解决CentOS退出后用户可能面临的风险,已经成为操作系统厂商和R&D人员的努力方向。

当然,也不是那么容易做到的。要知道,CentOS近年来一直处于主导地位。根据2018年的相关调查,39%的受访者使用CentOS,35%的受访者使用Ubuntu。CentOS的份额在2019年增长到40%,而Ubuntu仍然以35%的份额排名第二。2020年市场发生了很大的变化,Ubuntu涨至40%,CentOS跌至28%。根据W3techs数据,目前10.5%的受访者选择CentOS,33.4%选择Ubuntu,只有0.9%选择RHEL。

虽然停止服务并不意味着系统会在一夜之间崩溃,但未来需要承担很大的安全风险,迁移已经成为很多开发者的选择。在实践中,迁移可能会遇到太多的问题,如内核、内部策略合规性或其他原因,这些都会在迁移过程中产生负面影响。想了想,做了十几年操作系统的马涛,决定做点什么。

2

龙猫操作系统:双核,完全兼容。

“我在阿里做操作系统已经10年了,整个时间周期还是挺长的。”

十年前,阿里开始在内部开发自己的操作系统,主要是为了解决阿里当时遇到的一些问题,对操作系统的内核和关键组件做了一些修改;从2017年开始,整个团队开始考虑如何将这些成熟的经验传递给更多的人,让更多的人能够使用。这时,阿里开始通过阿里巴巴云Linux输出相关经验;2020年,OpenAnolis龙蜥操作系统开源社区成立,包括阿里、同信在内的众多董事和成员联合发布了开源操作系统Anolis(OS),并推出了双核解决方案,允许各行业客户根据各自的应用场景选择性切换内核版本。

在Anolis OS完全发布之前,作者已经了解到它将是一个与CentOS生态完全兼容的操作系统。这种兼容性不仅是对用户的承诺,也体现了社区的技术实力。例如,兼容性规范和兼容性检测工具的实现需要社区的大量工作。

在实现层面,Anolis OS配备了两个不同版本的内核,即RHCK和ANCK。其中,RHCK与CentOS 8内核相同,可以同步迭代更新版本。该内核得到了CentOS用户的认可,其稳定性也得到了充分验证。

这个双核方案的意义也很明显。一般操作系统会有一个主内核,升级时可能会更换内核。双内核方案的优势在于它是对用户的双重承诺。对于关心旧功能,想早点尝试的用户来说,第一个内核可以完全接管之前的功能,而第二个内核增加了更多的创新,所以在早点尝试的时候不需要冒太高的风险。

OpenAnolis龙蜥群落:https://openanolis.cn。

为了让整个社区的运营更加有序,OpenAnolis龙蜥社区(以下统称龙蜥社区)还成立了理事会、技术委员会、运营委员会等组织。其中,理事会主要负责整个社区的决策和活动。技术委员会是社区的技术领导机构,而运行委员会主要负责社区的运行。此外,社区内还成立了很多SIG小组,可以通过社区官网查看。所有SIG群对全球开发者开放,可以通过邮箱自由申请。

本着开源开放的原则,过去越来越多的生态合作伙伴加入了龙蜥社区,包括操作系统、芯片和云计算厂商。他们共同在龙蜥社区积极打造原生开源操作系统发行版,兼容国际主流Linux厂商,支持多种硬件架构,不仅为CentOS等开发者提供了更多选择,还共同打造了面向未来的开源操作系统。

在这张面向未来的地图中,云原生对操作系统的影响不容忽视,整个Linux社区也在这个大趋势下不断进化,这也给了龙蜥社区很多启发。作为一个开源项目工作一段时间很容易,但活几十年就不容易了。这几十年不仅要被开发者认可,还要稳定支撑业务系统,还需要把握技术演进的趋势。云诞生当然是目前不可忽视的一个。

云时代国产操作系统有什么不同?

此前,马涛曾写过一篇文章,详细介绍了云原生时代操作系统的变化。简单来说,2000年左右,VMware和Xen虚拟化技术相继出现。

操作系统通过将物理资源虚拟化达到提高资源利用率和灵活调度的目的,最终催生了云计算的诞生。早期的 AWS、阿里云都是利用这一技术提供虚拟主机的服务。但这显然还不是云原生。这些云厂商大都是在线下硬件上实现一个虚拟化层(hypervisor),把原来直接操控硬件的操作系统架到 hypervisor 上运行,然后服务器物理资源层面的抽象和管理都由 hypervisor 重新实现。这些事情线下也绝对可以做,显然这不符合云原生的定义。虽说这是云的开端,但这不是云原生的。

2013 年,操作系统和云的第二次亲密接触源于容器的诞生和发展。与虚拟机的服务器资源虚拟化不同,容器是操作系统虚拟化,在技术栈上上升了一层――通过内核里实现的 cgroup 和 namespace 等技术为不同应用提供轻量、隔离的运行环境。2013 年,Docker 横空出世,使得应用容器的打包分发变得非常简单易用,随后 K8s 等容器编排技术出现,容器生态系统得到了快速普及和发展,容器迅速成为应用打包分发和开发测试的主流形态,逐渐成为云计算的主要运行单元。

这就是 CNCF 定义的云原生,但它只是“狭义”的,操作系统在这个“狭义”云原生中起到了很大的作用,但其实它并不是真正意义上的“因云而生”,也没有在云上体现任何革命性的技术革新。

容器在安全方面的不足在云上成为了一个大问题。一方面传统的操作系统对于容器之间的干扰问题没有很好的解决方案,另一方面容器之间还存在彼此攻击,共享一些关键资源等非常严重的安全问题。机会总是留给有准备的人,此时的操作系统终于需要因云而变、为云演进。阿里云基于操作系统实现了轻量级虚拟化和应用内核等技术,打造了一种全新的安全的容器,称之为安全沙箱容器。

沙箱容器在解决容器安全隔离问题的同时,仍然保留容器完整的技术生态和体验,可以跟普通容器无缝的混合使用。这是操作系统在容器场景上因云而生的一个重要演进,至此操作系统完成了“因云而生”的漂亮转型,成为一个云原生操作系统。

如果说在容器和 K8S 时代操作系统是“因云而演进”,那么到了 Serverless 时代,则要彻底创造出一个全新的云原生操作系统。通过底层系统全栈技术的协同融合,为云原生平台和应用提供高效和创新的云原生系统服务。这次变革和创新的力度对于传统操作系统而言是前所未有的。

就这样,我们看到了龙蜥操作系统 (Anolis OS)的出现,虽然全兼容 CentOS 让开发者对这款操作系统印象深刻,但真正面向未来整个云原生时代的演进才最为让人兴奋,这也是保证这款操作系统未来可持续演进的重要一步。

从另一个角度来看,对于整个国产操作系统的发展来说,目前比较严峻的问题是人才缺口较大。一方面人才的培养需要全社会的共同努力,另一方面也可以通过一些方式降低操作系统的研发门槛,让越来越多的开发者参与其中,云原生可以降低参与门槛,eBPF 则可以有效提高内核开发人员的效率,从而让有限的开发者有更多精力投入到更有价值的事情中。

为什么 eBPF 突然火了?

美东时间 2021 年 8 月 12 日,Google、Microsoft、Isovalent、Facebook 和 Netflix 联合宣布,由 Linux 基金会 主办,在其旗下成立一个新的非营利性组织 eBPF 基金会。致力于更好的推动开源项目 eBPF 的发展,支持 Linux 和其他开源技术的商业增长。

为什么 eBPF 突然之间受到如此多开发者的关注呢?最主要还是其让 Linux 内核“可编程”。过去,如果一个应用程序需要内核提供某些功能,通常的做法是先反馈给社区,社区内部进行讨论才有可能进入 Linux 内核,整个过程非常漫长,少则半年多则一年,进入内核也不代表用户可以立刻用到,还需要厂商将改动更新到自己的内核上。在 eBPF 的帮助下,整个时间大幅缩短至两到三个星期,极大加快了开发人员对内核的贡献速度。

这也在一定程度上反映出 Linux 社区的持续演进,即便 Linux 已经发展了 30 年,但技术仍在不断更新,无论是 eBPF 还是存储、网络层面,Linux 社区都在持续吸收新的想法。

然而,即便我们已经看到了诸如龙蜥社区这样的组织正在积极推进国产操作系统的发展,很多用户对这个领域的感知依旧停留在“大公司不做,做的公司都不大”的层面,这可能是因为很多人还没有开始真正了解社区在做的事情,也可能是因为操作系统领域的部分开发者还散落在世界各处未形成合力。

不可否认的是,操作系统正在急剧升温,而社区是开发者们与志同道合之人畅所欲言的最佳场合,共同决定一款诸如龙蜥操作系统 (Anolis OS)这样一个操作系统的发展方向,然后用它来承载每一个应用场景,想想就是一件蛮酷的事情。

为了给广大操作系统领域开发者一个见面的机会,InfoQ 决定于 11 月 26 日至 11 月 27 日在北京悠唐皇冠假日酒店举办 【DIVE 全球基础软件创新大会 2021】,马涛作为本届大会的联席主席也可能出现在会场与大家共同交流,本次大会也特别设置了 【操作系统研发实践】 专场,由清华大学计算机系副教授陈渝担任出品人,希望和大家一起通过半天的交流走进国产操作系统的研发背后,深入了解其研发难点及最新进展。

议题提交页面:https://dive.infoq.cn/2021/beijing/track/1208

大会报名页面:https://dive.infoq.cn/2021/beijing/apply

专家介绍:

马涛,阿里云研究员、阿里巴巴集团内核团队创始人之一、阿里云基础软件部操作系统负责人。先后在 ORACLE、阿里巴巴负责 Linux 以及操作系统内核相关的研发工作。十六年操作系统和内核相关研发经验,国内知名 Linux 内核研发人员,在文件系统、内存管理、通用块设备层等方面均有深厚的积累,多次受邀在国内外知名 Linux 操作系统以及内核相关会议上发表讲座。

1.本站部分来源于互联网用户自主整合上传,如有侵权,请联系我们删除;

2.文章内容并不代表本站的观点或立场,如有关于文章内容,版权或其它问题请联系删除;

3.本文地址:https://jiatu888.com/hlw/84452.html

最新文章

网站介绍

本站部分内容收集于互联网,如有侵犯贵司(个人)版权,请联系本站删除。

Copyright@2018-2021 www.jiatu888.com 嘉图网 All Rights Reserved 粤ICP备20051635号 网站地图 tag列表

嘉图网