Z 檔案系統 或 ZFS 是設計來克服許多在以往設計中發現的主要問題的一個先進的檔案系統。
最初由 Sun™ 所開發,後來的開放源始碼 ZFS 開發已移到 OpenZFS 計劃。
ZFS 的設計目標主要有三個:
資料完整性:所有資料都會有一個資料的校驗碼 (checksum),資被寫入時會計算校驗碼然後一併寫入,往後讀取資料時又會再計算一次校驗碼,若校驗碼與當初寫入時不相符,便可偵測到資料錯誤,此時若有可用的資料備援 (Data redundancy),ZFS 會嘗試自動修正錯誤。
儲存池:實體的儲存裝置都會被加入到一個儲存池 (Pool),然後會使用這個共用的儲存池來配置儲存空間,空間可給所有的檔案系統使用,而空間可透過加入新的儲存裝置到儲存池來增加。
效能:提供多個快取機制來增加效能。先進、以記憶體為基礎的讀取快取可使用 ARC。第二層以磁碟為基礎的讀取快取可使用 L2ARC,以磁碟為基礎的同步寫入快取則可使用 ZIL。
完整的功能清單與術語在 節 19.8, “ZFS 特色與術語” 中有詳述。
ZFS 與任何以往的檔案系統有顯著的不同,它並不只是一個檔案系統,結合了傳統磁碟區管理程式 (Volume Manager) 及檔案系統兩個獨立的角色,造就了 ZFS 獨特的優點,讓檔案系統現在可以察覺磁碟底層結構的變動。傳統在一個磁碟上只能建立一個檔案系統,若有兩個磁碟則會需要建立兩個分開的檔案系統,這個問題在傳統硬體 RAID 上可以透過呈現一個單一的邏輯磁碟給作業系統來解決,這個磁碟的空間實際上由數個實體磁碟所組成,而作業系統便可在這個邏輯磁碟上放置檔案系統,即使在像 GEOM 提供的軟體 RAID 解決方案也是一樣,把 RAID transform 當做是一個單一的裝置,把 UFS 檔案系統放在上面。ZFS 結合了 Volume Manager 與檔案系統來解決這個問題並讓建立的許多檔案系統可以共用一個儲存池 (Pool)。ZFS 最大的優點是可以察覺實體磁碟配置的變動,當有額外的磁碟加入到儲存池時可以自動擴增即有的檔案系統,所有的檔案系統便可使用這個新的空間。ZFS 也有數個不同的屬性可以套用到各別檔案系統上,比起單一檔案系統,對建立數個不同檔案系統與資料集 (Dataset) 時有許多的好處。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。