作者簡介:徐林波
NeonSAN 開發(fā)人員伟葫,具備豐富的存儲領域從業(yè)經(jīng)驗恨搓,資深存儲系統(tǒng)軟件研發(fā)工程師,熟悉當前主流及新型存儲介質扒俯。
引言
面對當前企業(yè)數(shù)字化轉型浪潮奶卓,信息數(shù)據(jù)已經(jīng)成為企業(yè)賴以生存的基礎,數(shù)據(jù)損壞或丟失將給企業(yè)帶來難以估量的巨大損失撼玄。存儲系統(tǒng)中的數(shù)據(jù)保護技術夺姑,如數(shù)據(jù)快照與備份,即為應對這一挑戰(zhàn)的必備特性掌猛。
相比備份特性盏浙,快照作為更加底層的技術,具有非常廣泛的應用荔茬,例如作為備份的源废膘、作為數(shù)據(jù)挖掘的源、作為保存應用程序狀態(tài)的檢查點慕蔚,甚至就是作為單純的數(shù)據(jù)復制的一種手段等丐黄。
快照技術
存儲網(wǎng)絡行業(yè)協(xié)會 SNIA(StorageNetworking Industry Association)將快照技術定義為:關于指定數(shù)據(jù)集合的一個完全可用拷貝,該拷貝包括相應數(shù)據(jù)在某個時間點(拷貝開始的時間點)的映像孔飒;快照可以是其所表示的數(shù)據(jù)的一個副本灌闺,也可以是數(shù)據(jù)的一個復制品。
與照相機一樣坏瞄,快門一閃桂对,就把剛剛的人像停留在了相片上。存儲系統(tǒng)中的數(shù)據(jù)快照與我們生活中所說的“照片”非常相似鸠匀,所不同的是蕉斜,快照的對象不是人,而是數(shù)據(jù)缀棍。就如同照片留住了我們過去的摸樣和歲月宅此,快照把數(shù)據(jù)在某一時刻的映像保留了下來。
為什么要使用快照呢睦柴?快照其實也可以理解為數(shù)據(jù)的一種瞬時備份诽凌,利用它可以實現(xiàn)常規(guī)備份軟件無法實現(xiàn)的分鐘級別的 RPO;同時用戶可以通過創(chuàng)建定時自動快照坦敌,并且把快照作為數(shù)據(jù)遠程備份的源侣诵,在需要回滾時,快速回滾到指定的時間點上來狱窘,從而大大的提高了業(yè)務系統(tǒng)可用性杜顺。
快照按照分類可以分為全量快照和增量快照,全量快照是實現(xiàn)所有數(shù)據(jù)的一個完整的只讀副本蘸炸,增量快照是基于全量快照的一個差異化數(shù)據(jù)影像躬络。
在存儲系統(tǒng)中,快照可以在不同層面實現(xiàn)搭儒,如在磁盤陣列穷当、文件系統(tǒng)提茁、卷管理器、NAS 系統(tǒng)或備份系統(tǒng)等地方來實現(xiàn)馁菜。為了降低快照所占用的存儲空間茴扁,當前常用的為寫時復制(COW ,Copy-On-Write)和寫重定向(ROW汪疮,Redirect-on-Write)快照技術峭火。另外,還出現(xiàn)了其他一些快照技術的實現(xiàn)方式智嚷,如鏡像分離卖丸、日志、持續(xù)數(shù)據(jù)保護等盏道,這些方式稍浆,可以提升快照的某一方面的相關特性,以應對一些特殊的場景摇天。
下面以卷管理層實現(xiàn)的快照為例子粹湃,介紹兩種主要的快照技術。
一 COW 快照
COW 技術也稱為第一次寫時復制技術泉坐,如圖 1 所示为鳄,當數(shù)據(jù)第一次寫到某個存儲位置時,首先會將這個位置原有的數(shù)據(jù)復制一份到快照空間(為快照分配的存儲空間)腕让,隨后才會將數(shù)據(jù)寫入該存儲位置孤钦,下一次的寫入則不會再執(zhí)行寫時復制動作,實現(xiàn)了保存原始數(shù)據(jù)的效果纯丸。
圖 1 COW 快照
COW 實現(xiàn)的快照偏形,其源卷的數(shù)據(jù)分布不會發(fā)生變化,實時更新的是快照卷的元數(shù)據(jù)信息觉鼻,源卷的讀性能不受影響俊扭;但寫入時,由于每次都需要拷貝后再寫入坠陈,實際是產(chǎn)生了一次讀兩次寫萨惑,因此寫性能受到影響。
二 ROW 快照
ROW 又稱指針重映射快照仇矾,這種實現(xiàn)方式與 COW 非常相似庸蔼,區(qū)別在于對原始數(shù)據(jù)卷的首次寫操作將被重定向到預留的快照空間。如圖 2 所示贮匕,當數(shù)據(jù)被首次重寫時姐仅,ROW 會選擇一個新的位置,同時指向該數(shù)據(jù)的指針也被重新映射,指向更新后的數(shù)據(jù)掏膏。
圖 2 ROW 快照
ROW 實現(xiàn)的快照劳翰,其源卷的數(shù)據(jù)分布一直在發(fā)生變化,源卷的元數(shù)據(jù)信息實時更新馒疹,不會有額外的拷貝數(shù)據(jù)動作磕道,卷的最新數(shù)據(jù)在快照卷上,在對卷數(shù)據(jù)進行讀操作時需要重定向到最新位置行冰。因此 ROW 對讀性能有一定的影響,對寫無影響伶丐;另外在刪除快照時悼做,快照數(shù)據(jù)需要拷貝到源卷,有一定的耗時哗魂,因此肛走,根據(jù)快照數(shù)據(jù)的大小,刪除操作執(zhí)行的時間也會有變化录别。
三 COW 與 ROW 技術對比
在應用場景適應性上朽色,由表1可見,COW 適合讀密集型業(yè)務组题,ROW 適合寫密集型業(yè)務葫男。
備份技術
在數(shù)據(jù)保護中,對數(shù)據(jù)進行備份是極為常見的一種做法崔列,常見的備份問題其實都可以基于快照+復制技術來解決梢褐,備份按照其保護的層級分為業(yè)務級、應用級和數(shù)據(jù)級赵讯。按照備份時的系統(tǒng)狀態(tài)是否在繼續(xù)處理業(yè)務盈咳,可以分為在線備份和離線備份,也可以稱冷備份和熱備份边翼。備份按照業(yè)務可以分為完全備份(也稱全量備份)鱼响、增量備份、差異備份组底。如圖 3 所示丈积,完全備份為上一個時刻點上的全量數(shù)據(jù);差異備份為上一次完全備份后的變化數(shù)據(jù)斤寇;增量備份為上一備份點(完全備份桶癣、差異備份、增量備份)之后有變化的數(shù)據(jù)娘锁。
圖 3 備份類型
備份技術在業(yè)界使用更多的是拉遠的在線數(shù)據(jù)備份技術牙寞,即遠程備份。遠程備份一般會用到遠程復制的技術,包括同步復制间雀、異步復制悔详。其中同步遠程復制,需要在主從存儲 IO 都寫完成的情況下返回至上層應用惹挟,以保證數(shù)據(jù)的一致性茄螃;而異步遠程復制是在 IO 下發(fā)至主端存儲緩存后就反饋當前 IO 寫完成,數(shù)據(jù)復制到從端是在后臺異步執(zhí)行的连锯。
備份常常和容災技術一起提出归苍,更多是作為一個整體的災備解決方案。災備解決方案根據(jù)不同的業(yè)務場景會有不同的部署方式运怖。但不管是怎樣的解決方案拼弃,衡量容災備份系統(tǒng)有兩個關鍵的技術指標,RPO(Recovery Point Objective):即數(shù)據(jù)恢復點目標摇展,主要指的是業(yè)務系統(tǒng)所能容忍的數(shù)據(jù)丟失量吻氧。RTO(Recovery Time Objective):即恢復時間目標,主要指的是業(yè)務所能容忍的停止服務的最長時間咏连,也就是從災難發(fā)生到業(yè)務系統(tǒng)恢復服務功能所需要的最短時間周期盯孙。
總結
快照和備份都是數(shù)據(jù)保護的一種手段,但卻是兩種不同的概念祟滴≌穸瑁快照是數(shù)據(jù)存儲的某一時刻的狀態(tài)記錄,而備份則是數(shù)據(jù)存儲的某一個時刻的副本垄懂;由于快照只是記錄了一個狀態(tài)报账,因此快照的速度比備份要快得多,且采用 COW 或 ROW 以后埠偿,快照占用的空間比備份要少透罢;但是備份是一個隨時可用的副本,可應對原始數(shù)據(jù)破壞的情況冠蒋,其安全性比快照更高羽圃。另外,從技術棧的角度上看抖剿,一般備份都會依賴快照朽寞,備份更像一種行為,而快照則是具體的技術手段斩郎。
更多文章
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布脑融!