操作系统快速发展,openEuler如何先行一步

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2019 年 12 月 31 日,openEuler 正式开放源代码、镜像及开发测试环境。时至今日,短短一年半时间,openEuler 已经发布了三个版本,拥有 4700+ 社区开发者,社区版本下载量超 6 万。社区迅速发展壮大,版本如期稳定发布,InfoQ 独家专访了 openEuler 技术委员会委员熊伟,请他聊聊在陪伴 openEuler 成长背后的故事与感悟。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"采用 Linux 内核 5.10,openEuler 21.03 已先行一步"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"谈到社区,人们总是会关心它的产品发展如何。自开源以来,目前已经发布了三个版本,分别 20.03 LTS、20.09 和 21.03。其中 20.03 LTS 是长维护周期版本,也是被众多的 OSV 和合作伙伴所广泛使用的社区版本。20.09 和 21.03 则是两个创新版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/18\/182057be63c15f1aa25c6c84c93658d0.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"图源 openEuler 官网"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"openEuler 21.03 是最新发布的版本,与前面两个版本相比,熊伟表示 21.03 版本有很多技术创新,例如采用全新的 Linux 5.10 内核、开发了内核热升级框架、提供内存分级扩展能力等诸多创新特性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先,21.03 版本最大的不同就是内核发生了重大变化,它采用了 Linux 5.10 内核。5.10 内核对新的体系架构如 RISCV 支持更好,使得 x86 、ARM64 和 RISCV 不同体系的架构终于可以在一个版本下得到了完善的支持。除此之外,明年 openEuler 将发布的第二个 LTS 版本 22.03 也将采用 5.10 内核,LTS 版本对于质量的要求很高,因此内核的选型一定要提前,稳定性、可靠性都要经过长时间验证,因此 openEuler 21.03 也承担着为 22.03“趟路”的重要职责。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其次,21.03 版本实现了工业界一直期望的新特性——内核热升级。在关键领域、关键业务中,有些核心应用要求不停服,而操作系统可能会有安全漏洞,需要频繁更新,如何在不停机的情况下切换内核就成为了大家梦寐以求实现的技术。内核热升级就是一种 OS 漏洞修复及升级解决方案,实现内核快速热升级,业务不感知。openEuler 社区首次开发了内核热升级的原型系统,对于 mysql, nginx 等应用可以做到业务无感知的内核热升级,当然,目前内核热升级还属于原型系统,我们希望在社区里大家一起完善它,尽早实现商用可交付。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"再次,openEuler 21.03 实现了一个新的软件框架——内存分级扩展系统 etmem,该系统可以用来统一管理多种层次的存储介质,实现系统存储容量平滑扩展。该功能可以通过内核态的内存页面忙闲统计机制,精确识别进程内存页面访问冷热分布,支持 SCM、XL Flash、NVMe SSD 等多种介质作为扩展内存,然后根据介质自身访问速度指定内存冷热分层方案,以达到扩展内存并减少性能损失的目的。据悉,在 MySQL 数据库上使用这个功能,性能提升可以达到 40%-50%。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最后,openEuler 社区的合作伙伴也为 21.03 版本贡献了很多新的功能,例如 OpenStack Victoria 集成和 HA 高可用集群方案。OpenStack 支持是中国联通与其它合作公司一起开发的,拥有这个特性之后,openEuler 就可以提供完整的 IaaS 层支持;HA 高可用集群方案则是麒麟软件贡献的,支持故障秒级切换,为用户提供业务连续性保障、数据持续保护、灾难恢复的高可用环境。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除此之外,参与 openEuler 社区其它伙伴也都为 21.03 做了贡献,在这里就不一一列举了,具体的特性大家可以参看 21.03 的技术白皮书,或者直接与相关的 SIG 组进行了解和讨论。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"接轨上游社区,连通下游厂商,openEuler 遍地生花"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"相信前段时间大家都关注到了一个消息,Linux 内核 5.10 版本的维护周期将从 2 年延长到 6 年,而 openEuler 即将发布的下一个 LTS 版本刚好采用的 Linux 内核 5.10。对此,熊伟表示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Linux 内核维护周期对于操作系统版本的生命周期来说是非常重要的,如果内核维护周期短于操作系统版本的维护周期,那么就意味着社区需要投入更大的力量来进行维护,反之则可以借助社区和全球的伙伴们一起进行维护,使之成为全球厂商共同的选择,降低所有厂商的维护成本。因此,在决定 22.03 版本采用 Linux 内核 5.10 之后,openEuler 就在积极与上游社区沟通,并最终获得了社区的认同。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"支持多处理架构是 openEuler 的重要特性之一,也是 openEuler 支持多样化算力的具体体现。对于具体的芯片支持,目前社区有两种适配方式,一种是芯片厂商将自己芯片的特性、驱动代码等发送给社区,由社区审核后合并到 openEuler 版本中,从而支持该芯片;另一种方式是芯片厂商自行适配 openEuler,最后将相关适配结果反馈给社区,由社区再进行发布。不论哪种方式,openEuler 都欢迎。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作为一款开源操作系统,任何伙伴都可以免费获取 openEuler 社区版本并商业化。据了解,目前共有 8 家企业基于 openEuler 发布了商业发行版操作系统,其中包括麒麟、普华、深度等国内 OS 领军公司。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除了在国内的发展,2020 年,熊伟在接受采访时曾明确表示过 openEuler 有国际化发展计划。现在时间来到 2021 年,openEuler 的国际化发展是否已经有进展了呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"据熊伟介绍,openEuler 在海外已经有了落地案例。有一家俄罗斯公司基于 openEuler 构建了俄罗斯本土的商业化版本。除此之外,openEuler 在全球各地都部署了镜像,方便全球用户下载使用,在我们的后台统计中也确实发现,全球各大洲都有不少的下载量。另外基于 openEuler 的树莓派的 OS 镜像也已经进入到树莓派官方 repo 了。未来,我们会更进一步的推动 openEuler 的国际化,更加积极的融入到全球的软件体系中。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"要技术,更要社区:开放治理带来飞速发展"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"国产操作系统总免不了“套皮”质疑,国内开源项目也总免不了“KPI 项目”质疑… 这样的质疑,openEuler 自然也经历过,但在经历了三次发版之后,大家已经从一开始的单纯质疑转变为关注 openEuler 社区又做了哪些事情?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在熊伟看来,大家一开始对 openEuler 及社区有疑问是可以理解的,长期以来,“换皮”开发是众多厂商的选择,但这样的模式既无法建立独立演进的体系,也无法形成完善的生态系统。而 openEuler 选择了“正确但是困难”的道路,那就是彻底的自底向上的构建一个独立的体系——构建一个“原生开源操作系统”。至于社区发展,熊伟也表示,在开放治理的模式下,组成社区的三个关键因素——组织、人和技术,在过去一年多发生了很大的变化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在组织方面, openEuler 社区在过去的一年内,治理遵循扁平化原则,建立起来了包括理事会、技术委员会、安全委员会、市场委员会等基本的组织架构,构建了一个完善的社区治理机制,同时在运作过程中逐步形成了配套的运作流程,这在中国开源发展史上具有里程碑的意义。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在具体的运作过程中,以社区技术委员会为例,社区遵循开放治理的原则,目前技术委员会成员有 50% 是来自华为以外的企业代表。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在社区工程组织层面,截至 6 月 6 日,openEuler 的 SIG 组已达 84 个,这些 SIG 组既有包括向公共技术的通用技术小组,也包括面向具体业务场景的解决方案小组。而且最新的 SIG 组申请都是结合业务场景,垂直的解决方案 SIG,这是一个重要的标志,标志着 openEuler 已经开始从补齐功能向着业务纵深发展,这是一个可喜的变化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在人员方面,操作系统领域一直面临着这样一种情况,虽然操作系统领域很“热”,大家都在谈论,但实际上真正的从业人员很少。openEuler 社区发展的一年半时间,为这个行业沉淀了一批优秀的工程师,一批优秀的运营人才,一批开源基础设施人才。大家逐步熟悉了社区的玩法,习惯了社区化的开发方式,这不但保证了 openEuler 社区长期健康发展,也为整个行业储备了人才队伍。熊伟相信这些人中一定会成长出未来开源行业,操作系统行业的领军人物。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在技术方面,发布的 LTS 版本已经在各行各业广泛获得了使用,商用部署规模持续扩大,而且经过严酷的商业环境的考验,证明整个 OS 的质量也是过硬的。其次,openEuler 社区的目标并不只是做一个 OS 的发行版本,更期待社区成为创新的孵化器,目前社区已经孵化很多自主研发、从零构建的新项目,比如 iSula、stratoVirt、secGear、etmem 等等项目,这个势头是很好的,期待在不远的将来,社区里能孵化出世界级的高水平软件。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"自开源以来,经过 500 多天社区建设,openEuler 社区已经形成了比较完善的管理流程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以技术委员会为例,openEuler 社区每两周就会召开一次技术委员会例会。诸如 SIG 组的建立申请,SIG 组运作审视,技术裁决,新技术分享等,都可以申报议题,在例会上进行讨论或者决策。决策表决的策略也很简单,就是简单多数原则。如果是新建立的 SIG 组,技术委员会会指定一个委员作为 Mentor 加入到 SIG 组,帮助大家尽快融入社区。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在很多人的印象中,openEuler 的所有技术都是由技术委员会决定的。而熊伟则表示这其实是一个误解。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"技术委员会并不是大家想象中“技术上帝”,站在上帝视角来指导技术的方向。技术委员会的任务更多是制定技术策略,技术原则,规范开发流程,监督开发过程,审视 SIG 组运作,协调技术冲突等工作,但是对于具体技术的选择权力是充分放权给 SIG 组,例如 22.03 LTS 版本决定采用 Linux 内核 5.10 就是由内核 SIG 小组自行讨论决定并报技术委员会审批通过的。openEuler 社区坚信,专业的事情一定要交给专业的团队,只有充分相信团队的专业性才能保证产品正确的发展方向,并带来越来越多的创新。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"开放治理带来飞速发展,经历了之前的道路摸索,openEuler 社区已经走上了快车道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"openEuler 开源社区的整个组织架构已经初步形成了,社区会坚持扁平化治理原则,技术权力下放,由技术专家和骨干引领技术走向。在人才培养方面,要让更多社区开发者熟悉整个社区的运作模式。目前 openEuler 社区孵化出了很多很好的新项目,相信假以时日,这些新项目“小树苗”会成长为“参天大树”。在千行百业数字化转型的今天,作为底层基石的操作系统也迎来了快速发展的春天,而在这其中,开源操作系统 openEuler 已经先行一步。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最后祝 openEuler 能够在未来取得更大的成就,我们也期待着下一次对熊伟的采访,期待他为我们带来更多新鲜的进展。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章