高性能存储 SIG 月度动态:优化 fuse 提升 AI 存储接入能力,erofs 工具发布新版本
本次月报综合了 SIG 在 7、8 两个月的工作进展,包含多项新特性、优化、Bugfix 等。
SIG 整体进展
- fuse 支持 failover,并优化 background 读写公平性,提升 AI 存储接入场景的能力。
- erofs page cache 共享特性已发到上游社区,review 迭代中,目前已更新到 v4 版本。
- erofs-utils 发布 1.8.1 新版本,支持多线程压缩,Intel IAA 加速器,增量构建及优化构建性能等。
- 基于 io_uring passthrough 框架完成 virtio-blk passthrough 方案原型开发,后续将发到社区上游。
- 回合多个内核存储模块的社区补丁,加固代码质量。
项目具体进展
1、Cloud Kernel
cve
[Bugfix] 修复 CVE-2024-41012(PR#3784)
erofs
[Release] erofs-utils 发布新版本 1.8.1,支持多个新特性,如多线程压缩,Intel IAA 加速器,增量构建,以及构建性能优化等。
链接:https://gitee.com/anolis/erofs-utils
[Feature] 支持 large folio。该特性在压测过程中发现一例 hang,经过调查分析确认为内存 migrate 导致,已提交补丁到上游社区并修复。
链接:https://lore.kernel.org/all/20240729021306.398286-1-hsiangkao@linux.alibaba.com/T/#u
[Feature] page cache 共享特性已发到社区,目前已更新到 v4 版本,继续 review 迭代中。
链接:https://lore.kernel.org/linux-erofs/20240902110620.2202586-1-hongzhen@linux.alibaba.com/T/#t
ext4
[Bugfix] 社区 stable 补丁回合。(PR#3456/PR#3477/PR#3593/PR#3596)
io_uring
[Bugfix] 社区 stable 补丁回合。(PR#3476)
[Feature] 类似 nvme passthrough,基于 io_uring passthrough 框架实现 virtio-blk passthrough 方案,旨在用于前后端高效通信场景。目前已完成原型开发,并扩展 fio ioengine io_uring_cmd 支持 virtio-blk passthrough 设备,本地验证性能提升 ~17%,后续将发出 RFC 到上游 virtio 社区。
fuse/virtio-fs
[Feature] 支持 failover 特性。该特性允许 fuse daemon 在异常恢复后,可以通过 attach 操作重新连接到原 fuse connection,重发请求等操作完成故障恢复。(PR#3433/PR#3512)
[Bugfix] 社区 stable 补丁回合。(PR#3510)
[Feature] fuse background 读写公平性优化,避免因大量回写饿死读 IO。该特性需通过 FUSE_SEPARATE_BACKGROUND 特性位开启。(PR#3532)
[Feature] 支持 max_write 对齐,这对某些后端有很大性能提升。(PR#3533)
block
[Bugfix] 社区 stable 补丁回合(PR#3471/PR#3597)
[Bugfix] 修复 mq-deadline 调度器在多硬件队列设备上发生的 IO hang(PR#3542)
[Bugfix] 修复更新 block 限流配置时,可能因计算 bps 限流时出现负值导致限流不符合预期问题(PR#3654)
misc
[Bugfix] virtio-blk 模块社区 stable 补丁回合。(PR#3479)
[Bugfix] kernfs、procfs、debugfs 等模块社区 stable 补丁回合。(PR#3475/PR#3545/PR#3614)
[Bugfix] device mapper 即 dm 模块社区 stable 补丁回合。(PR#3514)
[Bugfix] multiple device 即 md 模块社区 stable 补丁回合。(PR#3515/PR#3585/PR#3583)
[Bugfix] nfs 模块社区 stable 补丁回合。(PR#3519/PR#3538/PR#3540/PR#3547)
[Bugfix] cifs 模块社区 stable 补丁回合。(PR#3536/PR#3621/PR#3625/PR#3642/PR#3678)
[Bugfix] ntfs 模块社区 stable 补丁回合。(PR#3537/PR#3613)
[Bugfix] loop 模块社区 stable 补丁回合。(PR#3543)
[Bugfix] null_blk 模块社区 stable 补丁回合。(PR#3544)
[Bugfix] vfs 社区 stable 补丁回合。(PR#3572/PR#3573/PR#3574/PR#3575/PR#3576/PR#3579/PR#3580/PR#3604/PR#3679)
[Bugfix] overlayfs 模块社区 stable 补丁回合。(PR#3581)
[Bugfix] quota 模块社区 stable 补丁回合。(PR#3590)
[Bugfix] dax 模块社区 stable 补丁回合。(PR#3599)
[Bugfix] ceph 模块社区 stable 补丁回合。(PR#3632/PR#3677)
[Bugfix] nbd 模块社区 stable 补丁回合。(PR#3659)
2、dsms
[Bugfix] 修复 ceph-deploy 工具在 bucket disable 后重新部署不会 enable 的 bug。
[Release] dsms 新版本将确定选择 ceph16 作为 dsms-storage 的基线,适配工作基本完成,且基本功能测试正常。
[Proposal] ceph 和 rbd 模块社区补丁回合,将通过 dsms 项目例行跟踪维护。
更多详细进展,请参见项目主页:https://gitee.com/anolis/dsms
3、mdadm & ledmon
[Release] mdadm & ledmon 确定将直接使用上游的 tag 作为 release 版本,与其他发行版保持一致。对于重要的 bugfix,再采用从主线 cherry-pick 的方式。
[Proposal] multiple device 即 dm 模块社区补丁回合,将通过 mdadm 项目例行跟踪维护。
相关链接:
高性能存储 SIG 主页:https://openanolis.cn/sig/high-perf-storage
注:更多龙蜥 SIG 月度动态可点击这里查看。
高性能存储 SIG(Special Interest Group):致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。高性能存储 SIG 期望通过社区合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。
更多龙蜥SIG主页点击查看:https://openanolis.cn/sig