有鑒於ZFS檔案系統的強大功能與開放性,過去數年來有許多廠商陸續推出了以ZFS為基礎的儲存設備,從而在市場上形成了一個「ZFS-based儲存系統」門類。

其中開源類型的有EON ZFS Storage、FreeNAS 0.7.x、NexentaCore等儲存服務軟體,商售產品則有Aberdeen、Broadberry、Cartika、Compellent、Coraid、DataON Storage、GreenBytes、IceWEB、Nexenta、Syneto、ZenaVault,以及臺灣本土的普安、色卡司(Thecus)等眾多第三方廠商產品。身為Solaris與ZFS原始開發廠商的Sun亦是其中一員。

Sun最早在2008年推出了第一代的ZFS儲存應用伺服器—Open Storage,後來Sun為Oracle併購後,又陸續推出第二代產品Unified Storage與目前最新的第三代產品Oracle NAS Storage,正式名稱是Sun ZFS Storage Appliance,我們這次借測的S7320正是屬於第三代產品一員。

目前Sun ZFS Storage Appliance家族可分低階的S7120、中階的S7320與高階的S7420三個款式,能支援從最小11臺硬碟到最大576臺硬碟等不同容量的組態,除最低階的S7120為單控制器外,其餘兩款都支援雙控制器高可靠性叢集架構。

「正宗」原廠的ZFS儲存設備

我們這次借測的S7320,是Oracle Sun ZFS Storage Appliance家族中的中階機型,採用控制器+擴充磁碟櫃的硬體組態,1U機架式控制器擁有由4核Xeon處理器與24~144GB記憶體組成的硬體核心,並提供4個內建GbE埠、2個連接磁碟櫃用的SAS埠,以及遠端管理用的ILOM模組,還預留1個可用於安裝額外網路卡或HBA卡的PCIe擴充槽。

搭配的磁碟櫃為4U/24Bay規格,透過6Gb SAS介面與控制器連接,控制器可串接最多4組磁碟櫃,提供最大96臺硬碟的容量。

透過以Solaris作業系統與ZFS檔案系統為基礎的系統韌體,Sun ZFS Storage Appliance可提供橫跨NAS與SAN等不同類型的存取服務,並能支援GbE、10GbE、光纖通道(FC)與InfiniBand等多種網路介面。原廠還提供搭配ZFS檔案系統運作的讀取或加速用固態硬碟(SSD)模組選項。

彈性的擴充能力

Sun ZFS Storage Appliance的硬體核心採用Intel x86-64-based平臺,而非Sun獨有的SPARC-based平臺,全系列都基本內建4組GbE埠作為預設存取介面,搭配系統韌體可提供CIFS、NFS、FTP等檔案傳輸協定下的共享存取功能,以及透過iSCSI Target的iSCSI區塊存取功能。

此外,全系列所有款式機型的控制器,也都預留了可用於安裝額外介面卡的PCIe擴充槽,可讓用戶安裝選購的GbE、8G FC與InfiniBand等多種網路介面卡,藉以強化系統的網路連接能力,若安裝FC HBA介面卡,還能搭配系統內建的FC Target功能,充當FC SAN儲存設備。

以我們借測的S7320為例,1U的控制器機箱一共含有3個PCIe擴充槽,其中一個擴充槽,出廠時已安裝1片用於連接磁碟櫃的雙埠SAS HBA卡,另一個擴充槽則安裝了高可用性叢集對接用的Fishworks CLUSTRON 200模組,還有1個空的擴充槽,可用於安裝額外的網路卡。

透過這種彈性的網路連接擴充能力,搭配系統韌體提供的多種存取協定支援能力,也讓Sun ZFS Storage Appliance的功能超越了傳統NAS範疇,成為一款可同時支援NAS檔案存取,以及iSCSI、FC SAN等多種區塊存取環境的多協定儲存設備。

此外,Sun ZFS Storage Appliance採用了控制器/作業系統與磁碟櫃/ZFS儲存池分離的設計——系統韌體(作業系統)是放在控制器內獨立的硬碟上,而作為共享空間的ZFS儲存池則是位於外接磁碟櫃內,所以控制器的故障並不會影響到磁碟櫃中存放的資料,用戶也可以直接更換控制器而不會影響到磁碟櫃資料,待控制器更換後,再將儲存池重新匯入(import)到系統中即可,無論對維護或升級來說都十分方便。

獨特的SSD存取加速功能

除了網路擴充介面選項外,Oracle還為Sun ZFS Storage Appliance提供了搭配ZFS檔案系統的SSD存取加速模組選項。

ZFS檔案系統有L2ARC與ZIL(ZFS Intend Log)兩種功能,可分別對應讀取與寫入I/O的加速。

讀取加速

L2ARC是第2層ARC快取的縮寫。大多數作業系統或檔案系統,都會利用伺服器主記憶體(DRAM)中的部份區域充當快取緩衝區,保存最常與最近存取過的資料區塊,藉以加快存取回應速度,ZFS亦有一套專用於加速讀取I/O的快取緩衝區功能,稱為自適應更替快取(Adaptive Replacement Cache,ARC),不過考慮到系統主記憶體的容量有限,以致許多情況下都會限制快取命中率。

為此ZFS另外提供了L2ARC功能,可指定主記憶體外的高速儲存裝置空間(如NVRAM或SSD),充當第2層的ARC快取緩衝區,透過增大可用的ARC快取緩衝區容量,來提高快取命中率。

寫入加速

為確保資料的一致性,ZFS透過ZIL機制來執行寫入I/O。ZIL是預設配置在ZFS磁碟儲存池中的一個區域,用於保存寫入I/O的Transaction Log資料(如放置位置等),當因斷電、系統崩潰導致寫入I/O失敗時,系統便可從ZIL保存的log資料中,設法回復寫入作業。

不過也由於ZFS的資料寫入作業流程是透過ZIL進行,因此資料寫入ZIL區域的速度將直接影響到寫入效能,ㄧ般情況下ZIL是動態配置在ZFS磁碟儲存池中,顯然的,若有其他應用程式嚴重耗用儲存池I/O效能,連帶也會影響到ZIL運作。

為避免前述問題,ZFS提供了將ZIL存放到指定的獨立儲存裝置上的功能,因此用戶可選擇將ZIL設定存放在高速儲存裝置如SSD上,成為log資料專用的儲存裝置,如此便能加速寫入作業。

Oracle的SSD加速選項

L2ARC與ZIL是ZFS的基本功能,所有ZFS-based儲存產品都提供讓用戶指定高速儲存媒體作為L2ARC或ZIL的功能,Oracle亦為Sun ZFS Storage Appliance提供了L2ARC與ZIL專用的SSD模組。

目前全系列三種機型中,最低階的S7120只提供寫入加速(ZIL)用的73或96GB的SSD模組,中高階的S7320與S7420都能同時提供支援寫入加速與讀取加速(L2ARC)用的SSD模組。

以我們借測的S7320來說,針對寫入加速採用的是STEC的ZeusIOPS SAS介面SSD,安裝在磁碟櫃上,最小可安裝2臺18GB SSD模組,最大則可安裝16臺SSD模組,一共288GB容量;針對讀取加速則採用Toshiba的512GB SATA介面SSD,安裝在控制器上,每組控制器最大可安裝容量總計2TB的讀取加速用SSD模組。

從前述規格可發現,讀取加速用SSD的容量要比寫入加速用SSD大得多,這是由於讀取加速用的L2ARC功能,是在SSD中直接存放讀取I/O的資料本體,故須較大存放空間;而寫入加速用的ZIL功能則只保存寫入I/O的log(而非資料本體),故只需較少空間就能滿足需求。

在我們的實際測試中,安裝讀取/寫入加速用SSD與否,對循序存取與大區塊存取效能的影響並不大,不過對小區塊的隨機存取,就有十分顯著的影響,依測試工具參數設定的不同,讀取/寫入加速用SSD可有2倍到10倍的加速效果。

內建豐富進階應用功能

內建多種進階應用功能,是ZFS檔案系統吸引人的優勢之一,藉由引進ZFS檔案系統,用戶不僅能得到擴展性極大、擁有多種資料完整性機制,而且易於管理、又能靈活調配空間的儲存池,還能同時獲得包括快照、Clone、遠端複製(Replication)、Thin provisioning、重複資料刪除(De-Dupe)、壓縮、加密等多種進階應用功能。

除了Clone與遠端複製是必須依照控制器數量付費選購外,其餘功能Sun ZFS Storage Appliance都是免費內建,用戶只需在網頁控制臺中勾選便能啟用。

快照與Clone

藉由Copy-on-Write寫入架構,ZFS可以很容易地實現快照功能,而且沒有份數的限制(理論上可允許保存多達2的64次方份快照,因此只要磁碟空間足夠,可保有的快照份數可說是無限),使用者可為儲存池中的個別檔案系統或LUN,分別透過手動或設定排程自動啟動快照,為檔案系統或LUN建立不同時間點的複本。由於ZFS的快照是基於Copy-on-Write架構,所以執行上耗時很短,對系統的影響也很小。

由於ZFS的快照是唯讀的,只能用來將利用快照複本將檔案系統或LUN倒回(Roll Back)到特定時間點的狀態,不過以快照為基礎,可再建立可讀寫的Clone複本,ZFS的Clone同樣也沒有份數限制,可以在不影響原始磁碟區的情況下,利用Clone的複本用於測試或其他用途。

重複資料刪除

ZFS的重複資料刪除(De-Dupe)功能屬於In-line類型,使用者可以檔案系統(共享檔案資料夾)或LUN為單位決定是否啟用,當啟用De-Dupe後,系統會在資料區塊寫入磁碟區的同時,對寫入的區塊以SHA-256演算法進行重複資料檢驗,藉以判別資料區塊是否與已有的區塊重複,並只允許非重複的資料區塊寫入,從而達到節省空間的目的。

考慮到重複資料檢驗會消耗處理器運算效能,Oracle建議,為每1TB啟用De-Dupe功能的磁碟區配置2GB的DRAM記憶體,以便讓記錄metadata的De-Dupe Table能放到記憶體中處理,若20TB大的磁碟區要啟用De-Dupe,則最好有32GB以上的記憶體,藉以維持效能。

就我們以S7320所進行的實際測試來看,ZFS De-Dupe功能的節省空間效果,在當前可提供De-Dupe功能的儲存產品中只能算是中後段,固然比不上Data Domain、FalconStor或Quantum等廠商推出的一些專門以提供De-Dupe服務為目的的備份用儲存伺服器,也遜於CA ARCserve Backup、Acronis Backup & Recovery等備份軟體內附的De-Dupe功能,大致與NetApp的A-SIS,以及Symantec NetBackup 7、Backup Exec 2010內建的De-Dupe功能在伯仲之間。

不過從另一方面來說,ZFS是一種通用型檔案系統,Oracle Sun ZFS Storage Appliance也是一種通用型儲存設備,而非Domain、FalconStor或Quantum的那種備份專用儲存設備,De-Dupe只是ZFS一個非核心的附加功能,用戶可以免費的啟用這個功能,從而省去另外購置De-Dupe專用設備的成本。

就免費即可取得這點來看,ZFS的De-Dupe功能可說是相當實惠的選擇。而且用戶亦能同時啟用ZFS的壓縮功能來搭配De-Dupe,如此可以額外再進一步的提供空間節省效果。

即時磁碟壓縮

除了重複資料刪除,ZFS也提供了即時的磁碟壓縮功能,作為另一種降低空間消耗的選項。當前許多作業系統都能內建了即時磁碟壓縮功能,不過Sun ZFS Storage Appliance的特色,是提供了4種壓縮演算法供用戶選擇(分別為LZJB、GZIP-2、GZIP與GZIP-9等4種),從執行速度最快的LZJB,到壓縮率最高的GZIP-9等,使用者可以共享磁碟區或LUN為單位,決定是否啟用(預設是關閉)、與選擇使用哪一種壓縮方法。

而且壓縮還可與De-Dupe同時併用,進一步提高空間節省效果,以我們的測試來看,以我們的混合文件樣本檔案為基準,在已啟用De-Dupe的情形下,再啟用壓縮功能,可以額外獲得9%~18%的空間節省效果。

不過由於De-Dupe與壓縮都是消耗處理器運算能力的工作,因此若兩者同時併用將會給系統帶來更大的運算負擔,造成較明顯的存取延遲。

Thin provisioning

ZFS的Thin provisioning功能只適用於區塊型的LUN,而不適用於檔案存取用的檔案系統(共享資料夾)。用戶可以個別LUN為單位決定是否啟用Thin provisioning,啟用後,用戶劃分給LUN的空間將只是邏輯空間,而未實際占用底層儲存池的實體空間,只有當資料實際寫入LUN後,才會真正占用儲存池實體空間。藉由這種機制,可避免實體空間的浪費,從而提供磁碟資源的利用率。

配額與保留空間

ZFS的檔案系統(共享資料夾)雖然沒有Thin provisioning功能,但可透過配額(Quota)與保留空間(Reservation)兩個功能來達到類似的效果。

藉由配額可指定個別檔案系統最大允許的磁碟空間上限;保留空間則可指定儲存池中保留給個別檔案系統最小空間,其他檔案系統或LUN不能占用到這個最小保留空間。

由於ZFS儲存池是以動態配置方式來使用實體磁碟空間,因此除了設定了保留空間的檔案系統,以及非Thin provisioning的LUN會硬性占用磁碟空間外,儲存池的所有實體空間,對於儲存池內的所有檔案系統都是可用的,只有寫進資料後才會占用實體空間,不像其他檔案系統必須先建立硬性分派容量的磁碟區、再於磁碟區上建立檔案系統,ZFS整體磁碟空間的運用明顯更有彈性也更有效率。

搭配Oracle資料庫的HCC壓縮

前述各項進階功能,其他廠商產品大都也可提供,不過Sun ZFS Storage Appliance另有一項獨門功能,可支援Oracle資料庫的混合欄壓縮(Hybrid Columnar Compression,HCC)功能。HCC是Oracle資料庫專屬的一種壓縮技術,可減少空間占用,並提高掃描與查詢速度。

當Sun ZFS Storage Appliance搭配Oracle資料庫使用時,可利用儲存硬體來執行HCC的解壓縮作業。不過受限於環境,我們這次報導並未進行這方面的實測。

 

控制器機箱背面配置

包括: 1 4組內建GbE埠; 2 遠端管理用的ILOM模組; 3 安裝在2號PCIe擴充槽內的雙埠SAS HBA卡(用於連接外接磁碟櫃); 4 安裝在1號PCIe擴充埠的Fishworks CLUSTRON 200模組(用於在高可用性叢集下與另一臺控制器對接); 5 空的0號PCIe擴充槽; 6 2組熱備援電源供應器。

 

讀取/寫入加速用的SSD模組

S7320可選購讀取或寫入加速用的SSD模組,照片中左為寫入加速用的18GB容量 STEC ZeusIOPS SAS SSD,右為讀取加速用的512GB容量Toshiba SATA SSD。

 

採用網頁式控制臺介面

除了第1次使用時須先透過ILOM遠端管理介面設定管理用網址等基本參數外,後續所有系統設定與管理作業都是透過網頁控制臺進行。控制臺介面設計的十分精緻,還有圖型化動態顯示系統運作狀態的Status儀表板。

 

具有系統監控功能

除了Status儀表板,控制臺還內建Analytics系統監控功能,提供了多達數十項極為精細的系統運作監控選項,並且可將結果輸出成報表,供問題追蹤或稽核使用。

 

提供圖像化的硬體組態顯示

控制臺的Maintenance選項提供了完全圖像化的系統硬體組態與狀態檢視功能,採用完全比照實機硬體的圖像,動態呈現系統硬體各部元件的組態與狀態。

 

S7320的傳輸速率測試

測試短評

以20臺7200轉硬碟的配置來看,這樣的表現大致上是中規中矩,啟用2個以上的GbE埠時亦能有接近線性的傳輸速率增長。

受測組態

安裝20臺7200轉Seagate 2TB SAS硬碟。

測試方式

全部硬碟切成1個鏡像儲存池,透過1個GbE埠直接連接測試平臺,iSCSI測試時建立1個100GB LUN掛載到測試平臺,CIFS測試時啟用一個共享資料夾掛載成為網路磁碟機。

測試平臺

Iometer 2004.07.30,執行64KBytes的100%循序讀取與循序寫入,測試系統的資料吞吐量。

 

SSD讀寫加速效果測試

測試短評

從測試結果可看出幾個趨勢:首先,對於大區塊(64kB以上)的存取,無論寫入或讀取I/O,以SSD為基礎的L2ARC或ZIL讀寫加速效果都不大,這時候的存取瓶頸主要在於傳輸頻寬。

其次,針對小資料區塊存取,在循序讀取測試環境下,讀取或寫入加速用SSD的效果有限,反倒是啟用寫入快取與否,對iSCSI LUN寫入效能有極大影響。

若啟用寫入快取,雖能有效提高循序寫入效能,但也較不安全(斷電會導致資料損失),因此預設是關閉的。此外,寫入快取也會讓ZIL寫入加速效果變的更不明顯,因此我們在執行iSCSI測試期間,也是預設關閉LUN的寫入快取功能。在未啟用寫入快取時,透過SSD/ZIL可有效改善循序寫入效能。

到了隨機存取環境,SSD加速的效果就十分突出。在iSCSI區塊存取模式下,依iometer設定參數的不同,啟用SSD的L2ARC功能可讓讀取I/O效能有2.2~3倍的提升效果,而啟用SSD的ZIL功能則可讓寫入I/O效能提高將近4~10倍。

在CIFS檔案存取模式下,SSD的加速效果相對較不顯著,不過在讀取與寫入上也分別有1.89與1.77倍,接近2倍的提升幅度。

整體來說,SSD/ZIL寫入加速功能的適用性,較SSD/L2ARC讀取加速更廣,除非使用者應用環境必須應付大量小區塊的隨機讀取(如網頁服務),才有使用SSD/L2ARC的需求,否則多數情況下都只需SSD/ZIL即可。若是較單純的檔案共享存取環境,由於隨機存取比例有限,無論SSD/ZIL或SSD/L2ARC的幫助都不大。

測試用SSD模組

讀取加速用(L2ARC)SSD:Toshiba THNS512GG8BBAA 512GB SATA×2寫入加速用(ZIL)SSD:STEC ZeusIOPS 18GB SAS×2

測試工具

Iometer 2004.07.30,執行512Bytes的100%循序讀取與循序寫入,以及100%的隨機讀取與寫入。

 

磁碟壓縮測試

測試短評

我們分別測試了啟用GZIP-9與LZJB兩種壓縮演算法,以及GZIP-9壓縮同時結合重複資料刪除等設定下的壓縮效果,並與只啟用重複資料刪除時的空間節省比率作一對比。

從測試結果可以發現,就單一檔案來說,壓縮的空間節省效果甚至比重複資料刪除更好。不過由於壓縮並沒有含蓋整個磁碟區的全域比對能力,僅對單一檔案、單一次作業的狀況下有效,無法檢測出後續寫入資料是否與已有資料重複,在資料型態大致相同時,只能得到一個固定的空間節省比率,不像重複資料刪除具有重複越多、後續節省比率越大的效果。

同時啟用壓縮與重複資料刪除,可有最佳的空間節省效果,不過相對的對效能影響也較大。

測試設定

在S7320的儲存池內建立一個檔案系統,啟用壓縮功能、並選擇壓縮率最好的GZIP-9與速度最快的LZJB演算法,透過CIFS協定掛載到測試平臺上成為網路磁碟機。然後以手動方式依序將樣本檔案備份到此網路磁碟機上,再由控制臺的Status頁面檢視重複刪除率,並換算為容量。

測試方法

同重複資料刪除測試。

 

重複資料刪除測試

測試短評

我們將S7320的重複刪除效果,與其他同樣能提供重複資料刪除功能的產品做一對照。啟用ZFS重複資料刪除功能執行5次備份後,相較於未執行重複資料刪除,可得到4.79倍的重複刪除比率,節省大約79.1%的空間消耗。

這樣的空間節省效果,固然比不上Data Domain或FalconStor專為重複資料刪除應用而設計的專用儲存伺服器,也遜於CA ARCserve Backup備份軟體內建的重複資料刪除功能,不過仍能發揮一定程度的節省空間效果,最重要的是ZFS的重複資料刪除功能是免費內建,對有需要的使用者來說,仍是個頗為實惠的選擇。

測試設定

在S7320的儲存池內建立一個檔案系統,啟用重複資料刪除功能,透過CIFS協定掛載到測試平臺上成為網路磁碟機。然後以手動方式依序將樣本檔案備份到此網路磁碟機上,再由控制臺的Status頁面檢視重複刪除率,並換算為容量。

測試方法

測試基底為5GB的樣本檔案,每次備份均新增5%(即250MB)資料,且每次備份均執行基底檔案+新增檔案的全備份。新增資料均為與已有資料完全不同的新資料,在5%資料新增率環境下,驗證產品的重複資料刪除功能的資料刪減效果。

 

Oracle Sun ZFS Storage Appliance規格概覽

 

產品資訊

Oracle Sun ZFS

建議售價:廠商未提供

原廠:Oracle

網址:www.oracle.com 

電話:(02)2312-7588

尺寸:1U(控制器),4U(磁碟櫃)

處理器:Intel Xeon 4核心 E5620 2.4GHz×2

記憶體:24GB(最大144GB)

硬碟容量:20~96臺SAS-2硬碟

RAID層級支援:0/1/z1/z2/z3

傳輸埠:GbE×4,SAS擴充埠×2

支援傳輸協定:CIFS/NFS/AFP/FTP/iSCSI

【註:規格與價格由廠商提供,因時有異動,正確資訊請洽廠商。】

 

熱門新聞

Advertisement