• 您現在的位置是:首頁 >要聞 > 2021-09-09 03:58:45 來源:

    探索OpenZFS之后Linux遷移的新特性

    導讀 5月23日發布時,Linux 0 8(ZoL)上的ZFS帶來了許多新功能和性能提升。這是在德爾福宣布將于2018年3月將其產品遷移到Linux之后完成的。今

    5月23日發布時,Linux 0.8(ZoL)上的ZFS帶來了許多新功能和性能提升。這是在德爾福宣布將于2018年3月將其產品遷移到Linux之后完成的。今天最激動人心的五月特輯(如ZFS本地加密)。

    有關完整列表(包括此處未涵蓋的新功能和性能改進),您可以訪問Github上的ZOL 0 . 8 . 0版本。(請注意,ZoL 0.8.1是上周發布的,但是因為Linux上的ZFS遵循語義版本控制,所以它只是一個錯誤修復版本。)

    不幸的是,對于Ubuntu愛好者來說,這些新功能在Canonical的存儲庫中不會出現很長時間——將于2019年10月發布的臨時版本Eoan Ermine在其存儲庫中仍顯示0.7.12。我們可以希望Ubuntu 20.04 LTS(尚未命名)會與0.8.x分支合并,但目前還沒有正式的詞匯。如果你正在運行Ubuntu 18.04(或更高版本)并且迫不及待,廣泛使用的黃邦賢F PPA有一個0.8.1的功能。Debian的實驗版是0.8.0,Arch Linux的zfs-dkms AUR包是0.8.1,Gentoo在sys-fs/zfs中的測試是0.8.1。其他Linux發行版的用戶可以直接從https://zfsonlinux.org/.的master上找到構建軟件包的說明。

    前面提到的Linux遷移已經將德爾福令人印象深刻的OpenZFS開發人員陣容增加到一個龐大的團隊,該團隊已經在Linux上完成了ZFS的工作。11月,FreeBSD宣布承認Linux為OpenZFS的旗艦開發平臺。FreeBSD通過在Linux中重建自己的基于ZFS的OpenZFS代碼庫而不是Illumos來做到這一點。對于BSD愛好者來說,更好的消息是,必要的移植工作將包含在Linux本身的ZFS主代碼庫中。隨著工作的進行,PR將從FreeBSD的新ZoL fork中合并。

    最近幾個月,Linux上的ZFS和整個OpenZFS項目都非常忙碌。歷史上,OpenZFS的大部分新開發工作都是由Delphix的員工完成的,他們將Illumos作為自己的首選平臺。從那里,新代碼相對較快地移植到FreeBSD,而移植到Linux相對較慢。

    但是多年來,它已經為ZFS在Linux項目上積累了力量。而改進和糾錯的過程反了方向——0.8中幾乎所有真正令人興奮的新功能都源于Linux,而不是從其他地方移植過來的。

    ZFS向云的復制就在這里,而且速度很快。

    讓我們深入研究最重要的內容。

    ZFS本地加密。

    原生ZFS加密是0.8中最重要的新功能之一。到目前為止,ZFS用戶一直依賴OS提供的ZFS以上或以下的加密文件系統層。這種方法雖然有效,但也帶來了困難——ZFS層下的加密(GELI或LUKS)降低了ZFS本地確保數據安全的能力。同時,ZFS層之上的加密(在ZVOL上創建的GELI或LUKS卷)使得ZFS本地壓縮(啟用后通常會提高性能和可用存儲空間)變得不可能。

    然而,本地加密的實用性不僅會隨著加密文件系統的更好集成和易用性而停止。該功能還附帶原始加密ZFS副本。當您在本地加密ZFS文件系統時,您可以將文件系統完全復制到遠程ZFS池,而無需解密(或解壓縮)數據或要求遠程系統擁有密鑰來解密數據。

    反過來,此功能意味著ZFS復制可用于保持不受信任的遠程備份系統最新。這使得對遠程系統具有根和/或物理訪問權限的攻擊者不可能竊取那里備份的數據。

    ZFS裝置拆除。

    ZFS愛好者最常見的抱怨是,如果您對向現有ZFS池添加新磁盤的命令不滿意,則無法撤消該命令。您被困在一個只有一個磁盤vdev且沒有奇偶校驗或冗余的池中。

    過去,唯一的緩解措施是將更多磁盤連接到新的單磁盤vdev,并將其升級為鏡像。如果先用一堆鏡子,可能還不錯。但是,如果您的池基于RAIDz(條帶化)vdev,或者如果您碰巧沒有錢和/或沒有新磁盤,它將太冷。

    從0.8.0開始,新的zpool刪除命令可以在有限的情況下用于設備刪除。然而,明智的做法是,移除設備并不容易,也不應該輕易刪除。刪除設備池最終會導致丟失相當于CNAME的內存塊;最初引用存儲在已刪除磁盤上的數據塊的文件系統調用最終將首先找到原始數據塊,然后重定向到該數據塊的新位置。這對錯誤添加和立即刪除的設備影響應該相對較小,但如果用于刪除具有數千個已用數據塊的設備,可能會對性能產生嚴重影響。

    ZFS的TRIM支持。

    對Linux上的ZFS的長期抱怨之一是它缺乏對固態硬盤的TRIM支持。如果沒有TRIM,固態硬盤的性能會隨著時間的推移而顯著下降——在未經TRIM使用幾年后,固態硬盤可能會很容易降低到其原始性能的1/3或更多。

    小。

    如果您的比較點是傳統硬盤,則沒關系。一個好的固態硬盤通常具有的吞吐量是非常快的防銹磁盤的五到六倍,IOPS是一萬倍。那么,朋友中可憐的67%罰款是多少?但是,如果您要依靠系統的預配置性能,則會遇到麻煩。

    幸運的是,0.8為ZFS帶來了對手動和自動TRIM的支持。大多數用戶和管理員將希望使用 autotrim池屬性來啟用自動實時TRIM支持。具有較少存儲使用窗口的對性能非常敏感的系統,可以選擇使用zpool trim在非工作時間安排常規的TRIM任務 。

    ZFS池檢查點

    檢查點不如我們已經提到的功能那么迷人,但是它們肯定可以節省您的培根。將檢查點想像為池范圍的快照。但是,當快照保留單個數據集或ZVOL的狀態時,檢查點將保留整個池的狀態。

    如果要啟用更改磁盤格式(通常是不可逆的)的新功能標志,則可以首先 zpool檢查點池,使您可以將其回滾到升級前的狀態。檢查點還可以用于回滾原本不可逆的數據集或zvol級別的操作,例如destroy。當您僅打算銷毀其快照之一時,zfs偶然 銷毀了整個數據集?如果您有檢查點,則可以將該操作回滾。

    猜你喜歡

  • 成人app