圖1 分層存儲成本曲線
單位成本高的介質(zhì),一般來說配置容量小,這樣才能有效地減少TCO,反之亦然。對于備份與歸檔等類型的應(yīng)用,恰當(dāng)應(yīng)用分層存儲技術(shù),可極大地節(jié)省整個方案的總體擁有成本。備份與歸檔的數(shù)據(jù)通常擁有許多重復(fù)數(shù)據(jù),然而這些數(shù)據(jù)只在數(shù)據(jù)需要恢復(fù)時,或者需要查詢其中的數(shù)據(jù)時,才會使用得到。如果我們采用無差別的配置方案,也就是說,全部使用快速在線或者近線存儲,需要在容量上保證服務(wù)的執(zhí)行,這將是一筆巨大的開銷。一個可選的方案是將這些備份或者歸檔的數(shù)據(jù)存放在諸磁帶這類的介質(zhì)中,那么在滿足容量的需求時,也不會使得成本大幅增加。
有時分層存儲的使用,在于整合部門或者企業(yè)當(dāng)中不同架構(gòu)之間的存儲設(shè)備。wikibon.org進(jìn)行的終端用戶研究顯示在硬件和軟件上每花1元,還要額外花0.5元在數(shù)據(jù)遷移和陣列使用期間的配置上面。通過分層存儲,這一數(shù)字可以降低到每1元硬件軟件只花低于0.1元在遷移和配置上。
其次,存儲的另一個作用就像內(nèi)存與CPU緩沖作用一樣,用于提高數(shù)據(jù)訪問的性能。也就是將常訪問的數(shù)據(jù)存放在高速介質(zhì)上,而其他的數(shù)據(jù)存放在成本較低,但是容量較大的慢速介質(zhì)上。這樣在訪問常用數(shù)據(jù)時,使用的數(shù)據(jù)讀取時間較少,從而加快了磁盤存取速度。這種分層技術(shù)的主要目的在于以較少的成本代價,提高存儲介質(zhì)的訪問速度。
內(nèi)存的存取速度通常比磁盤存取速度快上幾個數(shù)量級,因此在磁盤與內(nèi)存之間還是有很大的性能提升空間。如果我們?nèi)绶ㄅ谥频卦趦?nèi)存與磁盤之間加上另一個高速磁盤緩存,這樣在不大幅增加成本的情況下,取得較好訪問性能。我們稱這樣的技術(shù)為磁盤分層技術(shù)。
三、 磁盤分層技術(shù)
在大粒度上的分層存儲解決的是存儲容量和成本問題,即在滿足應(yīng)用性能的需求下,增大設(shè)備的容量,但又不導(dǎo)致大量成本的增加。當(dāng)前,磁盤轉(zhuǎn)速越來越大,數(shù)據(jù)傳輸率也是水漲船高,但同時也帶來了一些問題。比如耗電與散熱問題。特別是機(jī)械式磁盤總會面臨物理極限。因此在這樣的背景下,存儲廠商開發(fā)了電子式磁盤,稱之為固態(tài)磁盤(SSD)。SSD的好處剛好彌補(bǔ)了機(jī)械式磁盤的缺陷,耗電少,沒有機(jī)械摩擦,沒有機(jī)械噪音等。但其制造成本也相對高出許多。當(dāng)前的應(yīng)用,最理想的情況下自然是使用的磁盤越快越好,但高昂成本導(dǎo)致這樣的應(yīng)用方案的使用受到極大局限。那么我們可不可以在更小的粒度上對數(shù)據(jù)進(jìn)行分層呢?答案是肯定的。
在計算機(jī)領(lǐng)域里面,有一個著名的局部性原理,這個原理是計算機(jī)體系結(jié)構(gòu)重要的設(shè)計基礎(chǔ)之一。這個原理內(nèi)容說的是:進(jìn)程運(yùn)行時,在一段時間內(nèi),其程序的執(zhí)行往往呈現(xiàn)出高度的局部性,包括時間局部性和空間局部性。時間局部性指的是若一條指令被執(zhí)行,則在不久的將來,它可能再被執(zhí)行??臻g局部性是指一旦一個存儲單元被訪問,那它附近的單元也將很快被訪問。如果我們在磁盤訪問單位這樣的粒度上對數(shù)據(jù)進(jìn)行分層,將熱點(diǎn)數(shù)據(jù)存在高速磁盤上,而將一些非熱點(diǎn)的數(shù)據(jù)存放在低速磁盤上,這樣我們可以充分利用高速磁盤的速度,也利用于低價磁盤的容量。因此在保證容量需求的同時,增加的成本相對較少,是物有所值的。如下圖是數(shù)據(jù)遷移的路徑:
圖2 磁盤分層存儲
Tier0是高速磁盤,比如SSD磁盤。而Tier1則可能是大轉(zhuǎn)速的SAS磁盤,或者FC磁盤,最后一級則是普通磁盤。數(shù)據(jù)在不同層之間自動遷移,磁盤用戶根本不知道各種存儲層的存在,就好像軟件無需了解CPU高速緩存的存在一樣。
四、 如何利用磁盤分層存儲
作為一種低成本的分層方案,主要目的不是提供大容量的存儲空間,而是提供在滿足用戶對磁盤容量的需求下,提升磁盤性能,同時不會大幅增加投資。因此這樣的磁盤分層存儲不適用于備份,歸檔這樣的應(yīng)用,而應(yīng)該使用在對磁盤性能要求較高的應(yīng)用中,如一些IO密集型的類型任務(wù)。由于磁盤分層存儲對于應(yīng)用來說是透明存在的,因此可以在不用改動任何應(yīng)用的情況下就能提高應(yīng)用性能。
五、 結(jié)語
分層存儲是舊的技術(shù),但在新的應(yīng)用環(huán)境中有了新的內(nèi)容和生命力。分層存儲只是一種技術(shù),因此需要將這個概念轉(zhuǎn)變成一種新的應(yīng)用需要對自己的環(huán)境進(jìn)行評估與分析。當(dāng)前數(shù)據(jù)備份隨著數(shù)據(jù)的大量電子化而成為一個不可缺少的功能。D2D2T的備份方式只是分層存儲概念應(yīng)用中的一個例子。愛數(shù)的備份存儲柜將這樣的功能引入到產(chǎn)品中,使用戶無需再自己花費(fèi)大量精力布署分層應(yīng)用。隨著存儲與備份技術(shù)的不斷發(fā)展,分層存儲技術(shù)還將得到不斷深化與細(xì)化。合理應(yīng)用分層存儲,不但可以給自己的業(yè)務(wù)帶來性能上的提升,管理上的便利,同時還能節(jié)省成本投入。
參考:
1. Hierarchical storage management,http://en.wikipedia.org/wiki/Hierarchical_storage_management
2. 分層存儲架構(gòu)的原理與實施選擇,http://www.xker.com/page/e2009/0115/68421.html
3. Automated Tiered Storage http://www.compellent.com/Products/Software/Automated-Tiered-Storage.aspx