01 Introduction to the openEuler operating system

01 Introduction to the openEuler operating system

openEuler is an open source operating system. The current openEuler kernel is derived from Linux, supports Kunpeng and various other processors, and can fully release the potential of computing chips. It is an efficient, stable, and secure open source operating system built by global open source contributors, suitable for databases, big data, and cloud Computing, artificial intelligence and other application scenarios. At the same time, openEuler is a global operating system open source community. Through community cooperation, it creates an innovative platform, builds a unified and open operating system that supports multi-processor architecture, and promotes the prosperity and development of software and hardware application ecology.

The predecessor of openEuler is the operating system EulerOS running on Huawei's general-purpose servers. EulerOS is an open-source operating system based on the Linux kernel (currently based on the Linux 5.10 version kernel), which supports various processor architectures such as X86 and ARM. software infrastructure.

1.1 Releases

openEuler releases include ISO release packages, virtual machine images, container images, embedded images, and repo sources.

Table 1 Release ISO list

name describe
openEuler-22.03-LTS-aarch64-dvd.iso Base installation ISO for AArch64 architecture, containing the core components to run a minimal system
openEuler-22.03-LTS-everything-aarch64-dvd.iso Full installation ISO of AArch64 architecture, including all components required to run a complete system
openEuler-22.03-LTS-everything-debug-aarch64-dvd.iso The debugging ISO of openEuler under the AArch64 architecture contains the symbol table information required for debugging
openEuler-22.03-LTS-x86_64-dvd.iso Base installation ISO for the x86_64 architecture, containing the core components to run a minimal system
openEuler-22.03-LTS-everything-x86_64-dvd.iso The full installation ISO of the x86_64 architecture contains all the components needed to run a complete system
openEuler-22.03-LTS-everything-debuginfo-x86_64-dvd.iso The debugging ISO of openEuler under the x86_64 architecture contains the symbol table information required for debugging
openEuler-22.03-LTS-source-dvd.iso openEuler source code ISO
openEuler-22.03-LTS-edge-aarch64-dvd.iso Edge ISO for the AArch64 architecture, containing the core components to run a minimal system
openEuler-22.03-LTS-edge-x86_64-dvd.iso Edge ISO for the x86_64 architecture, containing the core components to run a minimal system

Table 2 Virtual machine image

name describe
openEuler-22.03-LTS-aarch64.qcow2.xz OpenEuler virtual machine image under AArch64 architecture
openEuler-22.03-LTS-x86_64.qcow2.xz OpenEuler virtual machine image under x86_64 architecture

img Note:
The default password of the root user of the virtual machine image is: openEuler12#$, please modify it in time after the first login.

Table 3 Container image list

name describe
openEuler-docker.aarch64.tar.xz openEuler container image under AArch64 architecture
openEuler-docker.x86_64.tar.xz openEuler container image under x86_64 architecture

Table 4 Embedded image list

name describe
arm64/aarch64-std/zImage The kernel image that supports qemu under the aarch64 architecture
arm64/aarch64-std/*toolchain-22.03.sh The corresponding development and compilation chain under the aarch64 architecture
arm64/aarch64-std/*rootfs.cpio.gz The file system supporting qemu under the aarch64 architecture
arm32/arm-std/zImage The kernel image that supports qemu under the arm architecture
arm32/arm-std/*toolchain-22.03.sh The corresponding development and compilation chain under the arm architecture
arm32/arm-std/*rootfs.cpio.gz The file system supporting qemu under the arm architecture
source-list/manifest.xml The source code manifest used for the build

Table 5 repo source list

Table of contents describe
ISO Store the ISO image
OS Store the base package source
debuginfo Store debug package source
docker_img Store container images
virtual_machine_img Store virtual machine images
embedded_img Store embedded images
everything Store full package source
extras Store extension package sources
source Store source software source
update Store upgrade package source
EPOL Store the openEuler extension package

1.2 Minimum hardware requirements

The minimum hardware requirements for installing openEuler 22.03-LTS are shown in Table 6 .

表 6 最小硬件要求

部件名称 最小硬件要求
CPU 鲲鹏 920(架构为AArch64)x86-64(Skylake以上)
内存 不小于8GB
硬盘 不小于120GB

1.3 硬件兼容性

openEuler已验证支持的服务器和各部件典型配置请参见表7。openEuler后续将逐步增加对其他服务器的支持,也欢迎广大合作伙伴/开发者参与贡献和验证。openEuler当前支持的服务器可见兼容列表

表 7 支持的服务器及典型配置

厂商 服务器名称 服务器具体型号 部件名称 典型配置
华为 TaiShan 200 2280均衡型 CPU Kunpeng 920
内存 32G*4 2933MHz
RAID卡 LSI SAS3508
网络 SF221Q
华为 FusionServer Pro 2288H V5(机架服务器) CPU Intel® Xeon® Gold 5118 CPU @ 2.30GHz
内存 32*4 2400MHz
RAID卡 LSI SAS3508
网络 X722

1.4 关键特性

1.4.1 openEuler 22.03-LTS基于 Linux Kernel 5.10 内核构建, 在进程调度、内存管理等方面带来10余处创新

深度优化调度、IO、内存管理,提供Arm64、x86、RISC-V等更多算力支持。

  • 内核动态抢占,新增启动选项preempt=none/voluntary/full,允许内核动态切换抢占模式。
  • mremap性能优化,通过移动 PMD/PUD 级别的表项,加速映射大块内存的速度。
  • per memcg lru lock,采用per memcg lru_lock,减少云原生容器实例锁竞争,提升系统性能。
  • 大页内存管理优化,通过共享映射方式将HugeTLB管理页中无实际作用的tail页释放掉,从而降低管理结构的开销,降低大页管理自身内存占用。
  • TLB并发刷新支持,本地TLB和远端TLB刷新并行,优化TLB shootdown流程加速TLB刷新,提升业务性能。
  • 大页vmalloc性能优化,对于超过huge page的最小size的空间进行vmalloc()分配时,将会尝试使用 huge page 而不是 base page来映射内存,可以大大改善 TLB 的利用,降低TLB miss。
  • UCE容错, 系统运行时,内核态触发硬件内存错误的处理方式是无差别的内核panic,基于分析,部分场景的影响仅仅是用户态进程的运行受到影响,我们可以通过杀死用户态进程并隔离出错页面,而不必通过系统panic来处理内存错误。基于此思路,针对uaccess场景(copy_{from, to}_user, {get, put}_user)、cow场景、coredump场景提供解决方案,避免此情况下的系统复位,提升系统可靠性。

1.4.2 新介质文件系统

  • Eulerfs,Eulerfs创新元数据软更新技术(Soft Update),基于指针的目录双视图计数机制,减少元数据同步开销,有效提升文件系统create、unlink、mkdir、rmdir系统调用性能。

1.4.3 内存分级扩展

支持多种内存、存储介质扩展系统内存容量,降低内存使用成本。新增用户态交换支持。

  • 用户态交换(新增),通过etMem的策略配置,对于淘汰的冷内存,通过用户态swap功能交换到用户态存储中,达到用户无感知,性能优于内核态swap。

1.4.4 用户态协议栈

新增gazelle用户态协议栈,无需应用程序修改和重新编译,即可使用,支撑上层业务获得高性能、低时延的网络传输

  • gazelle 用户态协议栈,基于dpdk和lwip,实现支持无锁、多线程的高性能用户态协议栈,加速应用程序的网络性能,无需修改适配和重新编译,即可使用。

1.4.5 云原生调度增强

在云业务场景中,交互类延时敏感在线业务存在潮汐现象,CPU资源利用率普遍较低(不足15%),在线和离线业务混合部署是提升资源利用率的有效方式。现有的内核资源分配和管理机制。

  • QAS(Quality aware scheduler),可以确保在线任务对CPU的快速抢占,确定性的调度运行,同时压制离线任务干扰。
  • OOM回收支持优先级,优化OOM时内存回收调度算法,在发生OOM时,优先对低优先级的进程组进行内存回收,保障在线业务的正常运行。
  • 容器混合部署框架,对k8s集群下的混合部署,openEuler用户仅需给业务打上在线或离线的标签,系统即能自动感知业务的创建,并根据业务优先级配置,实现资源的隔离和抢占。

1.4.6 QEMU热补丁机制

  • 支持libcareplus热补丁机制,提供一种在线修复进程bug的技术,使得QEMU进程能够在不影响虚机业务的情况下,在线解决QEMU进程bug。

1.4.7 KubeOS

容器化操作系统KubeOS,实现云原生集群OS的统一容器化管理。

  • OS容器化管理,对接K8S容器和OS统一管理,原子化的生命周期管理。
  • OS轻量化裁剪,减少不必要的冗余包,可实现快速升级、替换等。

1.4.8 轻量安全容器增强

基于Stratovirt轻量虚拟化技术,实现容器级别的低负载和虚拟机高安全。

  • 支持UEFI启动,支持UEFI启动、ACPI表的构建以及为虚拟机添加包括virtio-pci在内的PCIe/PCI设备。
  • 支持VFIO,提供将host上物理设备直通给虚拟机的能力,使虚拟机获得接近裸设备的高性能。
  • 支持直通设备热插拔,支持virtio-blk-pci、virtio-net-pci和VFIO等设备的热插拔,有效避免更换外设引起的系统停机和业务中断。

1.4.9 iSulad增强

  • shimv2,shimv2 收编了 kata-runtime,kata-shim, kata-proxy进程,通过加载⼀次运⾏时并通过 RPC 调⽤来处理各种容器,⽣命周期管理命令来简化体系结构,不必为每个容器⼀直运⾏⼀个容器运⾏时

1.4.10 eggo支持容器管理双平面部署

eggo是openEuler云原生Sig组K8S集群部署管理项目,提供高效稳定的集群部署的能力。

  • 集群配置版本化管理,配置统一Git repo版本化管理,使用仓库汇总和跟踪集群的配置信息。
  • X86/ARM双平面,实现OS双平面集群化部署、监控、审计等场景。

1.4.11 边缘计算

提供跨边云的协同框架(KubeEdge+),实现边云之间的应用管理与部署、跨边云通讯等基础能力。

  • 管理协同,实现单集群设备统一管理,应用秒级发放。
  • 网络协同,支持跨边云双向通信,私有子网中的边缘节点通信。
  • 边缘自治,支持边缘自治,确保网络不稳定状态,边缘节点正常工作,支持边缘节点元数据持久化和快速恢复。
  • 边缘轻量化,内存占用少,可在资源受限情况下工作。

1.4.12 嵌入式镜像

  • 轻量化能力,开放yocto小型化构建裁剪框架,支撑OS镜像轻量化定制,提供OS镜像 < 5M,以及<5S快速启动等能力。
  • 多硬件支持,新增支持树莓派4B作为嵌入式场景通用硬件。
  • 软实时内核,基于linux5.10内核提供软实时能力,软实时中断响应时延微秒级。
  • 混合关键性部署,实现soc内实时和非实时多平面混合部署,并支持zephyr实时内核。
  • 分布式软总线基础能力,集成鸿蒙的分布式软总线,实现欧拉嵌入式设备之间互联互通。
  • 嵌入式软件包支持,新增80+嵌入式领域常用软件包的构建。

1.4.13 secPaver

secPaver是一款SELinux安全策略开发工具,用于辅助开发人员为应用程序开发安全策略。

  • 策略管理,提供高阶配置语言,根据策略配置文件内容生成SELinux策略文件,降低SElinux使用门槛。

1.4.14 NestOS

NestOS是一款在openEuler社区CloudNative sig组孵化的云底座操作系统,专注于提供最佳的容器主机,大规模安全的运行容器化工作负载。

  • 开箱即用的容器平台,搭载了iSulad、docker、podman 、cri-o等主流容器基础平台。
  • 简单易用的安装配置过程,采用了Ignition技术,提供个性化配置。
  • 安全可靠的包管理方式,使用rpm-ostree进行包管理。
  • 友好可控的自动更新代理,采用zincati实现无感升级。
  • 紧密配合的双系统分区,双系统分区设计确保系统安全。

1.4.15 更多的第三方应用支持

  • KubeSphere,KubeSphere 是在 Kubernetes 之上构建的以应用为中心的容器平台,完全开源,由青云科技发起,并由 openEuler 社区 SIG-KubeSphere 提供支持和维护。
  • OpenStack Wallaby,OpenStack版本更新到Wallaby。Wallaby是2021年4月份发布的最新稳定版本,包含nova、kolla、cyborg、tacker等核心项目的重要更新。
  • OpenResty,基于 Nginx 与 Lua 的高性能 Web 平台。

1.4.16 更多桌面环境的支持

提供更多的开发桌面选择,更好的开发体验。

  • DDE版本升级,新增支持画板、音乐和影院应用。
  • UKUI版本升级,新增中文输入法和多媒体支持。
  • kiran-desktop ,支持麒麟信安桌面系统。
  • GNOME,支持GNOME桌面系统。

1.5 openEuler操作系统版本分类及其命名方式

1.5.1 创新版

  • 支持Linux技术爱好者进行技术创新
  • 通常半年发布一个版本

1.5.2 稳定版(LTS)

  • 生命周期为两年

1.5.3 命名方式

  • 创新版openEuler采用”openEuler+年月“的命名方式,如openEuler 22.03。
  • The stable version adopts the naming method of "openEuler+LTS+year month+【SPx】", such as openEuler LTS 22.03, openEuler LTS 22.03 SP1.

Guess you like

Origin blog.csdn.net/shuchaoyang/article/details/128857128