表1:常用驅(qū)動器類型的特征
這里想要表達(dá)的意思是存儲媒體具有不同的特征,可以根據(jù)需要儲存的數(shù)據(jù)來決定選用哪種存儲媒體。 我們將用存儲分級的概念來進(jìn)一步探討這個問題。
注:除了傳統(tǒng)的磁盤接口之外,還有很多不具備本地磁盤接口的接口。 這方面的例子包括Infiniband、FCoE和iSCSI。 隨著這些協(xié)議和接口的推廣應(yīng)用,解決方案市場也隨之發(fā)生改變(注意Infiniband和10GbE為存儲系統(tǒng)創(chuàng)建了更多的決策點(diǎn))。
存儲分級
存儲分級的概念并不是個新概念,這種概念早就存在了,以前使用的名字是分層存儲管理(Hierarchical Storage Management)(HSM)。 HSM被定義為一種存儲技術(shù),它可以在高價存儲元件(比如存儲設(shè)備中的光纖通道驅(qū)動器)和廉價存儲元件(比如光盤)之間移動數(shù)據(jù)。
IBM率先將這個概念應(yīng)用到它的主機(jī)計算機(jī)中,隨后又將HSM技術(shù)推廣到它的AIX操作系統(tǒng)之中。
雖然這個概念并非新概念,但是各種存儲技術(shù)的發(fā)展已經(jīng)讓這個概念變得比以前更加重要。 回頭看看表1,現(xiàn)在的驅(qū)動器技術(shù)和存儲協(xié)議以及總線將存儲劃分成了多個領(lǐng)域,這樣就形成了多種具有不同成本和速度的存儲解決方案。
分別根據(jù)性能和成本來決定使用的驅(qū)動器類型,結(jié)果就得到一個分級存儲架構(gòu)(許多廠商都采用了這種方法,如圖1所示)。
圖1:分級存儲架構(gòu)
在最理想的情況下,我們會把所有的數(shù)據(jù)都儲存在速度最快的存儲媒體上(斯坦福大學(xué)提出的RAMClouds架構(gòu)就是這方面的最佳例子)。 但是由于成本也是個不容忽視的因素,必須將它考慮進(jìn)來。 因此,一個容量為1MB的文件儲存在固態(tài)硬盤中的成本要大大高于它儲存在消費(fèi)者SATA硬盤中的成本。 其次我們還要考慮數(shù)據(jù)被訪問的頻率。 如果我們需要頻繁使用并要求快速存取某個文件,那么最好還是將那個文件儲存在固態(tài)硬盤上。 如果某個文件只是我們很少會用到的舊數(shù)據(jù),那么將它儲存在成本相對較低的SATA硬盤上則是最好的做法。
我們的目的是將頻繁使用的數(shù)據(jù)儲存在固態(tài)硬盤上,將很少使用的數(shù)據(jù)儲存在廉價的存儲設(shè)備上,從而優(yōu)化數(shù)據(jù)的總成本。 為了實現(xiàn)那個目標(biāo),我們首先必須搞清數(shù)據(jù)的使用情況。
自動化數(shù)據(jù)遷移
與許多復(fù)雜的技術(shù)一樣,實現(xiàn)自動化數(shù)據(jù)遷移也有很多不同的方式。 最常用的一種方案是存儲虛擬化,這種方案將用戶對存儲設(shè)備和磁盤上的實際存儲映射抽象化了。
在一個存儲系統(tǒng)內(nèi)部自動遷移數(shù)據(jù)的能力與這種映射有很大關(guān)系,有了它,數(shù)據(jù)才能被重建。 數(shù)據(jù)重建方案包括在元數(shù)據(jù)中,元數(shù)據(jù)詳細(xì)規(guī)定數(shù)據(jù)如何在各種存儲子系統(tǒng)中分布。
除了各種實現(xiàn)形式(我們將在后面詳細(xì)探討這個問題)之外,數(shù)據(jù)遷移時的數(shù)據(jù)粒度問題也有很多需要權(quán)衡考慮的地方(見圖2)。 每一種數(shù)據(jù)粒度方案都有各自的利弊。 例如,有些廠商采用LUN級的遷移,從概念上來說這很簡單,但是那同時也意味著一個LUN中的所有內(nèi)容都將按照同樣的方式來對待和處理。
也有一些廠商采用了低于LUN級的數(shù)據(jù)遷移,可以以不同大小的數(shù)據(jù)塊的形式進(jìn)行。 低于LUN級的數(shù)據(jù)遷移有一定的優(yōu)勢,比如可以將使用頻率高的數(shù)據(jù)遷移到速度相對較快的存儲級,而將LUN中的其他數(shù)據(jù)遷移到相對廉價的存儲級。
低于LUN級的數(shù)據(jù)遷移也有一定的成本,因為元數(shù)據(jù)必須控制數(shù)量眾多的單個數(shù)據(jù)塊(數(shù)據(jù)塊越小,效率就越低)。 另外,如果被遷移的數(shù)據(jù)塊大于一個分區(qū),那么可以通過預(yù)讀的形式實現(xiàn)性能提升(例如,假如數(shù)據(jù)塊中的各個分區(qū)都是邏輯相關(guān)的)。
數(shù)據(jù)遷移解決方案的一個重要特征是效率。 解決方案應(yīng)該將任何對存儲性能的影響都降低到最低水平。 其他需要權(quán)衡考慮的因素還包括數(shù)據(jù)被分類的方法、數(shù)據(jù)遷移解決方案的執(zhí)行頻率、數(shù)據(jù)的初始布局等等。
例如,有些數(shù)據(jù)遷移解決方案是在后臺 執(zhí)行的(夜間進(jìn)行),而有些數(shù)據(jù)遷移解決方案是實時執(zhí)行的。 雖然可能會導(dǎo)致滯后現(xiàn)象,但是實時數(shù)據(jù)遷移解決方案可以根據(jù)用戶使用數(shù)據(jù)的情況動態(tài)靈活地作出反應(yīng)。
圖 2:數(shù)據(jù)遷移的程度
執(zhí)行類型
數(shù)據(jù)遷移可以通過多種方式執(zhí)行,但主要被分為三種基本類型:主機(jī)、網(wǎng)絡(luò) 和目標(biāo)。 讓我們先簡單介紹一下這三種類型,然后再談?wù)劽糠N類型的具體執(zhí)行情況和例子。 圖3以圖形的方式形象地展示了這三種類型。
基于 主機(jī)的執(zhí)行方式將分級和遷移都集成到了主機(jī)服務(wù)器中。 雖然從單用戶存儲的角度來說這樣做會有一定限制,但是虛擬化技術(shù)可以解決這個問題,而且還使這種執(zhí)行方式能夠支持多用戶(多虛擬機(jī))結(jié)構(gòu)。
例 如,操作系統(tǒng)可以將這種功能整合到它們的邏輯卷管理程序(比如Linux的LVM)之中,管理程序可以并入存儲棧中。 VMware就在Storage vMotion中采用了這種解決方案,Storage vMotion可以讓活躍虛擬機(jī)磁盤在不同的存儲媒體間進(jìn)行遷移。 它先是利用變化分區(qū)跟蹤在后臺高效遷移虛擬機(jī)磁盤,最后再暫時中止虛擬機(jī),將剩余分區(qū)移動到目的存儲媒體。
基于網(wǎng)絡(luò)的執(zhí)行方式在網(wǎng)絡(luò)中的 存儲用戶和物理存儲之間加入了一個中介物。 這樣不但分擔(dān)了主機(jī)的功能,而且還可以支持不同廠商的存儲后臺。 基于網(wǎng)絡(luò)的執(zhí)行方式的例子包括IBM的SAN Volume Controller(SVC)、惠普的SAN Virtualization Storage Platform(SVSP)和FalconStor的Network Storage Server(NSS)。
最后,基于目標(biāo)的執(zhí)行方式是將數(shù)據(jù)遷移的執(zhí)行放在存儲陣列中進(jìn)行。 與基于網(wǎng)絡(luò)的執(zhí)行方式一樣,虛擬化數(shù)據(jù)可以減輕主機(jī)的負(fù)載,在目標(biāo)位置建立一個抽象物。 這個抽象物建好之后,就可以實現(xiàn)其他的高級功能了,比如數(shù)據(jù)精簡等。 現(xiàn)實中有很多基于目標(biāo)的執(zhí)行方式,比如EMC的FAST、Compellent的Data Progression、3PAR的Dynamic Optimization和其他廠商的其他方案等。
圖3:執(zhí)行類型