2019年9月3日 星期二

Software Raid: ZFS


ZFS:

歷史
ZFS的設計與開發由Sun公司的Jeff Bonwick所領導的一支團隊完成。
最早宣布於2004年9月14日,[1]於2005年10月31日併入了Solaris開發的主幹原始碼。
[2]並在2005年11月16日作為OpenSolaris build 27的一部分釋出。Sun在OpenSolaris社群開張1年後的2006年六月,將ZFS整合進了Solaris 10 6/06版本更新。[3]
ZFS的命名來源發想於"Zettabyte File System"的首字母縮寫。[4]但ZFS本身並不具備任何的縮寫意涵,只是作者想闡述做為一個具備高擴充容量檔案系統且還有支援許多延伸功能的一個產品。

儲存池
不同於傳統檔案系統需要駐留於單獨裝置或者需要一個卷管理系統去使用一個以上的裝置,
ZFS建立在虛擬的,被稱為「zpools」的儲存池之上(儲存池最早在AdvFS實現[5],並且加到後來的Btrfs)。
每個儲存池由若干虛擬裝置(virtual devices,vdevs)組成。這些虛擬裝置可以是原始磁碟,也可能是一個RAID1鏡像裝置,或是非標準RAID等級的多磁碟組。
於是zpool上的檔案系統可以使用這些虛擬裝置的總儲存容量。

可以使用磁碟限額以及設定磁碟預留空間來限制儲存池中單個檔案系統所占用的空間。

ZFS 是一個從本質上與眾不同的檔案系統,由於它並非只是一個檔案系統,
ZFS 結合了檔案系統及磁碟區管理程式,讓額外的儲存裝置可以即時的加入到系統並可讓既有的檔案系統立即使用這些在儲存池中空間。
透過結合傳統區分為二的兩個角色,ZFS 能夠克服以往 RAID 磁碟群組無法擴充的限制。每個在儲存池頂層的裝置稱作 vdev,其可以是一個簡單的磁碟或是一個 RAID 如鏡像或 RAID-Z 陣列。

ZFS 的檔案系統 (稱作 資料集 (Dataset)) 每一個資料集均可存取整個存池所共通的可用空間,隨著使用儲存池來配置空間區塊,儲存池能給每個檔案系統使用的可用空間就會減少,這個方法可以避免擴大分割區會使的可用空間分散分割區之間的常見問題。


沒有留言:

張貼留言