經過近兩年的開發,在Linux 0.8.0上發布了ZFS,它是ZFS文件系統的實現,被設計為Linux內核的模塊。
作為Linux上ZFS的一部分,準備了ZFS組件的實現。 與文件系統操作和捲管理器操作相關。 特別是 被實施 以下組件: SPA(存儲池分配器),DMU(數據管理單元),ZVOL(ZFS仿真卷)和ZPL(ZFS POSIX層)。
另外, 該項目提供了使用ZFS作為Lustre群集文件系統的後端的功能。
項目基礎基於從OpenSolaris項目導入的原始ZFS代碼,並通過Illumos社區的增強功能和修補程序進行了增強。 根據與美國能源部的合同,利弗莫爾國家實驗室的員工正在參與開發該項目。
該代碼是在CDDL的免費許可下分發的, 它與GPLv2不兼容,後者不允許將Linux上的ZFS集成到主要的Linux內核中,因為GPLv2和CDDL許可下的代碼組合是不可接受的。
為避免這種許可不兼容,決定完全根據CDDL許可將產品作為獨立的可加載模塊分發,與內核分開提供。 據估計,Linux上ZFS代碼的穩定性可與其他Linux文件系統相媲美。
該模塊已經過2.6.32至5.1的Linux內核測試。。 準備就緒的安裝軟件包將很快為主要的Linux發行版準備,包括Debian,Ubuntu,Fedora,RHEL / CentOS。
主要新聞
作為此版本中添加的更改的一部分,您可以找到 內置支持,用於加密存儲在分區和文件系統級別的數據。 默認的加密算法是aes-256-ccm。 為了加載加密密鑰,建議使用命令“ zfs load-key”。
還 通過執行命令來實現傳輸加密數據的能力 “ zfs發送”和“ zfs接收”。
指定»-w«選項後,該組中已加密的數據將按原樣傳輸到另一個組,而無需中間解密,該中間解密使您可以使用此模式來備份不受信任的系統(如果收件人同意,則無需密鑰,攻擊者將無法訪問數據)。
還 增加了對並行塊分配操作的支持 通過對每組元平板執行單獨的“分配器”過程。
在傳統系統中 性能提高了5到10%, 但在大型磁盤(8,128 GB SSD,24 NUMA內核,256 GB RAM)中,塊分配操作的增加可以達到25%。
另一個要強調的新穎之處是 創建Lua腳本以使用ZFS自動執行各種作業的能力。 這些腳本使用“ zpool program”命令在特殊的沙箱中運行。
隨之而來的是在項目級別對會計和配額的支持,以補充先前在用戶和組級別可用的配額。
本質上,項目是與單獨的標識符(項目ID)相關聯的單獨的對象空間。
最後,其他引人注目的變化是對性能進行了優化:
- 由於將scrub和resilver命令分成兩個階段,因此加快了速度(分配了一個單獨的階段來掃描元數據,並確定磁盤上數據所在的塊的位置,從而可以通過順序讀取數據來進行其他驗證)。
- 支持數據分配類(分配類),它允許您在池中包括相對較小的SSD,並使用它們僅存儲某些類型的常用塊,例如元數據,DDT數據和帶有文件的小塊。
- 通過緩存工作所需的元數據,已改進了諸如“ zfs列表”和“ zfs get”之類的管理命令的性能。