圖 1) 不同類型固態(tài)介質(zhì)和旋轉(zhuǎn)介質(zhì)的隨機(jī)讀取效率對比(以對數(shù)刻度表示)。請注意,在每美元 IOPS 方面,不同 HDD 類型之間的差別相對較小。

自動存儲分層會嘗試識別熱數(shù)據(jù)并將其存儲在性能較高的存儲介質(zhì)上,同時(shí)將冷數(shù)據(jù)存儲在速度較慢、成本較低的介質(zhì)上,而不是將整個(gè)數(shù)據(jù)集永久地放置在昂貴的介質(zhì)上。

為了構(gòu)建最佳解決方案,NetApp 投入了大量時(shí)間和精力來了解 AST 必須解決的問題。

本文包括以下內(nèi)容:

    ·評價(jià) AST 技術(shù)所依據(jù)的標(biāo)準(zhǔn)

    ·基于遷移的 AST 方式與基于緩存的 AST 方式

    ·NetApp 虛擬存儲層 – 基于緩存的 AST 方式

評價(jià) AST 技術(shù)

從 I/O 角度來看,AST 的主要目標(biāo)是將隨機(jī) I/O 盡可能多地轉(zhuǎn)移到高性能介質(zhì)(閃存)上,以最大程度地減少 HDD 上的隨機(jī) I/O 負(fù)荷,并減少平均延遲。隨機(jī) I/O 和順序 I/O 之間的區(qū)分非常重要,因?yàn)閷τ谶B續(xù)讀寫,閃存與 HDD 相比性價(jià)比優(yōu)勢并不明顯(原因在于 HDD 非常適于處理順序 I/O)。

圖 2) 不同類型固態(tài)介質(zhì)和旋轉(zhuǎn)介質(zhì)的連續(xù)吞吐效率對比。

以下幾個(gè)因素會影響 AST 解決方案實(shí)現(xiàn)上述目標(biāo)的能力:

   ·數(shù)據(jù)存儲的粒度如何?處理的數(shù)據(jù)塊越小,用于存儲數(shù)據(jù)的系統(tǒng)和 HDD 資源的效率就越高,并且冷數(shù)據(jù)“跟隨”熱數(shù)據(jù)移動并毫無益處地耗用昂貴介質(zhì)的可能性也越小。

   ·如何識別熱數(shù)據(jù)以及速度加快了多少?熱數(shù)據(jù)進(jìn)入閃存的速度越快,錯過 I/O 活動中相對短暫的高峰期的可能性就越小,需要的 HDD I/O 就越少,并且平均延遲時(shí)間縮短的幅度就越大。

從操作角度來看,還需要考慮以下幾個(gè)因素:

部署和管理該解決方案的難度如何?如果部署 AST 解決方案需要進(jìn)行重大的重新配置,或需要大量的監(jiān)控和管理,那么可能會得不償失。

該解決方案如何與您使用的其他存儲技術(shù)(備份、重復(fù)數(shù)據(jù)刪除、精簡配置等)集成?您一定不希望在部署一個(gè)解決方案之后,發(fā)現(xiàn)備份不能執(zhí)行,或者雖然能執(zhí)行,但卻需要大量地移動數(shù)據(jù)。

實(shí)現(xiàn) AST 的兩種不同方式:遷移與緩存

實(shí)現(xiàn) AST 有兩種本質(zhì)上不同的方式:遷移和緩存。

基于遷移的 AST 可自動化數(shù)據(jù)遷移的流程。當(dāng)一個(gè)數(shù)據(jù)塊被確定為“熱”數(shù)據(jù)時(shí),會將該數(shù)據(jù)塊移至速度較快的介質(zhì),當(dāng)該數(shù)據(jù)塊變“冷”時(shí),會將其移回速度較慢的介質(zhì)。移入和移出閃存都需要訪問 HDD。

基于緩存的 AST 使用廣為人知的緩存方式將熱數(shù)據(jù)“提升”到高性能的介質(zhì)中。由于 HDD 上仍保留有數(shù)據(jù)的副本,因此當(dāng)數(shù)據(jù)變“冷”時(shí),只需將其從緩存中釋放即可,而不需要額外的 HDD I/O。

圖 3) 基于緩存的自動存儲分層與基于遷移的自動存儲分層。

NetApp 虛擬存儲層

根據(jù)我們前面討論的評價(jià)標(biāo)準(zhǔn),NetApp 考察了這兩種實(shí)現(xiàn) AST 的方式,并得出以下結(jié)論:基于緩存的 AST 方式更符合這些標(biāo)準(zhǔn)的要求。

此外,NetApp 還能夠?qū)W⒂趦?yōu)化讀取性能,因?yàn)?NetApp 任意位置寫入文件布局 (WAFL) 能夠有效地將寫入活動轉(zhuǎn)變成連續(xù)寫入,而 HDD 適于處理連續(xù)寫入(如圖 2 所示)。Mike Riley 和 Tech OnTap撰稿人 John Fullbright 最近發(fā)表的一篇博文中對此進(jìn)行了詳細(xì)介紹。(這也是 NetApp 雙奇偶校驗(yàn) RAID [RAID-DP] 能夠提供良好的寫入性能,而其他 RAID 6 實(shí)施方案無法提供的原因。)

圖 4) NetApp 虛擬存儲層是基于緩存實(shí)現(xiàn)自動存儲分層的一種方式。

NetApp 虛擬存儲層將熱數(shù)據(jù)提升到緩存,同時(shí)將 HDD I/O 開銷保持在最低水平。無論何時(shí)接收到針對卷或 LUN 上某個(gè)數(shù)據(jù)塊的讀取請求,系統(tǒng)都將自動提升該數(shù)據(jù)塊。請注意,數(shù)據(jù)塊提升不是數(shù)據(jù)遷移,因?yàn)閷?shù)據(jù)塊復(fù)制到虛擬存儲層時(shí),數(shù)據(jù)塊仍保留在 HDD 上。提升是直接在系統(tǒng)緩沖區(qū)緩存中發(fā)生的,所以不需要額外的 HDD I/O。

由于數(shù)據(jù)塊在第一次從磁盤讀取之后可以立即進(jìn)行提升,因此也不需要額外的磁盤 I/O。相比之下,基于遷移的 AST 實(shí)施通常在多次從磁盤讀取熱數(shù)據(jù)之后或直到執(zhí)行計(jì)劃的下一次遷移時(shí),才會提升熱數(shù)據(jù),并且還需要額外的磁盤 I/O,才能完成遷移流程。

NetApp 算法可將高價(jià)值數(shù)據(jù)與低價(jià)值數(shù)據(jù)區(qū)分開,并將高價(jià)值數(shù)據(jù)保留在虛擬存儲層中。例如,系統(tǒng)始終會在第一次讀取元數(shù)據(jù)時(shí)就將其提升到緩存中。相比之下,除非是專門啟用,否則在虛擬存儲層中一般不會緩存連續(xù)讀取,因?yàn)檫B續(xù)讀取往往會擠掉更有價(jià)值的數(shù)據(jù)的位置,而且如我們前面所看到的,HDD 更適于處理連續(xù)讀取。您可以更改此行為,以滿足具有不同服務(wù)級別要求或獨(dú)特?cái)?shù)據(jù)訪問行為的應(yīng)用的要求。

虛擬存儲層優(yōu)勢

在精細(xì)粒度級別實(shí)時(shí)提升熱數(shù)據(jù)。數(shù)據(jù)塊通常在第一次從磁盤讀取時(shí)就進(jìn)入虛擬存儲層。由于后續(xù)讀取在虛擬存儲層中即可完成,因此可以實(shí)時(shí)顯現(xiàn)性能優(yōu)勢。系統(tǒng)會識別讀取行為模式并提前讀取可能需要的數(shù)據(jù)塊,但是虛擬存儲層絕不會將數(shù)據(jù)大量地從一個(gè)存儲層移至另一個(gè)存儲層。這樣可將 HDD I/O 以及其他系統(tǒng)資源的使用量保持在最低水平。該方式帶來的效率與在單個(gè) 4 KB 數(shù)據(jù)塊粒度級別上的操作能力相結(jié)合,可支持熱數(shù)據(jù)實(shí)時(shí)提升。

采用基于遷移的 AST,熱數(shù)據(jù)從一個(gè)存儲層遷移到另一個(gè)存儲層要通過后臺任務(wù)的方式,或者要安排在非高峰期執(zhí)行,以最大限度地減少存儲系統(tǒng)上的額外負(fù)載。由于這些解決方案通常在至少高出虛擬存儲層 128 倍的粒度級別(從 0.5 MB 到 1 GB,甚至是整個(gè)卷或 LUN)上運(yùn)作,因此數(shù)據(jù)移動會花費(fèi)相當(dāng)長的時(shí)間。如果活動的重要高峰期的持續(xù)時(shí)間少于識別和提升熱數(shù)據(jù)所需的時(shí)間,那么此類方式可能會錯過重要高峰期。

虛擬存儲層的 4 KB 粒度意味著它能非常高效地使用基于閃存的介質(zhì)。具有較粗粒度的解決方案可能會隨每個(gè)熱數(shù)據(jù)塊包括大量“冷”數(shù)據(jù),因而可能需要更多的昂貴閃存介質(zhì),才能達(dá)到相同的結(jié)果。

易于部署和管理。虛擬存儲層可作用于現(xiàn)有數(shù)據(jù)卷和 LUN。它不需要您對存儲環(huán)境進(jìn)行復(fù)雜或者顛覆性的變革。您也無需為數(shù)據(jù)移動設(shè)置策略、閾值或時(shí)間窗口。您只需將閃存技術(shù)安裝在您的存儲系統(tǒng)中即可。完成安裝之后,虛擬存儲層將對存儲控制器所管理的所有卷發(fā)揮作用。如有需要,您隨后可以在虛擬存儲層中排除優(yōu)先級較低的卷的用戶數(shù)據(jù)。

其他 AST 解決方案都需要設(shè)置增量策略、劃分?jǐn)?shù)據(jù)類別以及對現(xiàn)有存儲基礎(chǔ)架構(gòu)進(jìn)行結(jié)構(gòu)性更改,例如創(chuàng)建專用存儲池和遷移數(shù)據(jù)。

完全集成。虛擬存儲層與 NetApp 統(tǒng)一存儲架構(gòu)完全集成,這意味著您可以將其用于任何 NAS 或 SAN 存儲協(xié)議,而無需任何更改。

此外,基于遷移的 AST 解決方案可能無法與存儲效率功能(如重復(fù)數(shù)據(jù)刪除)配合使用,而 NetApp 虛擬存儲層則可以與所有 NetApp 存儲效率功能(包括精簡配置、FlexClone 技術(shù)、重復(fù)數(shù)據(jù)刪除和壓縮)協(xié)同工作。此緊密集成可以增加您的優(yōu)勢并增強(qiáng)虛擬存儲層的功能。

例如,當(dāng)您對某卷進(jìn)行重復(fù)數(shù)據(jù)刪除時(shí),所帶來的好處在虛擬存儲層中也會體現(xiàn)出來。系統(tǒng)中可能有多個(gè)元數(shù)據(jù)指針指向虛擬存儲層中的某一數(shù)據(jù)塊,因而會增加該數(shù)據(jù)塊再次被讀取的概率,這使得提升該數(shù)據(jù)塊更有價(jià)值。借助此緩存擴(kuò)增,虛擬存儲層中的單個(gè)塊可用作多個(gè)邏輯塊。這樣會給服務(wù)器和桌面虛擬化環(huán)境帶來顯著的性能優(yōu)勢(如縮短啟動風(fēng)暴持續(xù)時(shí)間),同時(shí)減少需要的閃存介質(zhì)數(shù)量。

結(jié)論

與基于遷移的 AST 方式相比,我們基于緩存的 AST 方式為 NetApp 虛擬存儲層帶來了顯著的優(yōu)勢。虛擬存儲層能夠?qū)崟r(shí)提升數(shù)據(jù),因此即使活動的高峰期非常短,也能從加速中受益。4 KB 粒度意味著我們可以非常高效地將冷數(shù)據(jù)從閃存中排除,因此獲得良好結(jié)果所需的閃存就更少。相比之下,基于遷移的 AST 方式的粒度比較粗、在提升數(shù)據(jù)之前會有較長時(shí)間的延遲、需要更多的 HDD I/O,并且使用基于閃存的昂貴介質(zhì)時(shí)效率較低。

事實(shí)上,虛擬存儲層將 HDD 用作容量層,將閃存用作性能層。您可能擁有各種類型的磁盤驅(qū)動器,如 FC、SATA 和 SAS。其中任一種磁盤驅(qū)動器都可以用作容量層,虛擬存儲層則提供性能。我們相信,在將來,高性能層(基于虛擬存儲層)和單個(gè)磁盤驅(qū)動器層(基于 SATA 磁盤)的結(jié)合將會成為對大多數(shù)應(yīng)用最行之有效的一種方式。

分享到

fanz

相關(guān)推薦