高性能存储 SIG(Special Interest Group)指标:存储畛域的倒退历程,实质上是存储介质与软件栈相互促进倒退的过程。高性能存储 SIG 致力于存储栈性能开掘,以后次要聚焦内核 io_uring 技术优化异步 IO 性能,应用长久化内存晋升业务单老本性能,容器场景存储技术优化等课题。高性能存储 SIG 冀望通过社区单干,打造规范的高性能存储技术软件栈,推动软硬件协同倒退。
01 本月 SIG 整体停顿
1)本月合入 Anolis 主线 PR 共计 11 个,蕴含重要组件的个性反对,性能优化和 bugfix 等。
2)ANCK 5.10 反对 erofs subpage block 个性,晋升容器镜像 tar 包解压性能以及 golden image 的安全性。
3)ublk 零拷贝计划仍在社区探讨中。
4)ANCK 5.10 打算反对 io_uring nvme passthrough 个性,以进一步优化内核 IO 栈开销,晋升业务性能。
5)DSMS Anolis 8.6 联调继续进行中。
02 我的项目具体停顿
1、Anolis OS
cve:CVE-2023-1611(PR1548/PR1549)
erofs & fscache:优化按需场景 IO 性能(PR1557),erofs block-based IO 切换到 iomap 框架(PR1531),erofs 反对 subpage block for tarfs(PR1561)
io_uring:修复 IORING_OP_URING_CMD 的兼容问题(PR1564/PR9)
xfs:修复多个 xfstests 问题,xfs/191,xfs/144,xfs/549(PR15)
virtiofs:修复 cache=none 模式下 fd 长时间不开释的问题(PR1533)
misc:修复 nilfs2 sysfs 接口生命周期 bug(PR1559),修复 nfsd server crash 问题(PR1590)
2、容器镜像减速
随着 Linux v6.4 合并窗口开启,erofs 文件系统的 long xattr name prefixes 个性正式合入社区主线,优化存储 overlayfs xattr 元数据(例如 composefs 模式)反复 name 的额定开销:https://lwn.net/Articles/928610/。
ANCK 5.10 反对 erofs subpage block 个性,可利用于容器镜像场景中 erofs 间接索引容器镜像的 tar 包,省去容器镜像生命周期治理中 tar 包的 untar 以及清理流程,从而晋升性能和稳定性,并晋升容器镜像作为 golden image 的安全性。
ANCK 5.10 反对 erofs 的 flattened block device 模式,使得 multi-blob images 存储于同一个 block device,该个性能够利用于秘密容器的存储计划。
3、用户态存储
截止目前,上游社区一共提出了三种 ublk 零拷贝计划:https://lwn.net/Articles/926118/
近期 io_uring 社区外围开发者 Pavel 也提出一个计划,目前还在探讨中。目前判断该计划对 io_uring 侵入较小,最终接管到主线的可能性较高:https://lore.kernel.org/all/cover.1682701588.git.asml.silence…
另外,向上游社区 blktests 奉献了 6 个测试用例,笼罩 ublk 设施的失常删除、crash 后删除、文件系统挂载和故障复原等个性:https://lore.kernel.org/linux-block/20230505032808.356768-1-Z…
4、io_uring
基于分布式存储业务需要,开始调研 nvme passthrough 技术。咱们测试发现性能并没有设想中那么好,通过剖析咱们认为能够做得更好,并抛出了咱们的计划,取得了三星开发人员的认可:https://lore.kernel.org/io-uring/24179a47-ab37-fa32-d177-1086…
另外,咱们打算在 ANCK 5.10 中反对 nvme passthrough 技术。该技术基于曾经反对的 io_uring uring_cmd 计划,容许 nvme 申请通过 io_uring 间接发送到 nvme 块设施驱动,从而优化 nvme 设施读写经验的软件栈晋升性能。
5、DSMS
dsms 是一个分布式存储系统治理平台,旨在实现可视化的存储集群治理,晋升分布式存储软件的易用性。我的项目地址:https://gitee.com/anolis/dsms/
目前 dsms 继续在 Anlios 8.6 下面进行 dsms-engine、dsms-storage 以及 dsms-ui 等组件的性能联调。
另外,通过 SIG 例会探讨,ceph 15 确定在 dsms 我的项目中保护,先整体基于 Anolis 8 开发,后续再迁徙至 Anolis 23 并公布。
03 SIG 下一步打算
反对 erofs 的 bloom filter 个性,进一步晋升 erofs 的 xattr 拜访性能;在 ANCK 4.19 中反对 erofs subpage block 与 flattened block device 等个性。
ANCK 4.19 反对 virtual fuse 模块,其能够不便云原生场景下 FUSE 文件系统的部署,可利用于大数据和 AI 训练的存储接入;ANCK 4.19 加强 fuse 的缓存一致性,使其反对分布式文件系统后端,可利用于大数据和 AI 训练的存储接入计划。ANCK 5.10 反对 io_uring nvme passthrough 个性,并在分布式存储我的项目实现 POC,同时在社区推动更加高效的 nvme passthrough 计划。
dsms 持续进行 dsms-engine、dsms-storage 以及 dsms-ui 等组件的性能联调,并开始适配 Anolis 23。
详情内容见高性能存储技术 SIG,欢送各位感兴趣的开发者退出共建。
注:更多龙蜥 SIG 月度动静可点击这里查看。
—— 完 ——
为给大家提供更好的内容和服务,龙蜥社区诚挚地邀请大家参加问卷调研,请扫描下方二维码或点此链接填写,咱们将筛选出优质反馈,送出龙蜥周边!