关键特性
AI专项
智能时代,操作系统需要面向AI不断演进。一方面,在操作系统开发、部署、运维全流程以AI加持,让操作系统更智能;另一方面,openEuler已支持Arm,x86,RISC-V等全部主流通用计算架构,在智能时代,openEuler也率先支持NVIDIA、昇腾等主流AI处理器,成为使能多样性算力的首选。
- OS for AI:openEuler兼容NVIDIA、Ascend等主流算力平台的软件栈,为用户提供高效的开发运行环境。通过将不同AI算力平台的软件栈进行容器化封装,即可简化用户部署过程,提供开箱即用的体验。同时,openEuler也提供丰富的AI框架,方便大家快速在openEuler上使用AI能力。
- openEuler已兼容CANN、CUDA等硬件SDK,以及TensorFlow、PyTorch、MindSpore等相应的AI框架软件,支持AI应用在openEuler上高效开发与运行。
- openEuler AI软件栈容器化封装优化环境部署过程,并面向不同场景提供以下三类容器镜像。
- SDK镜像:以openEuler为基础镜像,安装相应硬件平台的SDK,如Ascend平台的CANN或NVIDIA的CUDA软件。
- AI框架镜像:以SDK镜像为基础,安装AI框架软件,如PyTorch或TensorFlow。此外,通过此部分镜像也可快速搭建AI分布式场景,如Ray等AI分布式框架。
- 模型应用镜像:在AI框架镜像的基础上,包含完整的工具链和模型应用。 相关使用方式请参考openEuler AI 容器镜像用户指南。
- sysHax大语言模型异构协同加速运行时专注于单机多卡环境下大模型推理任务的性能提升,针对鲲鹏+xPU(GPU、NPU等)的异构算力协同,显著提升大模型的吞吐量和并发量:
- 动态算力调度:动态调度K+X算力资源,计算最佳算力配比,将任务动态卸载至鲲鹏CPU,最大程度利用CPU算力。
- CPU推理加速:通过NUMA亲和调度、矩阵运算并行加速、SVE指令集推理算子适配等方式,提升CPU的吞吐量。
- AI for OS:当前,openEuler和AI深度结合,一方面使用基础大模型,基于大量openEuler操作系统的代码和数据,训练出openEuler Copilot System,初步实现代码辅助生成、智能问题智能分析、系统辅助运维等功能,让openEuler更智能。
AI 应用开发框架:大模型应用是实现企业大模型落地的重要途径。RAG(检索增强生成技术)+大模型可以很好的弥补基础模型对行业数据缺失的不足。因此,结合RAG能力的AI应用开发平台是当前企业和开发者的一大助力。基于此,openEuler社区孵化出了基于openEuler操作系统的AI应用开发框架。该框架面向个人及企业开发者,提供智能辅助工具,帮助开发者通过简单高效的交互方式快速完成AI应用开发任务。可有效降低AI应用开发的技术门槛,提升开发效率和数据处理质量,并能够满足多种复杂应用场景下的数据处理、模型训练及内容管理需求。框架主要包含以下核心功能:
- 多路增强RAG提升智能问答准确率:为解决传统Native RAG精确性低、指导性不强等问题,多路增强RAG通过语料治理、prompt重写、多路召回比对等技术,提升RAG检索准确率;
- 文档治理与优化:支持语料增量更新,支持文本去重、敏感信息脱敏、文档标准化与内容格式化(如段落总结、代码注释、案例整理),提高语料质量。
- Embedding模型微调:支持多种Embedding模型(如bge系列模型)的快速微调与评估,提升模型在特定领域的表现。
智能问答:openEuler Copilot System智能问答平台目前支持web和智能shell两个入口。
- 工作流调度:原子化智能体操作流程:通过采用“流”的组织形式,openEuler Copilot System允许用户将智能体的多个操作过程组合成一个内部有序、相互关联的多步骤“工作流”;即时数据处理:智能体在工作流的每个步骤中生成的数据和结果能够立即得到处理,并无缝传递到下一个步骤;智能交互:在面对模糊或复杂的用户指令时,openEuler Copilot System能主动询问用户,以澄清或获取更多信息。
- 任务推荐:智能响应:openEuler Copilot System能够分析用户输入的语义信息;智能指引:openEuler Copilot System综合分析当前工作流的执行状况、功能需求以及关联任务等多维度数据,为用户量身定制最适宜的下一步操作建议。
- RAG:openEuler Copilot System中的RAG技术能更强的适应多种文档格式和内容场景,在不为系统增加较大负担的情况下,增强问答服务体验。
- 语料治理:语料治理是openEuler Copilot System中的RAG技术的基础能力之一,其通过片段相对关系提取、片段衍生物构建和OCR等方式将语料以合适形态入库,以增强用户查询命中期望文档的概率。 相关使用方式请参考《openEuler智能助手》
智能调优:openEluer Copilot System 智能调优功能目前支持智能shell入口。 在上述功能入口,用户可通过与openEluer Copilot System进行自然语言交互,完成性能数据采集、系统性能分析、系统性能优化等作业,实现启发式调优。
智能诊断:
- 巡检:调用Inspection Agent,对指定IP进行异常事件检测,为用户提供包含异常容器ID以及异常指标(cpu、memory等)的异常事件列表。
- 定界:调用Demarcation Agent,对巡检结果中指定异常事件进行定界分析,输出导致该异常事件的根因指标TOP3。
- 定位:调用Detection Agent,对定界结果中指定根因指标进行Profiling定位分析,为用户提供该根因指标异常的热点堆栈、热点系统时间、热点性能指标等信息。
智能化漏洞修补:openEuler智能化漏洞修补工具针对openEuler内核仓库,提供自动化智能漏洞管理与修复能力。该功能针对openEuler的kernel仓库,通过/analyze命令,来实现漏洞对openEuler操作系统版本的影响范围的分析;通过/create_pr命令,来实现补丁pr的分钟级自动创建。
智能容器镜像:openEuler Copilot System目前支持通过自然语言调用环境资源,在本地协助用户基于实际物理资源拉取容器镜像,并且建立适合算力设备调试的开发环境。当前版本支持三类容器,并且镜像源已同步在dockerhub发布,用户可手动拉取运行:
- SDK层:仅封装使能AI硬件资源的组件库,例如:cuda、cann等。
- SDK + 训练/推理框架:在SDK层的基础上加装tensorflow、pytorch等框架,例如:tensorflow2.15.0-cuda12.2.0、pytorch2.1.0.a1-cann7.0.RC1等。
- SDK + 训练/推理框架 + 大模型:在第2类容器上选配几个模型进行封装,例如llama2-7b、chatglm2-13b等语言模型。
openEuler Embedded
openEuler发布面向嵌入式领域的版本openEuler 25.03,提供更丰富的南北向生态以及更完善的基础设施。openEuler Embedded围绕以制造、机器人为代表的OT领域持续深耕,通过行业项目垂直打通,不断完善和丰富嵌入式系统软件栈和生态。在南向生态方面,开展了“openEuler Embedded的生态扩展计划”,持续完善了鲲鹏920、泰山派等硬件的支持,并携手意法半导体和米尔科技,成功完成了面向工业应用的高性能微处理器STM32MP257的适配,推动嵌入式生态扩展。在北向,持续丰富了工业中间件、图形中间件等能力,在工业制造、机器人等领域落地应用。未来openEuler Embedded将协同openEuler社区生态伙伴、用户、开发者,逐步扩展支持龙芯等新的芯片架构和更多的南向硬件,完善工业中间件、嵌入式AI、嵌入式边缘、仿真系统等能力,打造综合嵌入式系统软件平台解决方案。
- 南向生态:openEuler Embedded Linux当前主要支持ARM64、x86-64、ARM32、RISC-V等多种芯片架构,未来计划支持龙芯等架构,从24.03 版本开始,南向支持大幅改善,已经支持树莓派、海思、瑞芯微、瑞萨、德州仪器、飞腾、赛昉、全志等厂商的芯片。
- 嵌入式弹性虚拟化底座:openEuler Embedded的弹性虚拟化底座是为了在多核片上系统(SoC, System On Chip)上实现多个操作系统共同运行的一系列技术的集合,包含了裸金属、嵌入式虚拟化、轻量级容器、LibOS、可信执行环境(TEE)、异构部署等多种实现形态。不同的形态有各自的特点:
- 裸金属:基于openAMP实现裸金属混合部署方案,支持外设分区管理,性能最好,但隔离性和灵活性较差。目前支持UniProton/Zephyr/RT-Thread和openEuler Embedded Linux 混合部署。
- 分区虚拟化:基于Jailhouse实现工业级硬件分区虚拟化方案,性能和隔离性较好,但灵活性较差。目前支持UniProton/Zephyr/FreeRTOS和openEuler Embedded Linux混合部署,也支持openHarmony和openEuler Embedded Linux的混合部署。
- 实时虚拟化:openEuler社区孵化了嵌入实时虚拟机监控器ZVM和基于rust语言的Type-I型嵌入式虚拟机监控器Rust-Shyper,可以满足不同场景的需求。
- 混合关键性部署框架: openEuler Embedded打造了构建在融合弹性底座之上混合关键性部署框架,并命名为MICA(MIxed CriticAlity),旨在通过一套统一的框架屏蔽下层弹性底座形态的不同,从而实现Linux和其他OS运行时便捷地混合部署。依托硬件上的多核能力使得通用的Linux和专用的实时操作系统有效互补,从而达到全系统兼具两者的特点,并能够灵活开发、灵活部署。MICA的组成主要有四大部分:生命周期管理、跨OS通信、服务化框架和多OS基础设施。生命周期管理主要负责从OS(Client OS)的加载、启动、暂停、结束等工作;跨OS通信为不同OS之间提供一套基于共享内存的高效通信机制;服务化框架是在跨OS通信基础之上便于不同OS提供各自擅长服务的框架,例如Linux提供通用的文件系统、网络服务,实时操作系统提供实时控制、实时计算等服务;多OS基础设施是从工程角度为把不同OS从工程上有机融合在一起的一系列机制,包括资源表达与分配,统一构建等功能。混合关键性部署框架当前能力:
- 支持裸金属模式下openEuler Embedded Linux和RTOS(Zephyr/UniProton)的生命周期管理、跨OS通信。
- 支持分区虚拟化模式下openEuler Embedded Linux和RTOS(FreeRTOS/Zephyr)的生命周期管理、跨OS通信。
- 北向生态:600+嵌入式领域常用软件包的构建;提供软实时能力,软实时中断响应时延微秒级;集成 OpenHarmony 的分布式软总线和hichain点对点认证模块,实现欧拉嵌入式设备之间互联互通、欧拉嵌入式设备和 OpenHarmony 设备之间互联互通;支持iSula容器,可以实现在嵌入式上部署openEuler或其他操作系统容器,简化应用移植和部署。支持生成嵌入式容器镜像,最小大小可到5MB,可以部署在其他支持容器的操作系统之上。
- UniProton硬实时系统:UniProton 是一款实时操作系统,具备极致的低时延和灵活的混合关键性部署特性,可以适用于工业控制场景,既支持微控制器MCU,也支持算力强的多核CPU。目前关键能力如下:
- 支持Cortex-M、ARM64、X86_64、riscv64架构,支持M4、RK3568、RK3588、X86_64、Hi3093、树莓派4B、鲲鹏920、昇腾310、全志D1s。
- 支持树莓派4B、Hi3093、RK3588、X86_64设备上通过裸金属模式和openEuler Embedded Linux混合部署。
- 支持通过gdb在openEuler Embedded Linux侧远程调试。
epkg新型软件包
epkg是一款新型软件包,支持普通用户在操作系统中安装及使用。新的软件包格式相比现有软件包,主要解决多版本兼容性问题,用户可以在一个操作系统上通过简单地命令行安装不同版本的软件包。同时支持环境环境实现环境的创建/切换/使能等操作,来使用不同版本的软件包。目前epkg主要支持非服务类的软件包的安装和使用。
- 多版本兼容:支持安装不同版本的软件包,实现多版本软件包的共存。
- 多安装模式:支持特权用户安装及普通用户安装,实现全局可用、用户级可用,最小化安装程序,绿色安装。
- 环境管理:支持环境创建/删除/激活/注册/查看等操作,支持多环境使用不同软件仓,实现多环境多版本能力。支持运行态注册多个环境,开发态激活单环境调试。
- 环境回退:支持查看环境历史操作,环境回退操作,实现用户在误操作或安装软件后出现问题时,恢复环境。
- 包管理:支持包安装/卸载/查询能力,对标rpm/dnf基本功能,满足典型用户与场景日常使用。
GCC编译链接加速
为了提升openEuler软件包的编译效率,从而进一步提升门禁和开发者开发效率,通过编译器、链接器优化技术缩短应用中C/C++组件总体编译时间。使用打开PGO(Profile Guided Optimization)、LTO(Link Time Optimization)编译的GCC结合mold(A Modern Linker)链接器缩短软件包中C/C++库的编译时间,最终使得编译时间TOP90+软件包的编译总时间缩短9.5%左右。具体支持以下两点功能:
- 支持能够编译出带PGO和LTO优化的gcc12.3版本来提升编译过程效率;
- 支持能够根据应用[白名单](https://gitee.com/src-openeuler/openEuler-rpm-config/blob/openEuler-25.03/0002-Enable-mold-links-through-whitelist.patch#L49)切换到mold链接器来提升链接过程效率。
内核创新
openEuler 25.03基于 Linux Kernel 6.6内核构建,在此基础上,同时吸收了社区高版本的有益特性及社区创新特性。
内核多副本(Kernel Replication)特性:Kernel Replication旨在优化Linux内核在NUMA(非一致性内存访问)架构下的内核性能瓶颈。相关研究表明,Apache、MySQL、Redis等数据中心关键应用中,Linux内核态的执行对整体性能影响显著,例如:内核执行占整个应用程序执行CPU cycles数目的61%、总指令执行数目的57%,占I-cache失效率的61%、I-TLB失效率的46%。在传统Linux内核中,代码段、只读数据段、内核页表(swapper_pg_dir)仅驻留在主NUMA节点中并无法被迁移,这就导致当进程或多线程应用跨多个 NUMA 节点部署时,涉及系统调用存在频繁的跨NUMA,导致整机访存延时增加,从而影响整机性能。Kernel Replication特性扩展了mm_struct中的pgd全局页目录表,在内核启动阶段会自动创建内核代码段、数据段以及对应页表的各NUMA节点副本,此机制允许相同的内核虚拟地址在不同NUMA节点上映射到所在各自节点的物理地址,从而提升访存的本地局部性、减少跨NUMA性能开销。功能完备性上,Kernel Replication特性同时支持vmalloc,module动态加载,Kprobe/KGDB/BPF等动态指令注入机制,KPTI/KASLR/KASAN等安全机制,64K大页等。易用性上,新增内核启动阶段cmdline配置选项(默认关闭),可以在boot阶段进行动态开关,确保可控性和兼容性。Kernel Replication适用于高并发、多线程的服务器负载场景。
HAOC 3.0 安全特性:HAOC (Hardware-assisted OS compartmentalization) 含义是基于硬件辅助的操作系统隔离技术。 基于 x86、ARM 处理器提供的硬件特性,设计复式架构内核,在内核中提供隔离执行环境,为 Linux 内核提供进一步的隔离能力,从而阻止攻击者实施横向移动和权限提升。当前版本提供了隔离执行环境 IEE, 允许后续选项在隔离执行环境中新增需要隔离的敏感资源,并保证这些敏感资源不能被普通的内核代码随意的访问,而只能通过对IEE提供的接口进行调用来实现访问。
NestOS容器操作系统
NestOS是在openEuler社区孵化的云底座操作系统,集成了rpm-ostree支持、ignition配置等技术。采用双根文件系统、原子化更新的设计思路,使用nestos-assembler快速集成构建,并针对K8S、OpenStack等平台进行适配,优化容器运行底噪,使系统具备十分便捷的集群组建能力,可以更安全的运行大规模的容器化工作负载。
- 开箱即用的容器平台:NestOS集成适配了iSulad、Docker、Podman等主流容器引擎,为用户提供轻量级、定制化的云场景OS。
- 简单易用的配置过程:NestOS通过ignition技术,可以以相同的配置方便地完成大批量集群节点的安装配置工作。
- 安全可靠的包管理:NestOS使用rpm-ostree进行软件包管理,搭配openEuler软件包源,确保原子化更新的安全稳定状态。
- 友好可控的更新机制:NestOS使用zincati提供自动更新服务,可实现节点自动更新与重新引导,实现集群节点有序升级而服务不中断。
- 紧密配合的双根文件系统:NestOS采用双根文件系统的设计实现主备切换,确保NestOS运行期间的完整性与安全性。
oeAware支持瓶颈评估一键推荐调优等特性增强
oeAware是在openEuler上实现低负载采集感知调优的框架,目标是动态感知系统行为后智能使能系统的调优特性。传统调优特性都以独立运行且静态打开关闭为主,oeAware将调优拆分为采集、感知和调优三层,每层通过订阅方式关联,各层采用插件式开发尽可能复用。 oeAware 的每个插件都是按oeAware 标准接口开发的动态库,包含若干个实例,每个实例可以是一个独立的采集、感知或调优功能集,每个实例包含若干个topic,其中 topic 主要用于提供采集或者感知的数据结果,这些数据结果可供其他插件或者外部应用进行调优或分析。新增transparent_hugepage_tune和preload_tune插件实例。
- SDK提供的接口可以实现订阅插件的topic,回调函数接收oeAware的数据,外部应用可以通过SDK开发定制化功能,例如完成集群各节点信息采集,分析本节点业务特征。
- PMU信息采集插件:采集系统PMU性能记录。
- Docker 信息采集插件:采集当前环境Docker的一些参数信息。
- 系统信息采集插件:采集当前环境的内核参数、线程信息和一些资源信息(CPU、内存、IO、网络)等。
- 线程感知插件:感知关键线程信息。
- 评估插件:分析业务运行时系统的NUMA和网络信息,给用户推荐使用的调优方式。
- 系统调优插件:(1)stealtask :优化CPU调优 (2)smc_tune(SMC-D):基于内核共享内存通信特性,提高网络吞吐,降低时延 (3)xcall_tune :跳过非关键流程的代码路径,优化 SYSCALL的处理底噪 (4)transparent_hugepage_tune:使能透明大页,提高tlb命中率 (5)preload_tune:无感加载动态库。
- Docker调优插件:利用cpuburst特性在突发负载下环境CPU性能瓶颈。
- SMC-D:需要在服务端客户端建链前,完成使能smc加速。比较适用于长链接多的场景。
- Docker 调优:暂不适用于 K8s 容器场景。
- xcall_tune : 内核配置选项 FAST_SYSCALL 打开。
Aops cve修复/配置溯源实现运维智能化,支持主动通知和图文混合交互
aops运维智能化,通过对话交互实现运维操作以替代传统运维操作方式降低运维门槛,导航式操作,简化操作。现交互场景支持cve提示和修复推荐,配置溯源配置异常追溯和配置基线同步,通过和助手交互,让运维助手帮忙执行日常运维操作。
aops基于EulerCopilot集成智能运维助手,实现cve修复和配置溯源操作智能化:
- cve修复:aops自动显示集群cve情况,筛选高分高严重等级cve进行推荐并提供修复方式,用户通过助手辅助和页面混合交互实现cve的修复和结果查看。
- 配置溯源:通过助手查询基线配置异常的机器,页面展示异常机器和异常配置项,助手进行智能总结并提供推荐修复方式,可通过页面混合交互进行修复。
云原生基础设施部署升级工具k8s-install
K8s-install是一款在多个发行版、多个架构上生成云原生基础设施的在线安装工具,及离线安装包生成工具。支持多维度地一键安装、部署、安全更新云原生基础设施套件,极大地节省部署和适配的时间,并使得该流程标准化,可追踪。
- 欧拉本身云原生工具链版本过低,同一发行版内没有维护多版本基线(如k8s 1.20 1.25 1.29等),已发布分支不能更新大版本,业务需要更高版本时就需要自主适配维护;
- 业务方经常采用Ansible等工具部署云底座,使用非本发行版软件包甚至是静态二进制文件及tar包部署,无法支持CVE安全更新;
- 离线安装与在线安装版本同步问题突出,离线包升级及改动困难;
- 安装布署流程不标准,各组件版本不统一,不同组件版本的不适配、配置存在差异情况时常发生,且解决非常耗时,难以定位问题源头。
- 安装器:用来解决runc、containerd、docker、k8s这几个组件及其依赖的系统库的检测、安装、更新流程;
- 配置库:用来储存docker k8s软件的配置文件模板;
- 软件包库:用来储存runc、containerd、docker、k8s及其依赖的系统库的各个版本的各个架构的rpm软件包;
- 镜像库:用来储存k8s软件启动时所需要的各版本的kube-apiserver、 kube-scheduler、 etcd、 coredns等镜像,也包含基础网络插件如flannel的镜像;
- 发布器:用来将最新的代码脚本、rpm、镜像、配置封装在一起生成在线安装包和离线安装包的工具。K8s-install主体程序使用bash写成,不需要编译链接,在线安装包被封装为rpm包,它的打包采用spec文件方式。
k8s-install 安装器
k8s-install 是用于云原生基础设施的安装与安全更新工具。 解决版本适配难题 :欧拉上游云原生工具链版本过低,且已发布分支不能更新大版本,业务版本需要自主适配维护。k8s-install 支持多版本基线,可满足业务刚性需求,避免因版本不兼容导致的部署失败或功能异常。 提升部署效率与标准化 :各部门或项目安装布署流程不标准,组件版本不统一,导致适配问题频发且解决耗时。使用 k8s-install 能实现标准化部署,确保各组件版本兼容,减少问题定位时间,提升整体部署效率。 增强安全性与可维护性 :业务方原采用静态二进制及 tar 包部署,无法支持 CVE 安全更新。k8s-install 可实现 CVE 漏洞更新,及时修复安全漏洞,保障系统安全稳定。同时,全组件代码完成公司内建仓及欧拉建仓,利于版本追溯与问题定位,增强系统可维护性。 促进社区开源与协作 :兼容 openeuler发行版, 开源建仓并活跃更新,促进技术共享与社区生态发展,吸引更多开发者参与,提升项目影响力,推动云原生技术的持续进步。 具备以下核心功能:
- 多发行版本适配:支持 k8s 1.20、1.25、1.29 等多基线版本,可满足不同业务场景下的版本需求,实现按需部署。
- 多架构支持 :兼容 x86_64、aarch64、loongarch64 等多种架构,适用于 diverse 硬件环境,拓展应用范围。
- 多组件管理 :涵盖 golang、runc、containerd、docker、k8s 及相关组件的一体化安装与配置,简化复杂组件的部署流程,提升效率。
- 在线离线部署 :提供在线安装器 k8s-install、离线安装器 k8s-install-offline,结合 publish.sh 发布器,可灵活应对网络条件,保障部署稳定性。
k8s-install publish发布器
publish.sh 是 k8s-install 工具链中的发布器。它具体以下功能:
- 保障离线部署可行性 :在某些网络受限或无网络连接的环境中,如部分数据中心或特殊生产环境,无法直接从在线仓库获取资源。publish.sh 可生成完整的离线安装包,确保在这些场景下也能顺利部署云原生基础设施,拓展工具的适用范围。
- 实现高效版本迭代与发布管理 :随着 k8s-install 工具及组件的不断更新,publish.sh 能实现自动化构建、测试与发布流程,提高版本迭代效率,确保新版本及时、准确地推送给用户,促进系统的持续演进。
- 提升资源获取的稳定性与可靠性 :在线仓库可能因网络波动、资源更新不及时等原因导致获取的软件包或镜像存在问题。publish.sh 从官方或可信的在线仓库拉取资源,并经过整合与测试,能保障所发布的资源稳定可靠,避免因资源问题引发的部署失败。
- 促进多团队协作与资源同步 :在大型项目中,不同团队可能负责不同的组件或模块。publish.sh 可将各团队的更新成果整合发布,确保各团队获取的资源一致,利于协同工作,提升整体项目进度与质量。
功能描述
- 离线包生成与发布 :从在线 yum 和镜像仓库中拉取最新软件包、镜像,结合最新配置文件和安装器,打包成离线 tgz 安装包,满足离线环境的部署需求。
- 在线代码更新与发布 :将更新的代码上传至 git 仓库,选取配置库和安装器进行打包源码,经本地 build 测试后上传至 obs 服务器进行正式编译,并发布到 yum 源,实现在线资源的更新与同步。
Trace IO加速容器快速启动
Trace IO简称TrIO,用于优化基于EROFS over fscache的容器镜像按需加载场景。它通过对容器启动过程中的IO进行精确的追踪,并将IO高效编排进入容器镜像中来优化容器冷启动过程。相比于现有的容器镜像加载方案,TrIO能使得容器任务的冷启动的时延更低、带宽利用率更高效。TrIO涉及内核和用户态模块,内核态在EROFS文件系统下做了相应的适配,用户态模块提供了抓取容器运行时的IO trace的工具、并给出了一种基于nydus-snapshotter的适配修改指导,使得容器使用者无需更改containerd及runc,从而做到对现有容器管理工具的兼容。 TrIO的核心优势是实现容器按需加载过程中的IO聚合,通过编排容器任务运行时IO轨迹的方式精确的拉取容器运行过程中所需要的IO数据;这极大提高了容器启动过程中拉取镜像数据的效率,从而实现容器启动阶段的低时延。 TrIO的功能包括两个部分:容器运行时IO的抓取和容器启动过程运行时IO的使用。容器运行时IO的抓取通过使用ebpf技术,在文件系统侧进行IO追踪,从而获得容器任务启动过程中的IO读取请求,并将这些IO请求对应的数据进行编排,从而构建最小运行时镜像。容器启动过程,自定义的snapshotter插件模块会采用大IO的方式对最小运行时镜像镜像拉取,并导入到内核中;后续容器任务执行过程中所有的IO会优先从最小运行时镜像中读取。 相比现有容器按需加载方案,TrIO具有如下功能优势:
- 无IO放大:通过对运行时IO精确抓取并用于任务启动,对容器任务的启动过程中的IO无放大。
- IO聚合:容器任务启动过程通过大IO的方式将容器任务启动过程所需要的数据一次性拉取到容器节点,提高镜像数据加载效率,降低启动时延。
机密容器Kuasar适配virtCCA
Kuasar机密容器特性基于鲲鹏920系列virtCCA能力。北向可对接iSulad容器引擎,南向适配鲲鹏virtCCA硬件,实现鲲鹏机密计算无缝对接云原生技术栈。 Kuasar机密容器充分利用Sandboxer架构优势,提供了高性能、低开销的机密容器运行时。Kuasar-sandboxer集成openEuler QEMU的virtCCA能力,负责管理机密沙箱的生命周期,允许用户在机密硬件上创建机密沙箱,确保机密容器运行在可信执行环境中。 Kuasar-task提供Task API接口,允许iSulad直接管理机密沙箱内容器的生命周期。机密容器的镜像通过Kuasar-task的镜像拉取能力直接从镜像仓拉入机密沙箱的加密内存中,保障了容器镜像的机密性。
技术约束
- Kuasar机密容器尚未支持远程验证服务,将在openEuler 2403 LTS增强扩展版本中集成secGear组件,完成对远程验证服务的支持。
- 暂不支持镜像加解密,在完成对secGear组件的对接后,可以支持镜像将解密。
功能描述
Kuasar统一容器运行时在支持安全容器的基础上添加了对机密容器的支持。用户可以通过配置iSulad的运行时参数,完成对Kuasar机密容器的纳管。
- 支持iSulad容器引擎对接Kuasar机密容器运行时,兼容Kubernetes云原生生态。
- 支持基于virtCCA的机密硬件,允许用户在鲲鹏virtCCA可信执行环境中部署机密容器。
引入Vkernel概念增强容器隔离能力
Vkernel (Virtual Kernel)全称虚拟内核技术,旨在打破容器场景下的内核共享的局限性,实现独立的虚拟内核以完善隔离能力,同时兼顾容器性能。 Vkernel构建独立的系统调用表、独立的文件权限表,增强容器的基础安全防护能力;构建独立的内核参数,允许容器定制宏观资源策略和微观资源参数;还会通过划分内核信息数据的归属、结合硬件特性保护内核权限数据、构建独立内核页表保护用户数据等,进一步强化安全能力。在未来,Vkernel还将探索与性能干扰相关内核数据,以增强容器性能隔离能力。
secGear支持机密容器镜像密钥托管
secGear远程证明服务提供机密容器镜像密钥托管能力,重点构建覆盖密钥安全存储、动态细粒度授权、跨环境协同分发的管理体系,并借助零信任策略与自动化审计能力,在确保数据机密性与操作可追溯性的同时,实现密钥治理复杂度与运维成本的最优平衡,为云原生环境提供“默认加密、按需解密”的一体化防护能力。 secGear整合远程证明技术构建分层密钥托管功能体系。
证明服务
通过构建集中式密钥托管服务端,基于机密执行环境(TEE)远程证明机制实现对加密镜像密钥的安全存储与生命周期管理,并面向授权用户提供精细化策略配置接口;
证明代理
机密计算节点内部署轻量级证明代理组件,提供本地restAPI接口。机密容器运行时通过调用证明代理接口完成机密执行环境的完整性验证,并与服务端建立动态会话实现密钥的安全传输。
构建基于远程证明的TLS协议(RA-TLS)
RA-TLS是将机密计算的远程证明嵌入到TLS协商过程中,保护隐私数据安全传入机密计算环境,同时简化机密计算安全通道的建立,降低机密计算的使用门槛。
单向认证
TLS服务端部署在机密计算环境,客户端部署在普通环境,RA-TLS协商过程中,基于远程证明对服务端机密计算环境及应用的合法性验证通过后,再做TLS密钥协商。
双向认证
TLS服务端和客户端都部署在机密计算环境,RA-TLS协商过程中,基于远程证明相互验证对端机密计算环境及应用的合法性,再做TLS密钥协商。
技术约束
机密计算环境能够访问网络(如virtCCA)。
openAMDC提供高性能内存数据缓存及KV数据存储
openAMDC(open Advanced in-Memory Data Cache)是一款内存数据缓存软件,主要用于在内存中存储、缓存数据,起到数据访问加速、提升应用访问并发和降低数据访问延迟的作用,也可作为消息代理、内存数据库使用。
功能描述
- 核心能力:openAMDC兼容RESP协议,提供完整的数据缓存功能,支持string、list、hash、set等主流数据格式,提供主备、集群和哨兵等部署模式。
- 架构特性:openAMDC采用了多线程架构实现内存数据缓存性能的大幅提升,并提供冷热数据交替模式支持内存与硬盘的混合数据存储。
- 多线程架构:openAMDC在启动时会初始化多个worker线程,每个worker线程中会启动一个事件循环用于监听事件,为每个listen监听设置SO_REUSEPORT选项,启用网络连接内核负载均衡,允许多个线程绑定相同的端口号,相当于每个线程拥有队里的listen socket完成队列,避免了共享listen socket的资源争抢,提升了并发吞吐。
- 数据交换架构: openAMDC在多线程架构的基础上扩展数据交换功能,实现数据冷热多级存储,降低缓存的综合使用成本。
支持OpenStack Antelope版本
OpenStack 是一个开源的云计算管理平台项目,旨在提供一个可扩展的、灵活的云计算服务,支持私有云和公有云环境。
功能描述
OpenStack提供了一系列的服务和工具,用于构建和管理公共云、私有云和混合云。其主要功能包括:
- 计算服务:提供虚拟机的创建、管理和监控等功能。它允许用户快速创建、部署和销毁虚拟机和容器实例,从而实现对计算资源的灵活管理和高效利用。
- 存储服务:提供对象存储、块存储和文件存储等多种存储服务。块存储服务(如Cinder)允许用户动态分配和管理持久性块存储设备,如虚拟机硬盘。对象存储服务(如Swift)则提供了可扩展的、分布式的对象存储解决方案,用于存储大量非结构化数据。
- 网络服务:提供虚拟网络的创建、管理和监控等功能,包括网络拓扑规划、子网管理、安全组配置等,这使得用户能够轻松构建复杂的网络结构,并确保网络的安全性和可靠性。
- 身份认证服务:提供用户、角色和权限等身份管理功能,管理用户、角色和权限的访问控制。这使得用户能够安全地访问和管理云资源,并确保数据的机密性和完整性。
- 镜像服务:提供虚拟机镜像的创建、管理和共享等功能,包括创建、上传、下载和删除镜像。这使得用户能够轻松地创建和管理虚拟机镜像,并快速部署新的虚拟机实例。
- 编排服务:提供自动化部署和管理应用程序的功能,支持多个服务之间的协作和集成。通过编排服务(如Heat),用户可以定义应用程序的部署模板,并自动执行相关的部署和管理任务。
DevStation工具链/图形化/南向兼容性等新增特性
openEuler DevStation 是专为开发者设计的 Linux 桌面发行版,聚焦简化开发流程与生态兼容性。新版本围绕社区工具链增强、图形化交互优化以及系统兼容性与生产力升级三大方向进行了全面升级,为开发者提供更加高效、安全且适应复杂场景的开发体验。
功能描述
开发者友好的社区工具链
- 全栈开发工具集成:默认搭载 VSCodium(尊重开源许可的无 telemetry 版本 IDE)及主流语言开发环境(Python/Java/Go/Rust/C/C++)。
- 社区工具生态:新增 oedeploy(一键式部署工具)、epkg(扩展软件包管理器)、devkit和本地化 AI 开发助手,实现从环境配置到代码落地的全链路支持。
- oedevplugin插件支持:专为 openEuler 社区开发者设计的 VSCodium 插件,提供 Issue/PR 可视化管理面板,支持快速拉取社区代码仓、提交 PR、自动化检视代码规范(如 License 头校验、代码格式检查),并实时同步社区任务状态。
- 智能助手:支持自然语言生成代码片段、一键生成 API 文档及 Linux 命令解释,内置隐私保护模式(离线运行)。
图形化界面与生产力工具升级
- 导航栏与工作区优化:新增智能导航栏,动态聚合开发工具、系统管理及常用应用的快捷入口,支持自定义工作区布局。
- 桌面增强工具:预装 Thunderbird 邮件客户端,提升办公效率。
南向兼容性与硬件支持增强
- 笔记本友好适配:全面支持主流笔记本硬件(触摸板、Wi-Fi 6 芯片组及蓝牙外设管理,多架构与驱动覆盖),提升AI训练与渲染性能。
- devstation树莓派镜像发布:新增 DevStation 树莓派专用镜像,默认集成轻量化桌面环境及 IoT 开发工具链(如 VScodium、oedevplugin),针对 ARM 架构优化 Python 科学计算库(NumPy/Pandas)性能。
oeDeploy部署能力增强
oeDeploy是一款轻量级的软件部署工具,旨在帮助开发者快速、高效地完成各类软件环境部署,对单节点与分布式场景均可适配。
功能描述
- 多场景支持:支持单节点与集群环境的软件应用一键部署,用自动化脚本代替手动操作,大幅降低部署时长。
- 主流软件一键部署:支持主流软件的典型部署方案,开发团队将持续引入其它主流插件,不断拓展oeDeploy的部署能力范围。
- 灵活的插件化管理:oeDeploy提供可扩展的插件架构,开发者可基于实际需求,快速开发自定义部署插件,匹配自身业务特性。
- 高效开发体验:oeDeploy已支持命令行工具,并即将上线可视化工具与插件商店;开发者仅需关注步骤编排与核心功能开发,用更少的代码,实现更高效的软件部署。