這是一個不平衡的世界,極少數富人占有絕大多數的財富、少數幾家領導品牌廠商占有整個業界絕大多數的利潤……,類似的,這種由80/20法則所描述的不平衡現象,在IT儲存應用領域也是普遍的情況——儲存設備的大部份效能,其實是由一小部份應用所消耗。這也是說:絕大多數的應用其實都不會耗去太多I/O效能,所以我們只需為那少數極耗I/O效能的關鍵應用,準備少量高效能儲存裝置即可,至於其他應用的儲存需求,則可用便宜的低價儲存設備來滿足。

混合儲存的效益——把高效能裝置用在刀口上

從儲存裝置本身的特性來看,SSD效能高,但單位容量成本也高;傳統硬碟單位容量成本低,效能也相對較差。

以80/20法則來看儲存系統的配置,採用全SSD的配置是不合理的——由於實際上只有一小部份應用會需要SSD的高效能,不分應用緊要與否、一律給予SSD資源,顯然不合成本效益;但傳統的全硬碟配置也已逐漸不敷使用,傳統硬碟雖然足以應付I/O需求不高的一般應用,但受先天架構所限,必須透過組成大規模陣列的笨拙方式,才能拼湊出關鍵應用所需的高I/O效能,為了一小部份關鍵應用的高I/O需求,往往必須耗費數十臺甚至上百臺硬碟組成陣列,即便滿足了I/O效能,但也耗費了大量空間與電力,顯然也不合乎效益。

因此為了兼顧效能與成本,同時使用SSD與傳統硬碟的混合儲存架構,才是當前IT環境最合理的做法,在儲存設備中混用小比例的SSD(一般來說占總儲存容量10~15%即可),即足以因應一小部份關鍵應用的高I/O需求,其餘應用則透過傳統硬碟來提供儲存服務。

自動分層技術讓混合架構真正實用化

就原則來看,同時使用SSD與傳統硬碟的分層架構,是最合理與最具效益的儲存配置。但在實務上,這種混合架構將面對如何將各式各樣的資料放置到合適儲存層的困難。

理論上,我們可使用人工來進行分層儲存配置工作,由MIS預判各主機應用程式的I/O需求,然後分別配置不同層級的儲存資源,並視I/O運行狀態的變化來調整儲存資源配置。

然而這種人工調整儲存資源配置的方式,對於個人端或極小規模的應用環境或許適用,但對於企業IT環境實際上是不可行的。

首先,企業環境規模龐大,儲存系統必須服務數量眾多的主機與應用程式;其次,各主機與應用程式的I/O需求會隨時間而變化。面對數量眾多、且會隨時間變化的前端主機應用程式,為了讓儲存資源維持在最佳配置,將必須持續追蹤各主機應用程式的I/O負載變化,並針對I/O負載變化,頻繁地調整儲存配置,這將帶來非常龐大的管理作業負擔,遠超過人工作業所能負擔的程度。

因此唯有透過自動化的分層儲存與資料遷移技術,才能讓分層儲存架構真正步入實用化,由軟體來執行I/O存取負載的追蹤與統計工作,並依照預設政策或演算法,自動在各儲存層間遷移資料,從而自動讓整個儲存資源的配置達到最佳化。這也就是說,如何「自動化」,才是分層儲存的關鍵。

自動分層儲存技術的4大面向

自動分層儲存技術的原理十分單純,首先必須建立一個跨多個儲存層的磁碟區,然後由一個I/O監控單元,追蹤與統計磁碟區各區塊的I/O負載,接下來再由一個資料搬移單元,依照各區塊的I/O負載程度,定期執行資料遷移作業,將各區塊放置到合適的儲存層。

儘管原理並不複雜,不過由於設計理念與儲存基礎架構互有差異,各廠商的自動分層儲存技術在架構與運作方式上,也存在許多不同,我們可以透過儲存分層的型式、分層作業的粒度、分層遷移作業的周期,以及管理政策權限這4個面向,來檢視與比較各廠商的自動分層儲存技術特性。

儲存分層的型式

最基本的分層型式,是將儲存裝置簡單地分為SSD與硬碟兩層,如較早版本的IBM Easy Tier,以及普安ESDS 3000的Automated Storage Tiering,都是採取兩層式架構。

只分為SSD與硬碟兩層的主要出發點,是認為無論哪種轉速的機械式硬碟,速度都遠低於SSD,因此無需對硬碟類型再作細分,而且只分兩層的話,分層判斷與管理也會單純的多。

不過就實際環境來說,儘管I/O效能均遠不如硬碟,但1萬轉與1.5萬轉的高轉速硬碟,與7200轉的低成本硬碟之間,在單位成本上仍存在相當大的差距,因此絕大多數廠商的分層架構都是採用SSD、高轉速硬碟與低轉速硬碟的3層式區分,將硬碟再分成高速與低成本兩種類型。比起2層式架構,3層式能提供更細緻的分層,來因應主流磁碟裝置的典型效能——成本區分,但分層運作也會更複雜。

少數廠商的自動分層功能,如EMC VMAX的FAST VP與普安ESVA的Automated Storage Tiering,還能支援最多4個分層,分層上又更細緻,但架構與運作相對會變得十分複雜。

分層最細緻的是Dell Compellent Storage Center的Data Progression自動分層技術,Data Progression也是3層式的架構,但區分方式與眾不同。自Storage Center OS 6.4版以後,Data Progression採取由SLC SSD、MLC SSD與傳統硬碟構成的3層架構,前2層分別是兩種型式的SSD,所有傳統硬碟則歸到第3層。藉由這種獨特的同時採用2種SSD架構,Data Progression設定由寫入效能優越的SLC SSD來承擔所有寫入I/O,而由可兼顧高讀取效能與成本的MLC SSD來承擔高讀取I/O,搭配低成本傳統硬碟來存放低I/O負載的資料。

除了依照磁碟裝置類型分為基本的3層外,Data Progression在每一儲存層內還可依照RAID型式與組成RAID群組的磁碟數量等,進一步畫分更細的分層,Data Progression這種在大分層內又夾有小分層的架構,在當前的分層儲存技術中也是獨有的,其他廠商大多只允許在每個儲存層中使用1種RAID群組。

分層作業的粒度

自動分層儲存功能執行存取行為分析與資料搬移時,所採用的「粒度(granularity)」,也就是容量單位,一般來說是越小越有利,以幾百KB為單位的區塊來執行搬移作業,顯然比以數GB為單位的整個Volume或LUN更為理想,不僅消耗的資源較少,也能達到更高的儲存資源配置效率,也能更精確地遷移那些真正需要遷移的資料區塊。

在一個數十或數百GB的Volume或LUN中,經常被存取的通常只是其中一小部分的區塊,因此在執行資料分層遷移作業時,若自動分層儲存系統能以更小的區塊作為單位,便能更精確地將真正經常存取的那些區塊、保留在高效能儲存區域上,其餘部分則遷移到低價的儲存區域保存,從而更有效率的使用儲存空間。如果粒度較大,則在遷移資料時,很容易會連帶搬動到不需要遷移到資料區塊,以至造成儲存資源的浪費。

但另一方面,若運作的精細度越小,則系統相對應須追蹤的區塊數目與相對應的metadata也越多,相對也更會增加控制器的負荷。

目前的自動分層儲存技術都是屬於「Sub-LUN」或「Sub-Volume」等級,也就是可以比LUN或Volume更小的單位,來執行資料遷移作業,不過彼此間差異甚大,粒度最精細的可以到數百KB或數MB等級,如Dell Compellent的Data Progression(512KB~4MB)、普安的Automated Storage Tiering(256KB~2MB),以及EMC VMAX的FAST VP(7.5MB)等。

比較常見的粒度是數十MB到上百MB等級,如HDS的Hitachi Dynamic Tiering(32MB與42MB)、HP 3PAR的Adaptive Optimization(128MB),還有一些是數百MB等級以上,如EMC VNX的FAST VP(256MB)、IBM Storwize V7000的Easy Tier(最小16MB、最大8GB,建議值為256MB),以及IBM DS 8700/8800的Easy Tier(1GB)等。

分層遷移作業的周期

對於自動分層儲存技術來說,如何決定重新遷移資料分層的作業周期,是一個兩難的問題。

考慮到資料搬移動作會消耗儲存設備相當程度的I/O效能,若搬移動作過於頻繁,將會衝擊到正常存取作業;此外,考慮到有些高負載存取行為只是暫時性現象,若分層遷移作業間隔過短,可能會導致系統以突發的非常態存取行為作為遷移資料的依據,導致I/O資源的浪費。

因此重新遷移分層的作業,最好間隔一個足夠長的間隔,以便讓系統能更精確的掌握長期、常態性的存取負載特性,減少短期、突發性行為的干擾。

但若資料搬移作業時程間隔過長,又無法即時反應儲存區域「熱點」的變化,以致無法讓儲存空間配置,持續維持在最佳效率的組態上。

因此遷移作業太密集會占用過多效能,但間隔太長又無法達到讓分層組態最佳化的目的。目前絕大多數的自動分層技術,都預設以24小時為週期,每隔24小時執行一次資料搬移,換言之,系統必須每隔24小時運作後,才將資料分層調節到最佳配置上,如IBM的EasyTier、Dell Compellent的Data Progression、HP 3PAR的Adaptive Optimization,以及EMC的FAST VP等。

較特別的是HDS的Hitachi Dynamic Tiering,除了可以日為單位設定重新遷移周期外,也允許以小時、30分鐘為單位設定作業週期,甚至還提供連續作業模式,只要經過一個I/O循環,就能反映最新存取行為的變化,不過就像前面所說的,越密集的遷移周期,系統負擔也越大,實務中未必是合適的選擇。

管理政策權限

自動分層技術的管理政策權限有兩種典型作法,一種是允許管理者介入各個運作細節的設定,讓管理者能依據不同前端主機與應用程式的需要,調整自動分層作業的設定。如EMC的FAST VP、HDS的Hitachi Dynamic Tiering等。

另一種則是由系統包辦幾乎全部的作業,管理者只能選擇使用哪些分層,其餘環節均無法介入,如IBM的Easy Tier等,用戶連作業排程都無法設定。

還有一些則是介於兩者之間,Dell Compellent的Data Progression、HP 3PAR的Adaptive Optimization等,用戶能決定使用哪些儲存層及排程,但其餘細節則由系統包辦。

提供給管理者設定的權限越大越好?還是越少、由系統自動處理更好?這是類似自排車好或手排車好的見仁見智問題,設定選項越多,可以給管理者更充分的駕馭系統能力,不過管理負擔也越大。反之,管理選項越少,管理負擔越輕,但管理者也失去調節運作的能力。

漸趨普遍的自動分層儲存技術

幾乎任何儲存設備都能提供同時混合SSD與硬碟的「分層」組態,但要實現「自動分層」,便有較高的技術門檻,只有一部份產品能提供這樣的能力。

除了NetApp以外,目前幾乎所有一線儲存大廠,包括Dell、EMC、HDS、HP、IBM等,都已推出了搭配旗下主要SAN磁碟陣列產品的自動分層儲存技術,國內的普安也為旗下產品提供了這項功能,在這次採購特輯中,我們將介紹到上述6家廠商,一共8款含有自動分層功能的儲存產品。

[圖表]主要自動分層儲存技術概覽(點此看圖)

 

另一種混合儲存架構——Flash快取型儲存產品

除了我們在前面介紹的透過自動分層技術,來實現SSD+傳統硬碟分層儲存最佳化的混合式儲存產品外,SSD+硬碟的混合式儲存產品還有另一種應用形態,也就是將SSD當作快取使用的架構。

這種Flash快取型儲存產品,也同樣含有SSD與傳統硬碟兩種儲存裝置,但SSD在其中並不是作為一個可提供LUN或Volume空間給前端主機使用的儲存層,而是作為快取區域,目的是透過大容量的SSD作為輔助DRAM快取記憶體的第二層快取記憶體,藉由SSD來擴大快取記憶體容量,以便提高快取命中率,進而減少存取底層硬碟的機率。

與基於自動分層技術的混合儲存架構相比,基於Flash快取技術的混合式儲存架構有著大不相同的特性,不過最終目的同樣都是透過結合SSD與傳統硬碟這兩種儲存裝置,來達到兼顧成本與效能的目的。

目前這種產品有兩種型式,一是搭配既有儲存產品的附加功能,如EMC用於搭配VMAX與VNX儲存產品家族的FAST Cache,以及NetApp用於搭配FAS系列儲存產品的Flash Cache與Flash Pool,只要為儲存設備搭載SSD,並購買這些Flash快取功能的授權即可使用。

另外任何基於ZFS檔案系統的儲存設備,如Oracle的ZFS Storage系列,也都能透過ZFS內含的L2ARC與ZIL功能搭配SSD,來提供Flash快取加速能力。

另一種則是內含Flash快取技術的儲存伺服器,產品已經預先搭載了一定容量的SSD與硬碟,並內含了Flash快取功能,Nimble Storage、Tegile、Tintri、去年被Imation併購的Nexsan,以及前不久剛被SanDisk併購的Fusion-io等廠商,都能提供這類產品。

針對這類產品,我們在這次採購特輯中,也介紹了一款Tintri推出的混合儲存產品作為代表。

相關報導請參考「混合式固態儲存設備採購大特輯」

熱門新聞

Advertisement