以「Zettabyte」命名、問世之初被譽為「最後一種(The last word)檔案系統」的ZFS檔案系統,同時結合了檔案系統與邏輯磁碟管理(Volume Manager)兩種功能,加上獨特的儲存池管理概念、資料完整性機制、動態調節機制與內建多種複製服務,能為資料儲存與管理提供了一個靈活、可靠的基礎。

儘管發表至今已過了5、6年時間,但ZFS仍是當前最先進強大的通用型檔案系統之一,對任何欲建置檔案存取應用儲存設備的用戶來說,都是一個相當具有吸引力的選擇。而且ZFS還可提供開源使用,感興趣的使用者可自行將ZFS引進到自身的應用上。

打造專業儲存系統的捷徑

顯然的,對於儲存系統開發者來說,若直接利用ZFS來為自身產品提供底層儲存服務,便可立即獲得比起多數既有檔案系統更靈活、可靠、且同時具備邏輯磁碟管理功能的儲存服務,不僅可透過ZFS來提供儲存設備所需的儲存空間管理與軟體RAID功能,還可得到快照、Clone、重複資料刪除與壓縮等進階服務,開發者自身則可專注於硬體整合、系統與用戶權限管理、操作介面、網路連結等功能上,省去許多麻煩。

這也就是說,以ZFS為基礎來打造儲存系統,是建置專業檔案儲存設備的一條捷徑——ZFS的功能、效能、可靠性、錯誤回復能力與擴展性不僅是當前通用檔案系統中的佼佼者,即使與NetApp WAFL、EMC UxFS這類由儲存廠商專為檔案存取應用開發的專屬檔案系統相比,也毫不遜色,甚至尤有過之,更重要的是ZFS是開放的,這體現在兩個方面:

(1)ZFS可透過CDDL(通用發展與發布授權)方式無償使用與散布,並能整合在商用軟體中。

(2)ZFS可支援多種作業系統平臺,除了最初發布時原生支援的OpenSolaris與Solaris 10外,後續又延伸到FreeBSD、Mac OS X、Linux等多種作業系統平臺上,使用者可依自身需求選擇不同型態的ZFS環境組態。

因此ZFS問世後,很快便走出一般伺服器檔案系統應用的層面,被包括開發ZFS的原廠Sun/Oracle在內的眾多開發單位與廠商,選為自身專業儲存產品的底層基礎架構,從而在市場上,形成了一個包括眾多開源與商用儲存產品在內的「ZFS-based」儲存系統門類。

形形色色的ZFS儲存設備

從產品授權形態來看,「ZFS-based」儲存系統可分為免費開源資源,以及商用銷售產品兩大類,其中開源類型都是屬於純軟體類型,商用銷售型則又可分為純軟體與預載於硬體的應用伺服器兩種類型。

採用了ZFS檔案系統的開源型儲存服務軟體中,較著名的有EON ZFS Storage、FreeNAS、NexentaCore等幾款,商售的NexentaStor亦有免費版。

採用ZFS的商用型儲存產品,則以Oracle原廠的ZFS Storage Appliance為首,另外還包含了Aberdeen、Broadberry、Cartika、Compellent、Coraid、DataON Storage、GreenBytes、IceWEB、Nexenta、Syneto、ZenaVault,以及臺灣本土的普安、色卡司(Thecus)等眾多第三方廠商產品。

雖然有許多作業系統都能支援ZFS,不過考慮到產品散布、銷售與開發上的需要,除Oracle原廠外,多數ZFS儲存設備開發者都選擇開源類型的作業系統來與ZFS搭配。基於這樣的考量,最早原生支援ZFS、又能開源使用的OpenSolaris,便成為大多數第三方ZFS儲存設備開發者的選擇,故OpenSolaris+ZFS也成了ZFS儲存設備的主流架構。

繼Solaris/OpenSolaris後,FreeBSD也在2007年中發表的7.0版中,完整支援了ZFS,也有少數開發者選擇FreeBSD+ZFS的模式,作為自身ZFS儲存設備的基礎。

至於最廣泛使用的開源作業系統Linux,由於其採用的GNU授權協議與Sun的CDDL授權協議不相容,遲遲未能原生支援ZFS。雖然Linux平臺還是能透過FUSE(使用者空間檔案系統, Filesystem in Userspace)方式使用ZFS,但效能遠比不上原生支援方式,因此使用Linux/FUSE+ZFS模式的開發者相對少了許多。不過近來Linux在原生支援ZFS方面開始有了一些進展,加上OpenSolaris在2010年終止,日後或許Linux+ZFS模式會有更進一步發展。

其他能支援ZFS的開源作業系統,還有從OpenSolaris衍生的NexentaCore、MilaX、SchilliX、BeleniX、MartUX mBE與剛出現的OpenIndiana,以及從FreeBSD衍生的GNU/kFreeBSD與NetBSD等,但似乎只有NexentaCore與OpenIndiana,被部份ZFS儲存系統開發者選為儲存系統核心使用。

開源類型的ZFS儲存產品

開源類型主要有EON ZFS Storage、FreeNAS、NexentaCore等,其中除了FreeNAS以外,其餘幾款都是以ZFS為唯一的原生檔案系統(FreeNAS除ZFS外,還可支援UFS與EXT2/EXT3)。

EON ZFS Storage

EON ZFS Storage是一款非常典型的開源式ZFS儲存應用軟體,採用OpenSolaris作業系統搭配ZFS檔案系統,可在32或64位元x86平臺上執行,整套系統是基於嵌入式系統的需求而設計,可在光碟、CF卡、USB磁碟或DOM等小容量磁碟模組上安裝與執行,這也是其EON(Embedded Operating system/Networking)命名的由來。

EON ZFS Storage目前最新的版本是2010年6月發布的0.60 snv_130,一共分為4個版本——64位元的CIFS與Samba版、32位元CIFS與Samba版,還有省略apache http網頁伺服器功能的精簡版。

EON ZFS Storage只提供文字命令列管理,管理者可透過SSH遠端登入管理系統方式(開發者聲稱將來會有圖型化網頁式管理介面)。

除了在系統底層透過ZFS提供多種RAID層級的磁碟管理外,EON ZFS Storage可提供CIFS/Samba、NFS、Rsync等多種網路傳輸協定的支援,還有iSCSI Target功能可提供區塊存取服務,用戶群組權限管理也是基本功能。還能視需要安裝多種附加功能模組,讓系統扮演多種角色,如iTunes伺服器、網頁伺服器、下載伺服器等。

FreeNAS

FreeNAS是一套十分著名的開源NAS軟體,採用FreeBSD作業系統核心,底層可搭配多種不同檔案系統,包括UFS、EXT2/EXT3,以及ZFS等。

FreeNAS最新的版本是剛在2011年10月發布的8.0.2版,經多年發展後,目前的版本已擁有接近商用產品的功能,可提供網頁式圖型管理介面,還支援包括中文在內的18種語言,是同類開源軟體中發展較成熟的一款。

FreeNAS本身體積很小(只占100多MB空間),能支援嵌入式應用。系統底層透過FreeBSD的GEOM儲存管理層提供磁碟管理與軟體RAID功能,亦可選用ZFS,選用ZFS時,則改用ZFS的軟體RAID功能。系統上層可提供CIFS/Samba、NFS、AFP、FTP多種傳輸協定,亦提供iSCSI Target功能,以及用戶群組權限管理,還能透過附加模組,提供P2P、iTunes、PHP網頁伺服器等多種應用功能。

NexentaCore

又被稱為Nexenta OS,是一套基於OpenSolaris核心與Ubuntu套件庫的開源作業系統,底層可透過ZFS檔案系統提供磁碟管理功能,並藉由CIFS、NFS、iSCSI等多種傳輸協定,提供網路檔案共享存取應用。

NexentaCore本身是一種通用作業系統,最新的版本是2010年9月發布的3.0.1版。與多數開源作業系統相似,NexentaCore亦只有文字命令列介面(可透過安裝GNOME套件,提供本機上的圖形操作介面),雖然熟悉系統的人,仍可直接進行各項儲存設定與管理,但畢竟不方便。

針對這個問題,可透過安裝稱為napp-it的套件,來為NexentaCore提供遠端管理用的網頁式控制臺。napp-it將網路共享儲存管理所需的各項指令,都包在圖型化的網頁介面中。加上專為儲存管理設計的napp-it套件後,NexentaCore就變成功能接近商用NAS的儲存設備,napp-it介面雖然不像商用NAS那樣精緻,但功能十分完整,包括磁碟組態、網路組態到權限設定一應俱全,用戶還能透過這套介面操作多種附屬功能。

NexentaStor免費版

NexentaStor是以NexentaCore為基礎衍生的商用版本,開發商Nexenta亦提供免費下載的Community版本。

NexentaStor免費版可提供與商用版完全一樣的NAS與SAN管理功能,但有18TB的可用空間限制,另外也少了高可用性叢集、WORM(一次寫入、多次讀取)與虛擬LUN映射等附加功能。

與開源的NexentaCore相比,NexentaStor免費版亦是基於相同的OpenSolaris核心與ZFS檔案系統,但由於有專業公司負責維護與更新,原生提供更專業、也更方便使用的網頁式控制臺,與硬體搭配的相容性也更有保障。

商用銷售型ZFS儲存產品

如前所述,商用型ZFS儲存產品除Oracle原廠外,還有Aberdeen、Broadberry、Cartika、Compellent、Coraid、DataON Storage、GreenBytes、IceWEB、Nexenta、Syneto、ZenaVault,以及臺灣的普安、色卡司(Thecus)等第三方廠商的產品。其中Nexenta或許是其中最重要的一家,因為Compellent、Broadberry、DataON Storage與IceWEB等廠商都是採用NexentaStor解決方案。

由於相關廠商與產品眾多,我們接下來只介紹國內較容易找到的產品。

Oracle

Oracle可說是ZFS儲存設備的正宗原廠,在Sun被Oracle併購之前,Sun便於2008年推出了第一代的ZFS儲存應用伺服器—Open Strorage,後來進入Oracle時代後,又陸續推出第二代產品Unified Storage與目前最新的第三代產品Oracle NAS Storage,正式名稱是Sun ZFS Storage Appliance。

雖然是原廠產品,不過Oracle/Sun的ZFS Storage Appliance採用Intel x86-based平臺,而非Sun獨有的SPARC-based平臺。目前有S7120、S7320與S7420等三種款式,可支援從最小11臺硬碟到最大576臺硬碟等不同容量的組態,除最低階的S7120為單控制器、且僅支援SSD寫入加速功能外,其餘兩款都支援雙控制器高可靠性叢集架構,以及SSD讀取與SSD寫入加速功能。系統基本內建4組GbE埠作為存取介面,亦提供10GbE、8G FC與InfiniBand等多種選購選項。

在軟體方面,Sun ZFS Storage Appliance採用的作業系統,是對應最新Solaris 11的Solaris儲存專用版,除了透過NFS、CIFS協定的檔案共享存取功能外,還有SCSI目標設備功能模組,可將ZFS儲存池空間轉為區塊類型磁碟區,並透過iSCSI或FC協定提供給前端主機存取。所有管理作業基本上都必須透過網頁控制臺進行,除了遠端複製與Clone兩項功能為選購外,其餘所有功能都是免費內建。

Nexenta

如前所述,Nexenta的產品NexentaStor是從開源類型的NexentaCore衍生的商用軟體,目前有2.0、3.0與3.1等三個版本流通,按授權方式的差別,則又分為免費的Community版、45天試用版與Enterprise版。

透過底層的ZFS檔案系統,NexentaStor能提供儲存池管理與快照、Clone、Thin provisioning、壓縮、重複資料刪除與SSD讀寫加速等功能,藉由上層的作業系統核心與各式功能模組,NexentaStor則能同時支援包括CIFS、NFS、iSCSI、FC與AoE等多種檔案與區塊存取協定,以及高可用性叢集、同步/非同步遠端複製等進階應用。

除直接向用戶銷售NexentaStor軟體外,Nexenta還透過OEM方式向其他廠商提供NexentaStor軟體,這也讓這款軟體成了許多第三方ZFS儲存產品的核心,如Compellent、Broadberry、DataON Storage與IceWEB等廠商的ZFS儲存伺服器,都是基於NexentaStor。

普安

國內老牌磁碟陣列廠商普安在2010年初正式踏入NAS領域,推出了EonNAS系列產品。EonNAS家族採用OpenSolaris+ZFS的架構,透過ZFS在底層提供可靠、功能強大且易於管理的儲存服務。

EonNAS家族目前分為:入門級、採用桌上型與1U機架式機箱的EonNAS Pro系列,以及企業級、可外接擴充機箱的EonNAS 3000/5000系列。入門級機型都內建了2組GbE埠,企業級機型除了內建的4或8組GbE埠外,還能選購10GbE埠。

在軟體功能方面,包括快照、Clone、Thin provisioning、壓縮、重複資料刪除、遠端複製與iSCSI Target等功能都是EonNAS全家族機型基本內建,企業級機型還支援SSD讀寫加速功能。日後部份企業級機型還會提供雙控制器高可用性叢集功能。

色卡司

色卡司NAS產品採用Linux-based作業系統核心,可原生支援EXT3、EXT4與XFS等3種檔案系統,亦可透過FUSE方式支援ZFS檔案系統。

選用EXT3時有8TB單一磁碟區容量的限制,EXT4、XFS與ZFS的最大磁碟區都可超過8TB,但前2者不提供資料夾配額功能(只有用戶帳號配額功能),也沒有快照功能,只有選用ZFS時能提供快照,不過色卡司的ZFS是透過FUSE方式實現,效能上會受一定影響。

另一方面,當使用者選擇ZFS以後,色卡司NAS也只啟用了快照與配額兩項功能,並沒有完整使用ZFS的眾多進階功能。

目前色卡司全線NAS產品中,除了N12000、N16000、N8900、N4100Eco、N4100Pro與N2200PLUS等5款較新的產品,不支援ZFS外,其餘均提供ZFS選項。

Oracle時代的ZFS儲存設備發展

Oracle於2009年併購Sun、進而又在2010年中止OpenSolaris的事件,給ZFS-based儲存系統的未來發展,蒙上了一層陰影。由於Oracle對免費開源應用政策的態度與Sun大不相同,先是在2010年3月停止提供免費版Solaris 10,接下來又停止了對OpenSolaris的支持。在遲遲未能獲得Oracle正面回應的情形下,Opensolaris管理小組於2010年8月23日解散,這也意味著這個開源作業系統計畫的結束。

這對原廠Oracle Sun ZFS Storage Appliance雖然沒有影響,但由於許多第三方ZFS-based儲存系統開發者與廠商,都是依賴Opensolaris作為系統核心,Opensolaris的結束,顯然將會對於他們的產品開發造成嚴重衝擊。

Oracle雖然宣稱,將繼續允許既有開源Solaris程式碼在CDDL模式下開源使用,大部份新的Solaris程式碼也會透過CDDL繼續發布,但與先前Sun時代一個重大差別是,以往Solaris的新功能與更新,通常都會先透過OpenSolaris釋出,而後才會導入到官方版Solaris中(所以OpenSolaris也帶有為Solaris進行先期測試的意味)。而在Oracle接手後,任何Solaris新技術與更新則會先出現在官方版Solaris中,Oracle不會即時發布Solaris開源程式碼。

事實上,在Oracle剛發表的Solaris 11中,就包含了只在官方授權版中才會有的ZFS更新(如新增的加密功能)。目前用在Solaris上的ZFS已更新到version 30(儲存池版本),而用在FreeBSD、Nexenta等開源環境上的ZFS版本則停留在version 28,未來ZFS的升級也只會針對閉源的Solaris,這代表開源與商用同步發展的時代已經過去。

目前開源社群雖然成立了Illumos基金會,並啟動OpenIndiana計畫,試圖以OpenSolaris原來的程式碼為基礎,繼續發展一個不依賴原廠、完全獨立開發且與Solaris相容的開源作業系統。但少了Oracle原廠的支援,後續發展對於開源社群將是一個艱鉅的任務,從而也給依賴OpenSolaris的ZFS儲存設備開發者造成相當的衝擊。

針對OpenSolaris結束後的ZFS儲存系統發展,可能會出現以下幾種路線:

(1) 繼續維持OpenSolaris+ZFS架構,並透過OpenIndiana取得後續發展的支援,如最新版的Nexenta便採取這條發展路線。不過恐怕只有技術能力較強的開發者與廠商,才能繼續堅持這條開源路線,自行解決導入新功能,以及系統與各式各樣新型周邊硬體裝置牽涉到的相容性問題(如10GbE網路卡、16G FC HBA等新介面)。

(2) 繼續使用ZFS作為儲存底層,但改用其他作業系統取代OpenSolaris。候選的對象包括FreeBSD與Linux的各種版本等,不過這同樣會遭遇ZFS不再有開源更新的問題,而且要將既有產品轉移到其他平臺上也牽涉到大量工作。另一方面,Linux對ZFS的原生支援雖然有所進展,但還沒到足夠完善的程度,並不很適合商用化的ZFS儲存設備使用。

(3) 放棄ZFS,改用其他開源檔案系統作為儲存設備的底層基礎。這方面Btrfs是一個有力的候選者,Btrfs可說是為了向ZFS「看齊」而發展的Linux檔案系統,已被納入Linux Kernel 2.6.29中,擁有許多類似ZFS的特性(如儲存池、16EB最大容量、Copy-on-write架構、內含軟體RAID/快照/Clone功能等),且能由舊的Ext3/Ext4轉換。

目前Btrfs發展還不完善(如軟體RAID只有RAID 0與1兩種),一些功能得等到日後才會陸續加入(如更多類型的RAID、重複資料刪除與加密等),就儲存伺服器應用來說仍有所不足。

但更重要的是,儘管Btrfs最初是由後來加入Oracle的Chris Mason發起,不過整個Linux開源社群的規模與力量,遠大於OpenSolaris社群,無論Btrfs計畫發起廠商Oracle的態度日後發生什麼變化,也更能支撐這項計畫的後續發展。目前已有10種以上的Linux發行版支援Btrfs,新版的Fedora甚至準備將其作為預設檔案系統。

可預期Btrfs最終將會發展成可與ZFS相比的先進檔案系統,而Linux+Btrfs的組合,日後也有機會成為繼OpenSolaris+ZFS之後的新一代開放式儲存系統基礎,當然對既有ZFS儲存設備開發者來說,要轉移到新架構上也非一蹴可及。

 

既有的開源/免費類型ZFS儲存軟體

 

主要的商售ZFS儲存產品(以臺灣本地銷售產品為主)

(看大圖)

 


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

熱門新聞

Advertisement