本次高性能存儲月度動態綜合了 SIG 在 5、6 兩個月的工作進展,包含多項特性支持,性能優化,以及 Bugfix 等。
01?SIG?整體進展
-
引入 xfs deferred inode inactivation,進一步優化 xfs dax reflink 過程中的抖動時延。
-
Intel 將在 SIG 中獨立選型 mdadm & ledmon 并維護。
-
fuse 支持 resend pending 請求和讀寫分離優化,virtio-fs 支持多隊列。
-
erofs 支持 zstd 壓縮算法,并重構 utils 支持 lib 庫集成以及增量構建。
-
dsms 解決斷電場景數據丟失問題,并通過優化 ceph 內存分配解決碎片化場景 IO 延遲升高問題。
02?項目具體進展
2.1 Cloud?Kernel
2.1.1 erofs
[Bugfix] 修復 erofs_statfs() 中 UUID 問題,并優化 DEFLATE stream 分配邏輯。(PR3281/PR3285/PR3287)
[Feature] 支持 zstd 壓縮算法,已合入社區 6.10 主線。
[Feature] 重構 erofs utils,可提供 lib 庫供其他項目集成,如 DADI。
[Feature] 支持 centos oot。
[Feature] erofs utils 支持增量構建。
2.1.2?xfs
[Feature] quota functions 重構,該系列補丁為 deferred inode inactivation 的準備工作。(PR3154)
[Feature] 空間不足時 reclaim 策略優化,該系列補丁同樣為 deferred inode inactivation 的準備工作。(PR3156)
[Feature] posteof 和 cowblocks 重構,該系列補丁同樣為 deferred inode inactivation 的準備工作。(PR3158)
[Feature] incore inode walk 重構,該系列補丁同樣為 deferred inode inactivation 的準備工作。(PR3159)
[Feature] deferred inode inactivation。(PR3160)
[Bugfix] 修復 CONFIG_FS_DAX 關閉時編譯錯誤。(PR3164)
[Improment] 增加 XFS_IOC_SET_REFLINK_FLAGS 的檢查條件,并導出 xfs_wait_reflink_secondary()。(PR3205)
[Performance] 優化 xfs_log_force() 可能存在的數十 ms 阻塞導致的 reflink 抖動。(PR3273i/PR3306)
2.1.3 ext4
[Bugfix] 回合社區 stable 分支補丁。(PR3141)
2.1.4 io_uring
[Bugfix] 修復 io_uring percpu sqthread 特性,限制僅在同一個進程下多線程之間共享。(PR3127/PR3138)
2.1.5 fuse/virtio-fs
[Bugfix] 修復 statx 系統調用 ENOSYS 錯誤。(PR3118)
[Feature] 支持顯示禁用 export。(PR3166)
[Feature] 支持 resend pending 請求。(PR3264/PR3271)
[Feature] 支持多隊列。(PR3277/PR3278)
[Performance] bg_queue 讀寫分離優化。(PR3352)
2.1.6 misc
[Bugfix] overlayfs:修復 ovl_parse_param() 內存泄露。(PR3115)
[Bugfix] hugetlbfs:修復 hugetlbs_fill_super() 空指針解引用。(PR3126)
[Improvement] block:rq_hang 使用 %px 打印請求。(PR3129/PR3135)
[Improvement] cgroup writeback:限制僅在 cgwb_v1 場景使能 memcg_blkcg_tree 相關操作。(PR3142/PR3144/PR3147)
[Performance] kernfs 全局鎖競爭。(PR3132)
[Bugfix] ceph:修復 encode_cap_msg() use-after-free 問題。(PR3152
[Bugfix] md:修復 rdev->serial 內存泄露。(PR3318)
[Bugfix] ring_buffer:修復 ring_buffer_free_read_page() 中潛在的空指針解引用。(PR3308)
2.2 dsms
[Bugfix] 解決斷電場景數據丟失問題。
[Improvement] 優化 ceph 內存分配器,解決內存碎片化后導致 IO 延遲升高的問題。
更多詳細進展,請參見項目主頁:
https://gitee.com/anolis/dsms
2.3 mdadm & ledmon
Intel VROC 為基于 NVMe 的企業級 RAID 解決方案,同時也支持對 SATA 類 RAID 的監控。該方案依賴 mdadm 和 ledmon 兩個軟件包,因此決策在龍蜥 OS 中獨立選型并維護。
目前基線版本經確定,并在 SIG 中創建倉庫:
mdadm: Manager of Linux Software RAID implemented through Multiple Devices driver.
ledmon: Enclosure LED Utilities
后續由 Intel 的兩位 Maintainer 負責將補丁合入 dev 分支,經過測試后合并到 main 分支,作為龍蜥 OS 的發布包來源。
03?開源會議
SIG 成員 gaoxiang 分享了 Container Plumber Days 和 OSSNA 的參會紀要:
https://openanolis.cn/sig/high-perf-storage/doc/1109666477415585831
相關鏈接:
高性能存儲SIG主頁:
High Performance Storage SIG - OpenAnolis龍蜥操作系統開源社區
注:更多龍蜥 SIG 月度動態可點擊這里查看。
高性能存儲?SIG(Special Interest Group):致力于存儲棧性能挖掘,當前主要聚焦內核 io_uring 技術優化異步 IO 性能,使用持久化內存提升業務單成本性能,容器場景存儲技術優化等課題。高性能存儲 SIG 期望通過社區合作,打造標準的高性能存儲技術軟件棧,推動軟硬件協同發展。
更多龍蜥SIG主頁點擊查看:SIG - OpenAnolis龍蜥操作系統開源社區
—— 完 ——