曙光存儲(chǔ)快照 此快照非彼快照
SNIA(存儲(chǔ)網(wǎng)絡(luò)行業(yè)協(xié)會(huì))對(duì)于快照的定義是:關(guān)于指定數(shù)據(jù)集合的一個(gè)完全可用拷貝,該拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)(拷貝開(kāi)始的時(shí)間點(diǎn))的映像??煺湛梢允瞧渌硎镜臄?shù)據(jù)的一個(gè)副本,也可以是數(shù)據(jù)的一個(gè)復(fù)制品。
快照能夠進(jìn)行在線數(shù)據(jù)恢復(fù),當(dāng)出現(xiàn)邏輯錯(cuò)誤或是存儲(chǔ)設(shè)備發(fā)生應(yīng)用故障時(shí)可以進(jìn)行有效及時(shí)的數(shù)據(jù)恢復(fù),將數(shù)據(jù)恢復(fù)成快照產(chǎn)生時(shí)間點(diǎn)的狀態(tài)。除此之外,還可以通過(guò)訪問(wèn)只讀快照在不影響應(yīng)用的前提下進(jìn)行驗(yàn)證、測(cè)試等操作。當(dāng)前,快照技術(shù)已經(jīng)成為企業(yè)進(jìn)行數(shù)據(jù)保護(hù)的一種常規(guī)手段,快照技術(shù)的應(yīng)用也趨向于多元化,從目前市場(chǎng)情況來(lái)看,所有存儲(chǔ)系統(tǒng)無(wú)論高、中、低端設(shè)備,但凡有用到業(yè)務(wù)系統(tǒng)上的,一般均配有快照的功能??煺赵趥浞荨?shù)據(jù)保護(hù)過(guò)程中發(fā)揮著非常重要的作用。
但不同種類(lèi)快照技術(shù)的區(qū)別及適合的場(chǎng)景,快照的優(yōu)缺點(diǎn)卻很少有人提及。市場(chǎng)上的快照技術(shù)多種多樣,用戶(hù)該如何選擇呢?
傳統(tǒng)快照技術(shù)與曙光快照技術(shù)的對(duì)比:
傳統(tǒng)存儲(chǔ)快照技術(shù)工作原理
傳統(tǒng)的存儲(chǔ)快照技術(shù)由于自動(dòng)生成的能力不足,防御意外的能力較弱,一般不用于自動(dòng)備份,而是用于計(jì)劃內(nèi)的數(shù)據(jù)保存。
傳統(tǒng)快照技術(shù)借助于快照緩存以記錄有變動(dòng)的數(shù)據(jù)塊,在這中間需要進(jìn)行一次讀(讀取初始數(shù)據(jù)塊),兩次寫(xiě)(寫(xiě)緩存及寫(xiě)更新后的數(shù)據(jù))的過(guò)程才可以完成。這種技術(shù)通常是基于時(shí)間點(diǎn)的復(fù)制,能夠在一個(gè)存儲(chǔ)單元中建立數(shù)據(jù)的完全卷拷貝。但如果生產(chǎn)系統(tǒng)此時(shí)對(duì)某一個(gè)數(shù)據(jù)集合進(jìn)行頻繁的修改,在這種情況下產(chǎn)生一個(gè)時(shí)間點(diǎn)一致拷貝是比較困難的。當(dāng)進(jìn)行快照時(shí),快照的源卷將會(huì)被凍結(jié)幾秒鐘;當(dāng)快照拷貝的位圖建立之后,源卷才可以繼續(xù)進(jìn)行I/O操作。當(dāng)位圖建立后,后臺(tái)拷貝需要進(jìn)行一段時(shí)間,但是在目標(biāo)卷上看來(lái),拷貝已經(jīng)完成了。這很容易導(dǎo)致拷貝出錯(cuò)或者丟失的危險(xiǎn)。
傳統(tǒng)快照在寫(xiě)入數(shù)據(jù)后需要以下幾個(gè)步驟完成:

1、讀取初始數(shù)據(jù)塊;

2、寫(xiě)初始數(shù)據(jù)塊到快照緩沖區(qū)域;
3、快照 指針指向快照緩沖區(qū);

4、寫(xiě)入新的數(shù)據(jù);
5、文件指針指向更新后的文件;
曙光存儲(chǔ)快照技術(shù)工作原理
曙光存儲(chǔ)快照技術(shù)憑借優(yōu)異的文件系統(tǒng)數(shù)據(jù)布局,不需預(yù)留快照緩存區(qū)域,即可在非常短的時(shí)間內(nèi)完成。在整個(gè)數(shù)據(jù)更新過(guò)程之中只需要一次寫(xiě),中間沒(méi)有拷貝的過(guò)程,從而快照制作時(shí)間(秒級(jí))會(huì)比傳統(tǒng)時(shí)間短,且在快照期間幾乎不影響應(yīng)用。


曙光快照技術(shù)
在寫(xiě)入數(shù)據(jù)后曙光快照技術(shù)通過(guò)以下幾個(gè)步驟完成:
1、快照指針指向數(shù)據(jù),快照完成(圖左);
2、更新數(shù)據(jù)寫(xiě)入新的數(shù)據(jù)塊(圖右);
3、文件指針指向新的數(shù)據(jù)塊(圖右);

快照時(shí)曙光與傳統(tǒng)存儲(chǔ)對(duì)性能的影響對(duì)比
而傳統(tǒng)存儲(chǔ)的性能在做快照后下降了40-50%,并在整個(gè)快照期間性能一直處于下降后的水平,對(duì)上層應(yīng)用系統(tǒng)影響較大,這也是目前很多管理員不愿多做快照的一個(gè)主要原因。
傳統(tǒng)存儲(chǔ)快照模式
業(yè)界快照模式主要采用循環(huán)模式。以多份快照循環(huán)為例,10份快照每個(gè)快照間隔1小時(shí),數(shù)據(jù)即可恢復(fù)到10個(gè)快照的時(shí)間點(diǎn),若再做一次快照則將最早的一份快照刪除,如此循環(huán)一直保持10份快照。
曙光存儲(chǔ)快照模式
除上述提到的快照循環(huán)模式外,曙光還提供基于GFS(祖父、父親、兒子)三代的數(shù)據(jù)快照循環(huán)模式(下圖所示)。

曙光快照模式
跟備份類(lèi)似,以Grandfather、father、son三代循環(huán)模式,分別對(duì)應(yīng)周、日、小時(shí)快照。例如對(duì)應(yīng)于上述周期分別保留4、6、12份快照,也就意味著數(shù)據(jù)可以恢復(fù)到4周前、6天前、24小時(shí)前(快照周期按2小時(shí)),從而達(dá)到了數(shù)據(jù)可以按月、周、天的方式進(jìn)行備份。又由于曙光快照技術(shù)的高效性,使得快照能夠在很短的時(shí)間內(nèi)(通常是秒級(jí))即可完成,其備份效果要好于通常備份軟件的同時(shí)又可以做到業(yè)務(wù)應(yīng)用的彈性規(guī)劃。
傳統(tǒng)存儲(chǔ)快照使用方式
一般快照使用需要涉及到3種角色:存儲(chǔ)管理員、系統(tǒng)管理員、使用者。一般步驟為:
1、存儲(chǔ)管理員將多份快照卷依次啟用以找到目標(biāo)快照卷;
2、存儲(chǔ)管理員將多份快照卷分別設(shè)定LUN映射以讓?xiě)?yīng)用主機(jī)可以識(shí)別卷;
3、系統(tǒng)管理員掃描disk LUN;
4、系統(tǒng)管理員分別掛載disk LUN供使用者使用、查看;
5、使用者讀取所需數(shù)據(jù)。
曙光存儲(chǔ)快照使用方式
曙光快照使用只需要一種角色參與即可,也即使用者。曙光快照通過(guò)NFS/CIFS只讀方式共享,所以使用者只需要直接通過(guò)網(wǎng)絡(luò)進(jìn)行讀取即可,不需要麻煩存儲(chǔ)管理員和系統(tǒng)管理員,從一定程度上減輕了管理員的運(yùn)維復(fù)雜度。
對(duì)比結(jié)論:
快照指標(biāo) |
傳統(tǒng)存儲(chǔ) |
曙光存儲(chǔ) |
快照讀寫(xiě) |
1R2W |
1W |
快照性能 |
影響應(yīng)用 |
幾乎不受影響 |
快照周期 |
循環(huán) |
循環(huán)+GFS |
快照讀取 |
SAN方式 |
SAN與NAS方式 |
快照技術(shù)對(duì)比
從上表對(duì)比中可以發(fā)現(xiàn)快照性能部分,在快照建立時(shí)曙光存儲(chǔ)性能下降很小,幾乎不會(huì)影響到上層應(yīng)用,而傳統(tǒng)存儲(chǔ)在整個(gè)快照周期內(nèi)性能損失較為嚴(yán)重且快照時(shí)間較長(zhǎng)(通常是小時(shí)級(jí));在數(shù)據(jù)修改后,曙光只需要寫(xiě)1次即可,而傳統(tǒng)存儲(chǔ)需要讀1次,寫(xiě)2次,從讀寫(xiě)效率上看每個(gè)數(shù)據(jù)塊多浪費(fèi)了1讀1寫(xiě)兩次IO;曙光可以提供循環(huán)、GFS方式的快照周期,非常方便應(yīng)對(duì)復(fù)雜多變的應(yīng)用場(chǎng)景,而業(yè)界存儲(chǔ)主要還是以循環(huán)方式為主;曙光快照讀取方式更為靈活,只需要使用者通過(guò)NAS的方式即可讀取快照內(nèi)容,自由決定想讀取內(nèi)容,而傳統(tǒng)存儲(chǔ)還需要向存儲(chǔ)管理員、系統(tǒng)管理員申請(qǐng),經(jīng)過(guò)管理員配合后方可使用。
此高性能快照技術(shù)是曙光高端存儲(chǔ)系統(tǒng)的標(biāo)配功能,配合這些存儲(chǔ)系統(tǒng)的雙活、遠(yuǎn)程數(shù)據(jù)復(fù)制等容災(zāi)功能模塊,可以為用戶(hù)構(gòu)建全方位的數(shù)據(jù)災(zāi)備方案,避免邏輯以及物理故障對(duì)數(shù)據(jù)可用性以及業(yè)務(wù)連續(xù)性的影響。