1  結合邏輯磁碟管理功能

ZFS不僅是一個檔案系統,本身還結合了邏輯磁碟管理功能。對包含有十多臺或數十臺以上硬碟的大容量儲存裝置來說,傳統的磁碟分割管理方式已不敷所需,必須透過在實體磁碟分割區上的邏輯磁碟管理層,以區塊映射方式在實體磁碟分割區上建立虛擬磁碟區,藉以實現組態更彈性、存取效率也更高的磁碟空間運用,並提供RAID與鏡像、快照等功能。

但多數作業系統內含的邏輯磁碟管理功能相對較為陽春,這也讓Veritas Volume Manager之類的第三方邏輯磁碟管理軟體大行其道,或者是得改用硬體RAID解決方案來提供類似功能。

相較下,ZFS的用戶就不需要額外購置這類邏輯磁碟管理軟體,也不需要引進硬體RAID,ZFS本身就能提供十分強大的邏輯磁碟管理功能,可提供RAID 0、鏡像(RAID 1)、RAID Z(RAID 5)、RAID Z2(RAID 6)與RAID Z3等多種磁碟組態,以及快照、Clone等功能。

 

 2  128位元定址提供強大容量擴展性

ZFS採用128位元定址,定址能力遠大於既有32位元或64位元檔案系統,可管理幾近無限的儲存容量,每個ZFS儲存池、檔案系統與單一檔案,可允許最大16EB(1600萬TB)的容量,每個檔案系統與目錄理論上可允許存放數以十億計的檔案與快照,更能因應資料量增長的需求(ZFS儲存池理論容量上限是256ZB,不過儲存池內單一磁碟區或檔案系統最大容量是16EB)。

相較下,其他常用檔案系統的擴展性大都不如ZFS,如EXT3的最大單一磁碟區與單一檔案的上限,分別為2~32TB與16GB~16TB(視採用的區塊大小而定);EXT4最大磁碟區與檔案大小,上限為16TB與1EB,不過實務上受管理工具所限最大磁碟區僅16TB;XFS最大磁碟區與檔案大小上限均為8EB;NTFS的最大磁碟區與檔案大小上限理論上雖然也是16EB,但實務上被限制在256TB與16TB。

即使與一些NAS專屬檔案系統相比,ZFS的容量擴展性也更勝一籌,如NetApp WAFL的單一磁碟區(aggregate)上限為16TB(DataONTAP 7.x)與100TB(DataONTAP 8以後),EMC UxFS早期的單一磁碟區/檔案系統上限也是16TB。目前只有Veritas的VxFS、FFS、UFS2等少數Unix用的檔案系統,擁有與ZFS相當或更大的單一磁碟區上限(理論值)。

 

 3  儲存池提供靈活容量管理

傳統檔案系統大都是直接建立在個別磁碟區上(單一實體磁碟分割區,或透過邏輯磁碟管理員利用多個磁碟裝置組成的邏輯磁碟區),雖然邏輯關係一目了然,但也存在著資源調配不靈活的問題,檔案系統的空間是透過磁碟區「硬性」分派,掛載給某個檔案系統的磁碟區,即使有額外空間,也無法挪給其他檔案系統使用。

ZFS的儲存管理則引進了儲存池(Storage Pool)概念,所有底層磁碟裝置先組成可採用不同RAID組態的儲存池,稱為zpool,透過儲存池配置器(Storage Pool Allocator)將各儲存設備的實體位址轉換為虛擬位址區塊,並構成邏輯上的單一連續空間,再透過資料管理單元(Data Management Unit)將虛擬位址區塊轉給檔案系統層使用。

由於檔案系統使用的磁碟空間是由zpool動態配置,所以zpool的所有儲存空間,可以為上層的所有檔案系統使用,運用更具彈性,管理也更簡便,管理者只須設定個別檔案系統允許使用空間的配額與保留空間數值,並決定是否啟用某些進階功能即可。

 

 4  自動化動態調節簡化管理提高效能

ZFS的寫入作業基於Copy-on-Write架構、可變長度區塊與動態Striping等機制,能依照底層磁碟效能、寫入檔案大小,自行動態調整使用的區塊大小,然後寫入zpool中的可用磁碟空間上,不僅管理更簡單、還能達到效能最佳化需求。

相較下,傳統RAID或邏輯磁碟管理都採用靜態Striping機制,檔案系統存取也是使用固定區塊尺寸,必須在設定前預先估計系統存取特性,設定固定的Stripe參數與區塊大小,設定完成後就不能更動,但若參數設定不當,卻又會對存取效能造成相當大的負面影響。

 

 5  多種資料完整性機制

ZFS的存取指令作業採用透過儲存池資料管理單元維持一致性的Transaction架構,透過稱為ZFS Intend Log(ZIL)的transaction log機制,來確保寫入資料的同步。此外ZFS的資料寫入又是基於Copy-on-Write架構,當任一區塊的資料發生異動時,新的資料會被寫入到空的區塊位置,而不會覆蓋原有區塊,ZFS會透過區塊指標來記錄新資料的區塊位置。藉由前述架構不僅可改善資料完整性,還能避免傳統作業系統意外中斷作業後,必須耗費長時間執行的檔案系統檢察與修復作業。

另外ZFS所有存取作業都含有Checksum機制,可修正因硬體、驅動程式或檔案系統metadata出錯所導致的silent data corruption錯誤問題,進一步保證資料的正確性。

 

 6  結合SSD的讀寫加速機制

ZFS可利用SSD來搭配內建的L2ARC與ZIL兩種功能,從而有效加速存取效能。對於讀取作業可透過L2ARC快取功能,利用主記憶體外的高速儲存裝置空間(如SSD),充當第2層ARC快取緩衝區,透過增大可用的ARC快取緩衝區容量來提高快取命中率。對於寫入作業,則可將ZIL指定配置到SSD等高速媒體上,從而加速寫入作業效率。

 

 7  內建多種進階服務

藉由Copy-on-Write寫入架構,ZFS可以很容易地實現快照與Clone兩種功能,而且沒有份數的限制(其實還是有上限,只是上限數字極大(2的64次方),等同於沒有限制),此外ZFS還內建了許多原先只有專業企業級儲存設備才提供的進階功能,包括重複資料刪除、壓縮、Thin provisioning、配額與保留空間等。

 

ZFS與其他常用檔案系統容量擴展性對比

 


相關報導請參考「獨樹一幟的儲存系統門類:枝繁葉茂的ZFS儲存設備」

熱門新聞

Advertisement