高性能存储 SIG(Special Interest Group)目标:存储领域的发展历程,本质上是存储介质与软件栈相互促进发展的过程。高性能存储 SIG 致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。高性能存储 SIG 期望通过社区合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。
01 SIG 整体进展
1、本月合入 Anolis 主线 PR 共计 24 个,包含多个重要组件的特性支持,性能优化和 bugfix 等。
2、继上个月 ANCK 5.10 支持 erofs subpage block 特性后,ANCK 4.19 也提供这一特性支持,可提升容器镜像 tar 包解压性能以及 golden image 的安全性。
3、ANCK 4.19/5.10 支持 virtfuse 模块,可方便云原生场景下 FUSE 文件系统的部署,应用于大数据和 AI 训练的存储接入等场景。
4、ANCK 5.10 支持 io_uring nvme passthrough 特性的 PR 已经提交 review,计划合入 5.10-15 版本,POC 数据显示相比原生的 io_uring 路径性能提升 ~15%。
5、DSMS 开发测试完成,构建打包中,计划在 Anolis 23 中发布预览版。
02 项目具体进展
1)Anolis OS
cve:CVE-2023-0386(PR1608),CVE-2023-2269(PR1690/PR1691),CVE-2023-2513(PR1694)
erofs & fscache:支持 iomap(PR1638),支持 subpage block 特性(PR1639),修复添加 entry 到损坏的目录 crash 问题(PR1649)
io_uring:修复 uring cmd 提交失败的 bug(PR1644/PR1668)
ext4:优化 dio 覆盖写性能(PR1601),修复 ext4_xattr_set_entry UAF(PR1614),修复多个 ext4 bigalloc 的 bug(PR1657)
xfs:修复 xfstests xfs/191 用例失败问题(PR1594)
fuse:解决 FUSE_PASSTHROUGH 特性位冲突(PR1470),支持 virtfuse 特性(PR1606/PR1656),修复多个 fuse bug(PR1652),修复 virtfuse 在未注册回调函数的 bug(PR1655)
overlayfs:支持 virtiofs 作为 upper layer(PR1650),修复 virtiofs 作为 upper layer 的 bug(PR1651),修复 generic/683 用例失败问题(PR1667)
misc:修复 nilfs2 sysfs 接口生命周期问题(PR1626),修复 nilfs2 UAF bug(PR1666)
2)容器镜像
ANCK 4.19 支持 erofs subpage block 特性,可应用于容器镜像场景中 erofs 直接索引容器镜像的 tar 包,省去容器镜像生命周期管理中 tar 包的 untar 以及清理流程,从而提升性能和稳定性,并提升容器镜像作为 golden image 的安全性。
xattr bloom filter 已经开发完成并发出 RFC 补丁,在 shared xattr 场景运行时性能有 ~20% 的优化;另外,xattr 和压缩单元持续清理代码中。
erofs-utils 报告 2 个 cve,目前已经初步解决,并在 erofs 的 fsck 工具中集成了 fuzz 框架来满足 malicious image 的 fuzz 需求,同时基于 fuzz 框架进一步加固 erofs-utils。
3)io_uring
ANCK 5.10 支持 io_uring nvme passthrough 特性的 PR 已经提交 revew,将在接下来发布的 5.10-15 版本发布;
从测试版本的 POC 数据来看,相比原生的 io_uring,性能有 ~15% 的提升。接下来将在分布式存储项目端到端验证。
4)dsms
dsms 已经在 Anolis 8.6 上完成了 dsms-engine、dsms-storage 以及 dsms-ui 等组件的功能联调,并且通过测试,目前已经成功构建 dsms-ui、dsms-engine;dsms-storage 构建目前缺少依赖包,将在 SIG 群里跟进解决。
待全部包构建成功后,将按照社区包引入流程提交申请,计划在 Anolis23 中发布预览版。
03 下一步计划
xattr bloom filter 合入上游主线;完成 erofs 支持 deflate 压缩特性开发,并支持 subpage。
借助开源之夏项目,erofs-utils 支持多线程打包和解压,以及 fuse 增强等特性。
io_uring nvme passthrough 特性合入 ANCK 5.10 主线。
dsms 继续完成构建打包,并提交包引入申请,适配 Anolis 23。
相关链接:
高性能存储 SIG 主页:
https://openanolis.cn/sig/high-perf-storage
注:更多龙蜥 SIG 月度动态可点击这里查看。
—— 完 ——
加入龙蜥社群
加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。