天天看點

高性能存儲SIG月動态:io_uring支援nvme直通,DSMS完成開發測試

作者:龍蜥社群小龍

高性能存儲 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 首頁:

注:更多龍蜥 SIG 月度動态可點選這裡檢視。

—— 完 ——

繼續閱讀