我所见的欧拉操作系统 22.03 LTS
这个容纳了诸多创新特性的长期支持版本，正在绽露出勃勃生机和更高追求的坚定信心。
欧拉
113.110.234.173
希望赶快成长起来！引领起来！
来自广东深圳的 Chrome 100.0|Windows 10 用户
2022-04-26T22:02:16.000
这个容纳了诸多创新特性的长期支持版本，正在绽露出勃勃生机和更高追求的坚定信心。
![](/data/attachment/album/202204/26/092807kkauaz5em5ua8e8c.jpg)


### 引言


2022 年 4 月 15 日，在欧拉开发者大会上，[欧拉](https://openeuler.org/) 的首个**数字基础设施全场景长周期版本** openEuler 22.03 LTS [正式发布](/article-14464-1.html)。这是继两年前的 [上一个 LTS 版本](/article-11787-1.html) 之后发布的第一个 LTS 版本，也是在将欧拉项目 [捐献](/article-13971-1.html) 给开放原子开源基金会之后的首个社区共建版本。这个版本融合了之前的三个创新版中经过验证的新特性、新方向，来自**社区的 773 名贡献者**、**上百家厂商和用户**参与了版本开发，仅仅是代码就**新增了 2300 万行**。


作为一直关注欧拉发展的业内人士，我对这个里程碑版本期许颇高。这个版本虽然距离上一个创新版发布才仅仅半年，但是却容纳了两年来三个创新版的各种尝试和新特性，因此，想全面的了解 openEuler 22.03 LTS，可能会发现其所承载的内容十分之多，不易抓住重点。在这里，我将我所了解到的信息，梳理之后整理给大家，以使大家可以在选型、评估和使用时有所参考。


### 版本路线图


对于不太熟悉欧拉的同学，我这里简单介绍一下欧拉之前的发展路线：


2019 年 12 月 31 日，openEuler 正式宣布开源，其脱胎自华为内部基于 Linux 的积累。四个月后，openEuler 发布了第一个版本 20.03 LTS，它也是一个长期支持版本。


其后，openEuler 按照半年一个版本的节奏发布了三个创新版。从创新版开始，华为之外的多个公司、团队、独立开发者参与到了 openEuler 的开发当中。在这几个创新版中，提出、融入了多个值得一提的新特性，如内核热升级、内存分级扩展、千核运算能力、业务混部 CPU 调度算法等核心能力，也从面向云计算逐步拓展到支持边缘计算、嵌入式的全场景领域。 


![](/data/attachment/album/202204/26/093902hqcdvjqs8kqcd77v.jpg)


*图片来源于《openEuler 22.03 LTS 技术白皮书》*


这一切，在刚刚发布的 openEuler 22.03 LTS 得到了融会贯通，将在之前的创新版中经过产品环境验证和打磨的优秀特性和创新，有机的组织起来，并形成了一个统一的基础设施基座。 


![](/data/attachment/album/202204/26/094003cm5waxwvxvwovpiw.jpg)


### 跨越式进步


根据官方数据，我们看到，这次的 22.03 LTS 和两年前的 20.03 LTS 相比，**整体来说内容丰富了许多**。


比如软件包数量：20.03 LTS 官方提供的软件包， 包括 ISO 镜像中的 2016 个、EPOL 仓库中的 762 个，总计 2778 个；而在 22.03 LTS 中，软件包数量达到了 ISO 4241 个、EPOL 1329 个、oepkgs 13323，总计 18893 个！达到了两年前的 6.8 倍。 


![](/data/attachment/album/202204/26/094049sn0nrsz1dgg4pn89.png)


*openEuler 软件包数量：20.03 vs 22.03*


不只是软件包的数量，欧拉操作系统所支持的硬件架构，也从两年前的 64 位的 ARM 和 x86 架构，又增加了两个：32 位的 ARM 架构，以及国产 CPU 申威架构。曾经连续多次取得超算 TOP500 世界排名第一的**中国超算神威·太湖之光**中安装的就是 40960 个申威 CPU。通过支持这些架构，欧拉操作系统就可以**运行在鲲鹏、英特尔、飞腾、申威、龙芯、兆芯等主流芯片**之上。


而能在两年间取得这样的大跨步进展，背后是欧拉社区的“疯狂输出”。根据数据，欧拉操作系统当前已有 69891 个提交，仅 22.03 LTS 这个版本就**新增了 2300 万行代码**。今年以来，欧拉操作系统已经发布了 127 个安全公告，几乎平均每天发布一个。在欧拉操作系统发布以来，其已经创建了 241 个创新项目代码仓，**平均每 3.5 天新增一个**。而这一切，都是 773 位开发者不断努力的结果。


根据欧拉发布的 [数据看板](https://datastat.openeuler.org/zh/overview)，到目前为止，**欧拉已经有社区用户 479990 位，其中贡献者 8515 位，单位会员 333 家；合并请求 5 万余，评审 30 万条；成立了近百个 SIG，创建了近 9 千个代码仓**。 


![](/data/attachment/album/202204/26/094350t3gp31shh9ijmilh.jpg)


*（来源于欧拉数据看板，数据时间：2022/04/20）*



> 
> **“终始惟一，时乃日新”**
> 
> 
> 


就此，我问了欧拉社区技术委员会主席胡欣蔚，“欧拉为何能做到这样大的跨越式进步？”他谦逊地表示，这只是“两年的厚积薄发”。当然，能取得这样的进展，也是在欧拉的开发和管理上，将“华为在开发和工程方面的经验”和开源运作的模式进行了结合，并得益于欧拉社区开发的一系列迁移工具。


根据公开披露的信息，欧拉操作系统在政府、运营商、金融、能源、交通、互联网等行业已达到规模应用，**累计部署超过了 130 万套**。2022 年，预计欧拉操作系统将在行业的应用新增超过 200 万套。


![](/data/attachment/album/202204/26/094509nu11yezxzwc9od31.jpg)


### 主要特性


#### 内核和底层改进


在 openEuler 22.03 LTS 中，采用了经过长期打磨和调校的 Linux 内核 5.10 长期支持版，在这个版本中，华为向上游 Linux 内核社区提交了大量贡献。可以说，这个内核版本是华为的一个“锚定”版本。在此版本上，openEuler 融入了之前三个创新版中经过商业验证的创新特性。 


![](/data/attachment/album/202204/26/094559mw1gzfi9z66ygyoz.jpg)


*图片来源于《openEuler 22.03 LTS 技术白皮书》*


欧拉操作系统使用的是 Linux 内核 5.10，但除了 Linux 内核自身的特性之外，欧拉操作系统在内核中还做了十余处创新增强，主要包括用来提升性能的**进程调度优化**、**大页内存性能优化**、**OOM 内存回收优化**、**XDP 网络性能优化**等。比如它集成了一套新的 QoS 调度机制，使得在线业务可以实现抢占式优先；而 OOM 分级使得离线业务的内存可以在欧拉操作系统中得到极速的回升，这二者结合起来，就提供了对 QoS 最强有力的支撑。又比如 UC 容错使得欧拉在面对硬件可靠性问题的时候更加有力，不再需要简单粗暴的重启，而是可以通过对于具体进程的控制，来实现错误的隔离。


除了这些**隐蔽但重要的内核改进**之外，如今在运维领域已经大量使用了非易失性内存（NVDIMM）存储介质，而传统的 Ext4 文件系统尚缺乏针对性的优化，因为 Ext4 本身是针对旋转式硬盘设计的文件系统。尤其在元数据管理方面，基于现有日志同步机制，其元数据管理开销大，且容易出现写放大问题，无法充分发挥 NVDIMM 优势。欧拉操作系统中集成的 Eulerfs 其创新的元数据软更新技术，减少了元数据同步开销，**有效提升文件系统的系统调用性能**。在单机应用、云原生分布式应用高性能数据存储场景，可以代替 Ext4、XFS 等文件系统。


在这个版本中，还吸收了鸿蒙中的**分布式软总线能力**，可以实现欧拉设备之间的自发现、自联通，以及欧拉和鸿蒙设备的自发现。


#### 云计算强化


针对云原生业务混合部署场景，欧拉操作系统中创新的 QAS 算法，是一种**适用于云原生场景，业务混合部署**的全新调度算法，可以确保在线任务对 CPU 的快速抢占，确定性的调度运行，同时压制离线任务干扰。这些改进适用于对交互类等时延敏感型业务（比如 MySQL、Redis、Nginx 等）和 CPU 消耗重且时延不敏感的业务（如 AI 离线训练）的混合部署。


根据欧拉发布会现场的演示，一台服务器部署了欧拉操作系统 22.03 LTS 中的改进技术，而另一台没有。这两台服务器上，都同时运行相同的在线和离线两类业务。通过运行结果可以看到，在一台服务器上的 QPS 是 1.18，而另一台上达到了 2.62，相差了**将近一倍**；而时延分别是 1.53 秒和0.60 秒，相差也**将近一倍**。


 



除此以外，欧拉操作系统还针对云计算，推出了容器化操作系统 KubeOS，实现云原生集群操作系统的统一容器化管理。它可以对操作系统进行容器化管理、对接 Kubernetes、原子化的生命周期管理；它也对操作系统进行了轻量化裁剪，减少不必要的冗余包，可实现系统的快速升级、替换等。而在底层，欧拉操作字体结合虚拟化运行时 StratoVirt、容器管理引擎 iSulad 构建了安全容器方案，较之传统的 Docker + Qemu 方案，其底噪和启动时间优化高达 40% 以上，为应用提供了一个轻量、安全的执行环境，隔离了容器和宿主机操作系统间、容器间的安全风险。


![](/data/attachment/album/202204/26/095528prhlbhm6hn6dnh55.jpg)


#### 四大场景 & 五个统一


作为一款发轫于服务器领域的操作系统，欧拉在这个版本也正式支持了更多相关场景。按欧拉的话来说，就是四大场景：**服务器、云计算、边缘计算和嵌入式**。服务器和云计算这并不足为奇，而扩展到边缘计算和嵌入式领域，一方面是暗合了如今的计算潮流，另一方面，我认为，也和华为在边缘计算、嵌入式领域的传统优势有关。此外，作为专注于边缘计算和嵌入式等领域的鸿蒙，在这个领域和欧拉会师，我认为倒不是一种冲突，而是一种融合。


在四大场景的背后，欧拉宣称，他们做到了五个统一：**统一内核、统一构建、统一 SDK、统一联接和统一开发工具**。在社区开发过程中，欧拉把所有场景的所有组件的开发都归到了一个 openEuler 代码仓上，通过这种方式实现了任何场景都基于同一套代码。并且，欧拉操作系统通过 EulerMaker 项目提供了一套**完整的构建和裁剪能力**，这使得基于同一套代码构建的二进制，在面向不同的场景发布的时候，可以自如地进行构建和裁剪，最终形成适用于不同场景的镜像。



> 
> **“功崇惟志，业广惟勤”**
> 
> 
> 


当然，能够在一套代码的基础上同时适应多种场景，这其中一定存在必要的取舍。胡欣蔚说，“欧拉会针对各个场景对模块/特性进行裁剪”，让各个组件、模块在不同场景能发挥各自的作用。“但是欧拉不接受只针对特定场景的定制开发，而且如果对整体架构形成冲击的话，是不会纳入到代码仓的，”他说，“欧拉会设计好这样的一套架构，使得不同组件在不同的架构下代码是归一的，通过裁剪工具，可以面向不同场景构建，并且差异化是可控的。”


在边缘计算方面，openEuler 22.03 LTS Edge 支持 KubeEdge + 边云协同框架，具备边云 应用统一管理和发放等基础能力。


而对于嵌入式领域，其镜像大小 < 5M，启动时间 < 5S，其基于 Linux 5.10 内核提供了软实时能力，中断响应时延达到看微秒级。它还支持树莓派作为嵌入式场景通用硬件。所集成的鸿蒙分布式软总线，可以实现欧拉嵌入式设备之间互联互通。


除此之外，欧拉操作系统中还有很多值得一书的改进特性，只是限于 篇幅，我们无法一一道来，大家有兴趣的话，可以参考《欧拉操作系统 22.03 LTS 的技术白皮书》。


![](/data/attachment/album/202204/26/095740a05k3dms3kvv6p44.jpg)


### 下一代 LTS 路线图


而关于欧拉接下来两年的发展，胡欣蔚透露说：“接下来会对所支持的架构提供更多支持，包括对 RISC-V 的支持、完善对 SW 架构的支持，以及对英特尔的 Ice Lake 的完整支持和对 Sapphire Rapids 的后继规划。此外，在业务混部方面，也有很多正在进行中的创新。”这些将出现在预计今年二季度发布的 SP1 版本上。


让我们以欧拉技术委员会主席胡欣蔚的一句座右铭结尾，共同拭目以待欧拉下一步的发展：



> 
> **“惟精惟一，允执厥中”**
> 
> 
> 


*（题图及未注明出处的插图来自于 Pixbaby，采用 CC0 协议）*

