(本文字数:3506,阅读时长大约:5分钟)

支持到2026年的!

去年年底,Linux内核社区发布最新长期支持版本时,该内核只支持到2022年12月,这让很多社区成员不解,因为发布于2016年底的4.9版本都支持到2023年1月。


未延长前的LTS支持计划

面对疑问,Linux内核维护者GregKroah-Hartman解释说,“我希望看到公司们将如何帮助我测试和维护该内核版本,以使支持它6年成为实际可能。”

前不久,我们看到了Linux内核社区发布的一则新消息,“在有足够多的公司加强帮助测试之后,现在将维护到2026年底。”

发生了什么?在偶然的一个机会,我得知了是谁为5.10LTS承诺了支持。这其中有一家中国公司,这是一家将开源置于战略级高度的公司,我想,你也许已经猜到了,是华为。

说实话,听到这个消息时,既有些意外也不意外。意外的是,我没想到中国开发者和IT企业已经在承担这样的重任了;不意外的是,毕竟华为已经是全球首屈一指的Linux内核贡献大厂了,就在中,华为以提交1434个补丁而位列内核代码贡献第一名,同时以代码修改行数41049行位列第二名。


贡献排行榜,华为名列榜首

可能作为普通用户并不关心使用的是不是Linux,更不关心使用的是什么版本和有多久的支持期,但作为一家专注于Linux与开源的技术社区,我深刻理解其中的含义,也更关心华为在做出这样的决定背后的考虑、付出和可持续性。于是,我和LinuxARM64ACPIMaintainer、openEulerMaintainer、华为工程师郭寒军约了一个访谈,现在将其中主要内容分享给诸位读者。

为LTS提供支持

杭州的梅雨季显得并不炎热,在一间很大的房间中,我和看起来比我年轻多了的受访者郭寒军同学进行了一段简短而精炼的对话。


郭寒军(左)接受老王(右)的专访

首先,我直奔主题问到了为什么华为会做出对5.10LTS支持的承诺?从事了Linux内核开发十余年的郭寒军很有技术人员本色,他坦诚说,“华为将Linux内核用于各种各样的产品。我们在Linux内核上积累了很多经验,包括开发、测试和维护的能力。我们觉得可以做这些支持。”在华为内部进行了简单的讨论,讨论了需要投入的机器的资源、人的资源等等。在资源协调到位之后,“我们就公开地在邮件列表上向Linux内核社区与Greg表态说,我们愿意从公司的角度协助做维护和测试工作。”

据我所知,也将是Debian11和安卓的下一个版本的内核,而在一众已经或即将采用的软件或产品中,openEuler发行版家族并不是最引人注目的一个,但是华为却是最主动站出来的一个。当然,在华为的表态带动之下,也有更多企业参与到了LTS的支持工作当中。

郭寒军还说,“其实我们提供支持的不仅仅是,而是会对目前较新的4个LTS内核都提供支持,并且会持续支持更多的LTS内核。”这又是一个令我意外的事情。作为一位从业互联网软件开发二十多年,眼看着Linux内核从一张低密度软盘即可承载的软件变成了世界上最大的软件项目,我深知要支持现在这么庞大的软件项目背后的代价有多大。其实,之所以Greg在一开始给只计划了2年的支持期,就是因为Linux内核社区已经积累了6个LTS支持版本,在支持力量上有些力不从心了。目前,Linux稳定内核的维护负责人只有两位GregKroah-Hartman和SashaLevin,可想而知,仅仅两人是很难照顾这么多的LTS内核维护工作的。

据我了解,华为对LinuxLTS内核的测试用例已经有8000多项,而且还支持包括x86_64、ARM64等多种架构,每个版本的测试就需要7-8个小时,这就需要投入大量的基础设施。

当然,我想华为在Linux内核方面的偌大投入,绝非是一时心血来潮,也不仅仅是技术极客们的热情奉献所致。这个支持决定不仅符合华为整体的开源战略,也给鲲鹏和openEuler等提供了一个坚实的底座。

内核能力对云原生社区的重要性

Linux内核是整个系统的底座。所有的上层的技术,包括其上的一些应用软件都是构建在内核上面的。内核的稳定性、性能以及内核的后续的技术创新方向,都会对整个Linux生态和社区产生重要影响。这就是为什么我们要花这么多精力去保证它的稳定性,也是为什么要主动去承担LinuxLTS支持的原因。

为了打造这样的一个底座,华为在内核方面进行了长期而卓有成效的投入,并把在内核方面的积累在openEuler社区开放。郭寒军认为openEuler在内核方面的能力主要体现在三个方面:兼容性、性能提升和创新。

从兼容性来说,这包括CPU架构和硬件的兼容性。除了支持ARM64架构的鲲鹏、飞腾处理器之外,openEuler还可以支持x86_64架构的兆芯、英特尔、AMD等CPU架构,以及RISC-V家族。

从性能提升方面来说,openEuler的多核并行等技术,针对调度机制、CPU资源管控等来提升整个业务的线性度以提升性能。这些技术已经通过openEuler的下游发行版提供给了更多行业用户,真正使社区和行业用户受惠于软件技术带来的全新使用体验。

从创新方面来说,openEuler内核的创新包括:

第一个创新是文件系统方面的。文件系统是华为的强项之一,从可扩展只读文件系统EROFS到基于非易失性内存的新型文件系统,随着存储技术的发展,也需要有新型的文件系统做支撑。

第二个创新是弹性软内存。这是指如何有效的利用不同速度和不同容量的存储系统,做一些分级控制,既能使用到大容量的存储,而又不降低性能。

第三个是目前正在重点打造的云原生内核。在云原生内核方面,业界已经有了一些探索,而华为可以结合其硬件能力做全栈的云原生支持,从进程的调度,到内存、网络以及存储,再到最底层的硬件,提供一个QoS控制来支持高优先级任务。

openEuler对Linux生态的意义

自2019年12月31日openEuler开源以来,已有70多家企业、机构和组织加入了openEuler社区,4700多位社区开发者,成立了83个SIG,并有8家合作伙伴推出基于openEuler的商业发行版,在金融、政府、运营商和电力等各行业得到了广泛商用。而在去年,openEuler社区理事会正式成立、技术委员会升级;今年,又新成立了用户委员会和品牌宣传委员会,社区治理逐步完善,走向“共建、共享、共治”。

对此,郭寒军认为,建立在openEuler下游的发行版天然会具备一些优势。华为一直坚持并倡导“上游优先”原则,积极地将其对Linux内核的改进推送到上游Linux内核主线,但是基于内核社区的运作机制,这个过程必然是较为漫长和复杂的。因此,openEuler开源社区拥有的强大的Linux内核能力,对openEuler及下游的发行版来说,可以更快的响应一些特定的功能需求和硬件支持。这对于国内的一些硬件厂商来说尤为重要,可以统合更多的力量而做到更广泛的支持。

结语

作为一家迅速崛起的Linux生态开源社区,openEuler所取得的进展令人侧目。一两年间,openEuler及其背后的华为、麒麟、统信、联通数科、中科院软件所等一批企业,已经在整个Linux生态、云原生领域取得了长足发展。而在企业战略级的支持下,openEuler社区所回哺给Linux社区的也足以令人赞叹,这让我对开源、对中国开源的未来有更多信心。

2021年6月10日,openEuler社区将发起一场面向社区开发者的技术盛会openEulerDeveloperDay2021,会上将对多样性计算、云原生全栈、全场景协同等技术发展方向进行持续探索和创新;技术委员会、用户委员会、品牌委员会等20个SIG组同期举办开放工作会议;技术委员会主席将深入解读,发布下个社区版的技术定位并分享社区创新思路;客户、伙伴、厂商、研究机构将在开源圆桌中共同探讨开源软件供应链的意义和风险,开源模式如何推动以及独立演进操作系统的技术发展。