龍蜥白皮書精選:跨雲-邊-端的只讀檔案系統 EROFS

OpenAnolis小助手發表於2023-03-28

文/徐靜波

01 背景概述

在雲原生、桌面、終端等應用領域,為了高效可信構建,分發和執行映象,解決方案一般傾向選擇只讀方案,其優勢在於分發和簽名校驗、防寫、器件故障可靠恢復等。通用檔案系統如 EXT4 和 XFS 往往不能充分滿足映象極 致大小、壓縮、去重及可復現構建等需求,且通用檔案系統冷門特性會增加格式複雜度,影響分發和執行環節的安全性和可控性,因此打造 Linux下高效能自包含核心只讀檔案系統能更好地服務容器、終端、叢集 OS 等業務場景。

02 技術方案

EROFS 是為高效能只讀場景量身打造的核心檔案系統,提供了多層映象、透明壓縮、塊去重、原生按需載入、FSDAX 記憶體直接訪問等特性,於 Linux 5.4 正式合入Linux主線。在容器映象領域,透過與 CNCF Dragonfly 的 Nydus 映象服務深度融合,打造了 RAFSv6、FS-Cache 等技術,服務容器 runC、Kata 等場景,未來還將發力 page cache 記憶體共享進一步提供記憶體超賣能力。在終端領域已成為 Android Open Source Project 推薦的系統分割槽檔案系統格式。

技術優勢:

  • Linux 核心原生,透過壓縮,塊去重,位元組滾動壓縮去重節省映象儲存空間。

  • 原地解壓等技術進一步最佳化執行態記憶體佔用,提升效能。

  • 提供核心原生按需載入能力,從源頭解決 FUSE 額外複製和上下文切換開銷。

應用場景:容器/App/系統映象、軟體包管理、AI 資料分發、函式計算、機密計算、無盤啟動、安裝器等。

03 基於 EROFS + FS-Cache 最佳化 Nydus 映象按需載入

EROFS over FS-Cache 是龍蜥社群牽頭為 Nydus 和 EROFS 開發的下一代容器映象按需載入技術,同時也是 Linux 核心原生的映象按需載入特性,於 5.19 合入核心社群主線。該方案將按需載入的快取管理透過 FS-Cache 框架下沉到核心態執行,當映象已在本地快取時,相比使用者態方案可有效避免核心態/ 使用者態上下文切換和記憶體複製;當快取未命中時,再通知使用者態透過網路獲取資料,做到真正的“按需”,非按需場景下實現幾乎無損的效能和穩定性。

龍蜥白皮書精選:跨雲-邊-端的只讀檔案系統 EROFS

在按需載入場景,EROFS over FS-Cache 相比 FUSE 效能更優(注:資料為三次測試取平均值):

龍蜥白皮書精選:跨雲-邊-端的只讀檔案系統 EROFS

在非按需場景,EROFS over FS-Cache 相比 FUSE 效能也更優:

龍蜥白皮書精選:跨雲-邊-端的只讀檔案系統 EROFS


高效能儲存 SIG 主頁連結 及2022 龍蜥社群全景白皮書可移步公眾號獲取。

—— 完 ——


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2942119/,如需轉載,請註明出處,否則將追究法律責任。

相關文章