ZFS

ZFS

動态文件系統
ZFS文件系統的英文名稱為Zettabyte File System,也叫動态文件系統(Dynamic File System),是第一個128位文件系統。[1]最初是由Sun公司為Solaris 10操作系統開發的文件系統。作為OpenSolaris開源計劃的一部分,ZFS于2005年11月發布,被Sun稱為是終極文件系統,經曆了10年的活躍開發。而最新的開發将全面開放,并重新命名為OpenZFS。
    軟件名稱: 軟件平台: 軟件語言: 開發商: 軟件授權: 軟件版本: 軟件大小: 中文名:ZFS 發布時間:2005年11月 開放公司:Sun 别稱:動态文件系統

文件系統

ZFS是一款128bit文件系統,總容量是現有64bit文件系統的1.84x1019倍,其支持的單個存儲卷容量達到16EiB(264byte,即16x1024x1024TB);一個zpool存儲池可以擁有264個卷,總容量最大256ZiB(278byte);整個系統又可以擁有264個存儲池。可以說在相當長的未來時間内,ZFS幾乎不太可能出現存儲空間不足的問題。另外,它還擁有自優化,自動校驗數據完整性,存儲池/卷系統易管理等諸多優點。較ext3系統有較大運行速率,提高大約30%-40%。

ZFS是基于存儲池的,與典型的映射物理存儲設備的傳統文件系統不同,ZFS所有在存儲池中的文件系統都可以使用存儲池的資源。

什麼是ZFS

ZFS文件系統是一個革命性的全新的文件系統,它從根本上改變了文件系統的管理方式,這個文件系統的特色和其帶來的好處至今沒有其他文件系統可以與之媲美,ZFS被設計成強大的、可升級并易于管理的。

ZFS用“存儲池”的概念來管理物理存儲空間。過去,文件系統都是構建在物理設備之上的。為了管理這些物理設備,并為數據提供冗餘,“卷管理”的概念提供了一個單設備的映像。但是這種設計增加了複雜性,同時根本沒法使文件系統向更高層次發展,因為文件系統不能跨越數據的物理位置。

ZFS完全抛棄了“卷管理”,不再創建虛拟的卷,而是把所有設備集中到一個存儲池中來進行管理!“存儲池”描述了存儲的物理特征(設備的布局,數據的冗餘等等),并扮演一個能夠創建文件系統的專門存儲空間。從此,文件系統不再局限于單獨的物理設備,而且文件系統還允許物理設備把他們自帶的那些文件系統共享到這個“池”中。你也不再需要預先規劃好文件系統的大小,因為文件系統可以在“池”的空間内自動的增大。當增加新的存貯介質時,所有“池”中的所有文件系統能立即使用新增的空間,而不需要而外的操作。在很多情況下,存儲池扮演了一個虛拟内存。

系統的層次

不管層次如何,根總是池的名字。

1、為每個用戶及項目創建一個文件系統是個不錯的辦法!

2、ZFS可以為文件系統分組,屬于同一組的文件系統具有相似的性質,這有點像用戶組的概念!相似的文件系統能夠使用一個共同的名字。

3、大多數文件系統的特性都被用簡單的方式進行控制,這些特征控制了各種行為,包括文件系統被mount在哪裡,怎麼被共享,是否被壓縮,是否有限額。

4、創建單個的文件系統。

5、用zfs list命令查看可獲得的文件系統的信息,類似于過去的df-k命令了。

與傳統區别

1、傳統的文件系統被限制在單個磁盤設備之内,它們的尺寸是不能超越單個磁盤設備。

2、過去的文件系統是被影射到一個物理存儲單元,如:分區;所有的ZFS文件系統共享池内的可獲得的存儲空間。

3、ZFS文件系統不需要通過編輯/etc/vfstab文件來維護。

ZFS已經抛棄了卷管理,邏輯卷可以不再使用。因為ZFS在使用和管理raw設備能夠有更好的表現。

組成ZFS存儲池的元件有:磁盤、文件、虛拟設備,其中磁盤可以是整個硬盤(c1t0d0),也可以是單個slice(c0t0d0s7)。推薦使用整個硬盤,這樣可以省去分區操作(format)。

RAID-Z跟RAID-5的區别

傳統的raid-5都存在着“寫漏洞”,就是說如果raid-5的stripe在正寫數據時,如果這時候電源中斷,那麼奇偶校驗數據将跟該部分數據不同步,因此前邊的寫無效;RAID-Z用了“variable-width RAID stripes”技術,因此所有的寫都是full-stripe writes。之所以能實現這種技術,就是因為ZFS集成了文件系統和設備管理,使得文件系統的元數據有足夠的信息來控制“variable-width RAID stripes”。

創建過程

1、創建一個基本的存儲池,方法很簡單:

這時可以在/dev/dsk目錄下看到一個大的slice,數據動态的stripe跨過所有磁盤!

2、創建一個鏡像的存儲池也是很簡單,隻要在上邊命令基礎上增加“mirror”關鍵字就可以了。

3、創建RAID-Z存儲池使用“raidz”關鍵字就可以了,例如:

這裡/dev/dsk/c5t0d0其實跟用c5t0d0是一樣的,由此可以看出,在創建ZFS的時候,磁盤完全可以用物理設備名就可以,不需要指出全路徑。

4、檢測正在使用的設備

5、創建存儲池時默認的mount點

在創建存儲池時,如果mount點所在目錄不存在,系統會自動創建,如果存在,根數據集(root dataset)會自動mount到這個目錄上。

6、删除存儲池

用ZFS存儲池管理設備

1、增加設備到存儲池

2、增加和減少一路鏡像

3、管理設備的“上線”和“下線”

ZFS允許個别的設備處于offline或者online狀态。當硬件不可靠或者還沒有完全不能用的時候,ZFS會繼續向設備讀寫數據,但不過是臨時這麼做,因為設備還能将就使用。一旦設備不能使用,就要指示ZFS忽略該設備,并讓這個壞掉的設備下線。ZFS不會向offline的設備發送任何請求。注意:如果隻是為了更換設備(被換設備并沒有出問題),不需要把他們offline。如果offline設備,然後換了一個新設備上去,再把新設備online,這麼做會出錯!

4、清掃存儲池設備

如果設備因為出現錯誤,被offline了,可以用“zpool clear”命令清掃錯誤。

5、替換存儲池裡的設備

相關詞條

相關搜索

其它詞條