在 Linux 中使用 Stratis 配置本地存儲
對桌面 Linux 用戶而言,極少或僅在安裝系統時配置本地存儲。Linux 存儲技術進展比較慢,以至於 20 年前的很多存儲工具仍在今天廣泛使用。但從那之後,存儲技術已經提升了不少,我們為何不享受新特性帶來的好處呢?
本文介紹 Startis,這是一個新項目,試圖讓所有 Linux 用戶從存儲技術進步中受益,適用場景可以是僅有一塊 SSD 的單台筆記本,也可以是包含上百塊硬碟的存儲陣列。Linux 支持新特性,但由於缺乏易於使用的解決方案,使其沒有被廣泛採用。Stratis 的目標就是讓 Linux 的高級存儲特性更加可用。
簡單可靠地使用高級存儲特性
Stratis 希望讓如下三件事變得更加容易:存儲初始化配置;後續變更;使用高級存儲特性,包括 快照 、 精簡配置 ,甚至 分層 。
Stratis:一個卷管理文件系統
Stratis 是一個 卷管理文件系統 (VMF),類似於 ZFS 和 Btrfs。它使用了存儲「池」的核心思想,該思想被各種 VMF 和 形如 LVM 的獨立卷管理器採用。使用一個或多個硬碟(或分區)創建存儲池,然後在存儲池中創建 卷 。與使用 fdisk 或 GParted 執行的傳統硬碟分區不同,存儲池中的卷分布無需用戶指定。
VMF 更進一步與文件系統層結合起來。用戶無需在卷上部署選取的文件系統,因為文件系統和卷已經被合併在一起,成為一個概念上的文件樹(ZFS 稱之為 數據集 ,Brtfs 稱之為 子卷 ,Stratis 稱之為文件系統),文件數據位於存儲池中,但文件大小僅受存儲池整體容量限制。
換一個角度來看:正如文件系統對其中單個文件的真實存儲塊的實際位置做了一層 抽象 ,而 VMF 對存儲池中單個文件系統的真實存儲塊的實際位置做了一層抽象。
基於存儲池,我們可以啟用其它有用的特性。特性中的一部分理所當然地來自典型的 VMF 實現 ,例如文件系統快照,畢竟存儲池中的多個文件系統可以共享 物理數據塊 ; 冗餘 ,分層, 完整性 等其它特性也很符合邏輯,因為存儲池是操作系統中管理所有文件系統上述特性的重要場所。
上述結果表明,相比獨立的卷管理器和文件系統層,VMF 的搭建和管理更簡單,啟用高級存儲特性也更容易。
Stratis 與 ZFS 和 Btrfs 有哪些不同?
作為新項目,Stratis 可以從已有項目中吸取經驗,我們將在第二部分深入介紹 Stratis 採用了 ZFS、Brtfs 和 LVM 的哪些設計。總結一下,Stratis 與其不同之處來自於對功能特性支持的觀察,來自於個人使用及計算機自動化運行方式的改變,以及來自於底層硬體的改變。
首先,Stratis 強調易用性和安全性。對個人用戶而言,這很重要,畢竟他們與 Stratis 交互的時間間隔可能很長。如果交互不那麼友好,尤其是有丟數據的可能性,大部分人寧願放棄使用新特性,繼續使用功能比較基礎的文件系統。
第二,當前 API 和 DevOps 式 自動化的重要性遠高於早些年。Stratis 提供了支持自動化的一流 API,這樣人們可以直接通過自動化工具使用 Stratis。
第三,SSD 的容量和市場份額都已經顯著提升。早期的文件系統中很多代碼用於優化機械介質訪問速度慢的問題,但對於基於快閃記憶體的介質,這些優化變得不那麼重要。即使當存儲池過大而不適合使用 SSD 的情況,仍可以考慮使用 SSD 充當 緩存層 ,可以提供不錯的性能提升。考慮到 SSD 的優良性能,Stratis 主要聚焦存儲池設計方面的 靈活性 和 可靠性 。
最後,與 ZFS 和 Btrfs 相比,Stratis 具有明顯不一樣的 實現模型 (我會在第二部分進一步分析)。這意味著對 Stratis 而言,雖然一些功能較難實現,但一些功能較容易實現。這也加快了 Stratis 的開發進度。
了解更多
如果希望更多了解 Stratis,可以查看本系列的第二部分。你還可以在 Stratis 官網 找到詳細的設計文檔。
如何參與
如果希望參與開發、測試 Stratis 或給出反饋,請訂閱我們的郵件列表。
GitHub 上的開發項目包括 守護進程 (使用 Rust 開發)和 命令行工具 (使用 Python 開發)兩部分。
可以在 Freenode IRC 網路的 #stratis-storage 頻道加入我們。
Andy Grover 將在今年的 LinuxFest Northwest 會議上演講。查看會議安排 或 註冊參會。
via: https://opensource.com/article/18/4/stratis-easy-use-local-storage-management-linux
作者:Andy Grover 選題:lujun9972 譯者:pinewall 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive