OpenCloudOS 9.2 发布!全新内核版本,全面平台支持

2024-05-30 17:52:05 浏览数 (2)

2023 年,操作系统开源社区 OpenCloudOS 发布首个全自研社区 9.0 版本,内核及用户态软件均为自主选型、独立演进,在操作系统发行版的全链路均实现自主可控,开启了国产 OS 全新独立路线。

2024 年 5 月 22 日,OpenCloudOS 社区年度新版本 OpenCloudOS 9.2 正式发布:Kernel 版本升级至 6.6,带来最新的内核特性和广泛的平台支持,升级 GCC 12.3、glibc 2.38、LLVM 17 、Python 3.11 等基础库工具链,为用户提供更加稳定、丰富的生态体验。

OpenCloudOS 9.2 有哪些重要特性?解决了哪些技术问题?为企业与开发者带了价值?本文将为大家详细介绍。

一、内核升级至 6.6.30,自研新特性加持

OpenCloudOS 9.2 基于 L1 源社区的 OpenCloudOS Stream 2401 优化推出,使用上游社区最新的 LTS 版本 Kernel 6.6.30,引入新功能、硬件支持、安全增强和性能改进等重大更新:

1、Kernel 6.6.30 内核特性

全新内核/内存管理机制,启动加速

Folios、Mapple Tree 和 Per VMA Lock 等新型内核内存管理机制显著改进了内存管理核心数据结构,降低了开销,提升了并发处理能力,从而大幅加速应用启动和内存分配性能。

MGLRU 多世代 LRU 机制有效降低热度识别开销,提高精度,减少大压力场景下的 OOM 概率,提升内存紧张时的系统性能。DAMON 提供高效低负载的内存数据存取监控,支持虚拟地址、物理地址监控和轻内存压力下的主动内存回收,优化性能。

Tiered memory 分层内存系统与 CXL 支持实现自动数据升降级搬迁,降低内存使用成本,构建大容量、低延迟内存池。Cgroup 控制增强优化锁性能,解决页面碎片化和 Zombie Cgroup 问题,提升性能,并支持设置 IO 请求优先级,提高吞吐量。

调度系统大幅度增强,提供更加强大的算力支持

EEVDF 替代 CFS,改善延迟敏感类任务的延迟,减少业务毛刺抖动以及尾延迟,运行更加平滑。内核动态抢占切换,采用 static key 实现运行时抢占/非抢占调度,告别重新构建。CPU 负载均衡优化,降低调度开销,更好地局部性控制逻辑,提高整体使用率和吞吐量。

Multi-LLC per-node 架构机器调度功能优化,极大提升 AMD Zen 等系列处理器在众多负载场景下性能表现,提供更加强大的算力支持。

提升效率与稳定性,优化缓存

文件系统优化,新增系统调用 close_range,提升大批量文件操作性能。Fanotify 支持文件错误报告;EXT4,XFS 等文件系统优化性能,提升 IO 效率与性能,优化并发场景,降低延迟,提升可拓展性。

io_uring,新一代异步 IO 框架全功能支持。新增 IORING_OP_MSG_RING 支持、优化多线程场景 ring fd 注册机制、net napi_busy_poll 支持、statx API 稳定性增强等,降低 io_uring 内部开销、提升 IO 异步处理性能。

block 层优化提升,支持批处理事件,优化缓存,在高性能设备上提升 IOPS 约 8%,降低 passthru IO CPU 使用率。

2、OpenCloudOS 自研特性

同时,在 Linux Kernel 6.6 的基础上,OpenCloudOS 也加入了一系列自研特性:

基于 Livepatch 的多架构热补丁支持:适配了 Livepatch 的 Thread Switch 结合 Stackbacktrace 结构设计,大幅度提高了 ARM64 上热补丁成功概率,降低 Downtime,并实现了多架构统一。

大量企业级特性适配:Cgroupfs 支持,PSI Cgroup V1 支持,网络子系统参数细化,Diststat 扩充,Page Cache 限制,Cgroup V1 IO throtting 等针对大规模生产环境中的痛点而生的自研特性。提升内核成熟度与可用度,增强容器隔离。

提供针对 EL 生态的发行版支持:无缝支持第三方内核 Kmod 包,对云场景精简环境,新硬件适配,调试等各种场景提供全面适配支持。

二、 硬件平台全面支持,使用体验深度优化

1、新增主流芯片、算力平台、网卡芯片支持

国产芯片新增支持飞腾、海光、龙芯、兆芯、鲲鹏等国内算力平台

  • 新增支持飞腾 S2500/5000C CPU  芯片
  • 新增支持海光 4~6 系 CPU 芯片   
  • 新增支持兆芯 CPU core、pmu、CRC32C、SB HDAC and other extended topology
  • 新增支持龙芯 CPU(含 KVM 支持)
  • 新增支持鲲鹏 920/920X CPU 芯片

新增支持北中网芯、网讯、云芯智联等国内网卡芯片

  • 新增支持北中网芯 N5/N6 系列芯片
  • 新增支持网讯 wx1820/wx1860/sp1000 芯片
  • 新增支持云芯智联 3s9xx 等国内网卡芯片

全面支持 Intel 第四、五、六代至强可扩展处理器,和其内置的 AMX 模块、QAT 加速器,支持 AMD turin 新世代平台

值得一提的是,Intel 预计在 2024 年中会发布第六代至强可扩展处理器上,OpenCloudOS 9.2 已经率先对其完成适配工作,是国内首个支持 Intel 第六代至强可扩展处理器的发行版操作系统。

2、管理、开发、安全、容器等工具支持

更全面的系统管理和服务

  • systemd 升级至 v255,支持 soft-reboot 用户态重启特性,大幅提升重启速度,支持软重启不中断服务能力;服务启动方式变更为 systemd-executor 启动,速度更快,内存占用更小
  • rsyslog 升级至 8.2312.0,修复多个安全问题,新增 TLS 支持,优化 imptcp、等模块的处理速度和效率,优化工作线程和队列处理上的抢占问题
  • ICU 升级至 73.2,Unicode 15 支持 GB18030-2022
  • grub2 升级至 2.12,支持 GCC 13、 clang 14 编译,支持 binutils 2.38,支持 PCI 和 MMIO UART,支持 SDL2,支持 LoongArch 架构启动

网络管理

  • nftables 升级至 1.0.8,增加对 netlink 流表支持,支持在 nft list hooks 中解码BPF ID,支持在标记语句中使用更大的位移操作、位运算表达式;
  • iptables 升级至 1.8.9,支持元数据 pkktype 模式的解析以及 TTL/Hoplimit 的解析,改进对大页处理的方式。

存储和文件系统管理

  • LVM2 升级至 2.03.21,raid integrity 卷新增对 writecache 的支持,提升 VDO 卷的性能和可靠性,逻辑卷调整命令新增 --fs 和 --fsmode 选项以支持文件系统自动调整;
  • nfs 管理工具升级至 2.6.3,新增多个选项以支持对传输层安全等更灵活的设置,新增 fsidd 服务以支持对 reexport 数据库的查询;
  • e2fsprogs 升级到 1.47.0,提升 e2fsck 处理大文件系统的性能,新增对 orphan_file 特性的支持,tune2fs 和 e2label 新增对已挂载文件系统 label 和 UUID 的设置;
  • xfsprogs 升级至 6.5.0,新增对 Linux Kernel 6.6 文件系统新特性的支持;
  • ceph 升级至 18.2.0,,RADOS 的 RocksDB 迭代开销和性能都有显著的改进,新功能「读取均衡器」允许用户在其集群上平衡每个池的主 PG;RGW 支持多站点配置的存储桶重新分片,多站点复制的稳定性和一致性有显著改进,支持加密上传的对象进行压缩;RBD 添加对分层客户端加密的支持。

开发和调测

  • glibc 升级至 2.38,支持 pidfd 系列接口,aarch64 支持向量数学库 libmvec,支持 configure _FORTIFY_SOURCE 提升安全性
  • binutils 升级至 2.41,汇编器新增支持 Loongarch 架构的 LSX LASX LVZ LBT 指令集
  • gcc 升级至 12.3.1.1,默认启用 C 17,完善 C 20 支持,部分支持 C 23 标准;隐式初始化所有堆栈变量;默认调试格式 DWARF5;支持 Loongarch 架构;ARM 架构支持新-march 参数:armv8.7-a、armv8.8-a、armv9-a,支持 SIMD SVE 指令集;RISCV 架构添加对 zba、zbb、zbc、zbs 的新 ISA 扩展支持;支持 BOLT 优化,强化 PGO/LTO 等反馈优化技术,提升稳定性和兼容性
  • Python 升级至 3.11,性能改进明显,较 Python 3.10 提升 10-60%
  • rust 升级至 1.75.0,编译器启用 BOLT 优化,平均运行性能提升 2%
  • golang 升级至 1.21.7,gc 收集器优化,整体 CPU 性能提高2%;新增 crypto/ecdh 包
  • clang/LLVM 升级至 17.0.6,对 AArch64、AMDGPU、ARM、AVR 等后端进行改进,包括新增指令支持、优化等;clang 增加 C 20 协程的全面支持,对 C 23 标准的部分支持
  • bcc 升级至 0.29.1,支持 Kernel 6.6;新增 rdmaucma、f2fs、futexctn 调测工具
  • boost 升级至 1.82.0,支持 C 20 标准

安全

  • 支持 SM2/SM3 国密安全启动
  • scap-security-guide 新增 TencentOS Server 4 安全基线配置文件
  • OpenSSL 升级至 3.0.12,支持国密
  • openssh 升级至 9.3p2,支持国密
  • gnupg2 升级至 2.4.3,签名验证速度提高四倍以上,分离式签名速度提高一倍
  • gnutls 升级至 3.8.2,增加对 AES-GCM-SIV 密码的支持(RFC 8452),扩展对透 明KTLS(Kernel TLS)的支持,添加对 RFC 9258 外部 PSK 导入器的支持

容器和虚拟化

  • moby 升级至25.0.3版本,profile/seccomp 适配 kernel 6.6 系统调用,新增 OpenTelemetry tracing,支持 Linux 下 CDI 设备,支持递归只读挂载
  • Kubernetes 升级到 1.27.4 版本
  • qemu 升级到 8.2.2,配套 Kernel 6.6,支持新的 CPU 类型 neoverse-v1,带来新的架构特性支持 FEAT_PAN3、FEAT_LSE2、FEAT_RME,支持 AES 加速指令、SHA 指令,RISC-V 支持新的 ISA 和拓展能力,新增 hv-balloon、UFS 等多种设备支持,linux-user 提供大多数流行架构的 vdso
  • OpenStack 升级至 Wallaby 版本,Nova,Neutron 等组件功能进一步优化

典型应用

  • sqlite 升级至 3.42,支持 JSON5 拓展,添加 FTS5 安全删除命令;启用「视图计数」优化,避免计算子查询中未使用的列;提高查询规划器的性能;增加--sate 命令行选项,禁止使用有可能危害系统的 SQL 函数
  • 支持企业级分布式 HTAP 开源数据库 OpenTenBase
  • 新增基于 Nginx 与 Lua 的高性能 Web 平台 OpenResty

桌面&图形库&输入法

  • 新增实验性支持 NDE 桌面环境
  • 新增支持 Kwin 5.27.9
  • 新增支持 sddm 0.20
  • 新增支持 fcitx4 4.2.9.9,引入配套工具 fcitx-configtool im-chooser 等
  • Qt 升级至 5.15.11
  • 新增支持 GTK2,目前已支持 GTK2、GTK3、GTK4
  • 新增支持 ibus 智能拼音输入法

镜像优化

  • 根文件系统从 ext4 切换为 xfs
  • X 的默认引擎从 wayland 改为 X11

3、支持周期与版本规划

OpenCloudOS 9 每一年发布一个偶数版本,OpenCloudOS 9.2 将维护支持至 2026 年。下一个版本 OpenCloudOS 9.4 预计于 2025 年 4 月底发布。

支持等级说明

完整支持:完整支持阶段主要进行软件包 Bugfix, CVE 安全更新,一部分新特性支持和新硬件的支持(在有限兼容性保障的前提下)。

维护支持:维护支持阶段主要进行 Bugfix 和 CVE 安全更新,不再合入新特性。

三、下载使用并参与社区共建

下载安装

新版 OpenCloudOS 9.2 提供多种安装方式,方便用户快速部署,可在下方链接中选择【OpenCloudOS 9.2】,下载安装:

https://www.opencloudos.org/ospages/downloadISO

注意事项

1、对于 x86平台,物理机和虚拟机需要支持 x86-64-v2 微架构及以上

2、容器部署,Docker 需要 v24 以上版本

3、旧版本升级时,请注意 ctdb-ceph-mutex、samba-vfs-cephfs、wxGTK3、

wxGTK3-devel、wxGTK3-gl、wxGTK3-i18n、wxGTK3-media、wxGTK3-webview、openstack-placement-doc、python3-django-doc 已从版本中衰退,如果安装了上述衰退包,请先执行 dnf remove --noautoremove <package name>后再升级系统。

问题反馈

技术反馈可进入下方链接进行提交,在 Product 选项中选择 OpenCloudOS :

https://bugs.opencloudos.tech/

如果能够确认发生问题的软件包,也可以在 Gitee 源码仓库对应的软件包提交 issue:

https://gitee.com/OpenCloudOS

0 人点赞