首頁 > 軟體

什麼是ZFS? 為什麼 ZFS 受歡迎

2020-06-16 16:45:22

今天,我們來看看ZFS,一個高階檔案系統。我們將討論它來自哪裡,它是什麼,以及為什麼它在技術人員和企業中如此受歡迎。

雖然我來自美國,但我更喜歡用ZedFS而不是ZeeFS發音,因為它聽起來更酷。你可以隨意發音。

注意:您將在文章中看到ZFS重複多次。當我談到功能和安裝時,我在談論OpenZFS。自Oracle關閉OpenSolaris以來,ZFS(由Oracle開發)和OpenZFS遵循不同的路徑。 (稍後會詳細介紹。)

ZFS的歷史

Z檔案系統(ZFS)由Matthew Ahrens和Jeff Bonwick於2001年建立.ZFS旨在成為Sun Microsystems的OpenSolaris的下一代檔案系統。 2008年,ZFS被移植到FreeBSD。同年,一個專案開始將ZFS移植到Linux。但是,由於ZFS根據與GNU通用公共許可證不相容的通用開發和分發許可證進行許可,因此它不能包含在Linux核心中。為了解決這個問題,大多數Linux發行版提供了安裝ZFS的方法。

甲骨文收購Sun Microsystems後不久,OpenSolaris成為了密切的來源。 ZFS的所有進一步開發也成為封閉源。 ZFS的許多開發人員對這一轉變事件感到不滿。由於這一決定,三分之二的核心ZFS開發者,包括Ahrens和Bonwick,離開了Oracle。他們與其他公司一起在2013年9月建立了OpenZFS專案。該專案率先開展了ZFS的開源開發。

讓我們回到上面提到的許可證問題。由於OpenZFS專案與Oracle是分開的,因此有些人可能想知道為什麼他們不會將許可證更改為與GPL相容的東西,因此它可以包含在Linux核心中。根據OpenZFS網站的說法,更改許可證將涉及將任何貢獻程式碼的人聯絡到當前的OpenZFS實施(包括初始的,常見的ZFS程式碼,直到OpenSolaris)並獲得他們更改許可證的許可。由於這項工作幾乎不可能(因為一些貢獻者可能已經死亡或很難找到),他們決定保留他們擁有的許可證。

什麼是ZFS?它的特點是什麼?

正如我之前所說,ZFS是一個高階檔案系統。 因此,它有一些有趣的功能。 如:

  • 儲存池
  • 寫入時複製
  • 快照
  • 資料完整性驗證和自動修復
  • RAID-Z
  • 最大單個檔案大小為 16 EB(1 EB = 1024 PB)
  • 最大 256 千萬億(256*1015 )的 ZB(1 ZB = 1024 EB)的儲存

讓我們分解一下這些功能。

儲存池

與大多數檔案系統不同,ZFS結合了檔案系統和卷管理器的功能。這意味著與其他檔案系統不同,ZFS可以建立跨越一系列驅動器或池的檔案系統。不僅如此,您還可以通過新增其他驅動器將儲存新增到池中。 ZFS將處理分割區和格式化。

ZFS中ZFSPooled儲存中的池儲存

寫入時複製

Copy-on-write是另一個有趣(而且很酷)的功能。在大多數檔案系統上,當資料被覆蓋時,它將永遠丟失。在ZFS上,新資訊被寫入不同的塊。寫入完成後,檔案系統後設資料將更新為指向新資訊。這可確保在寫入過程中如果系統崩潰(或其他事情發生),舊資料將被保留。這也意味著系統崩潰後系統不需要執行fsck。

快照

Copy-on-write引入另一個ZFS功能:快照。 ZFS使用快照來跟蹤檔案系統中的更改。 “快照包含檔案系統的原始版本,實時檔案系統包含自拍攝快照以來所做的任何更改。沒有使用額外的空間。當新資料寫入實時檔案系統時,會分配新塊來儲存此資料。“刪除檔案後,也會刪除快照參照。因此,快照主要用於跟蹤檔案的更改,但不包括檔案的新增和建立。

快照可以以唯讀方式掛載,以恢復檔案的過去版本。也可以將實時系統回滾到先前的快照。自快照以來所做的所有更改都將丟失。

資料完整性驗證和自動修復

每當將新資料寫入ZFS時,它都會為該資料建立校驗和。讀取該資料時,將驗證校驗和。如果校驗和不匹配,則ZFS知道已檢測到錯誤。然後,ZFS將自動嘗試更正錯誤。

RAID-Z

ZFS可以處理RAID而無需任何額外的軟體或硬體。不出所料,ZFS有自己的RAID實現:RAID-Z。 RAID-Z實際上是RAID-5的一種變體。但是,它旨在克服RAID-5寫入孔錯誤,“其中資料和奇偶校驗資訊在意外重新啟動後變得不一致”。要使用基本級別的RAID-Z(RAID-Z1),您需要至少兩個磁碟用於儲存,一個用於奇偶校驗。 RAID-Z2至少需要兩個儲存驅動器和兩個用於奇偶校驗的驅動器。 RAID-Z3至少需要兩個儲存驅動器和三個用於奇偶校驗的驅動器。當驅動器新增到RAID-Z池時,它們必須以2的倍數新增。

巨大的儲存潛力

建立ZFS時,它被設計為檔案系統中的最後一個單詞。在大多數64位元檔案系統的時候,ZFS建立者決定直接跳到128位元以便將來證明它。這意味著ZFS“提供的容量是32或64位元系統的16億億倍”。事實上,Jeff Bonwick(其中一位創始人)表示,為一個“完全填充128位元儲存池提供動力,實際上需要比沸騰海洋更多的能量。”

如何安裝ZFS?

如果你想開箱即用ZFS,就需要安裝FreeBSD或使用illumos核心的作業系統。 illumos是OpenSolaris核心的一個分支。

事實上,對ZFS的支援是一些有經驗的Linux使用者選擇BSD的主要原因之一。

如果要在Linux上嘗試ZFS,則只能將其用作儲存檔案系統。據我所知,沒有Linux發行版為您提供了在開箱即用的基礎上安裝ZFS的選項。如果您有興趣在Linux上嘗試ZFS,那麼Linux上的ZFS專案有很多關於如何做到這一點的教學。

警告

本文介紹了ZFS的優點。 現在讓我告訴你一個ZFS的快速問題。 使用RAID-Z可能會很昂貴,因為您需要購買多少驅動器來新增儲存空間。

你曾經使用過ZFS嗎? 你的經歷是什麼樣的? 請在下面的評論中告訴我們。

via:itsfoss

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-09/154254.htm


IT145.com E-mail:sddin#qq.com