高性能存儲 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 月度動態可點擊這裏查看。
—— 完 ——