存儲大師班 | 淺談數據保護之快照與備份


作者簡介:徐林波
NeonSAN 開發人員,具備豐富的存儲領域從業經驗,資深存儲系統軟件研發工程師,熟悉當前主流及新型存儲介質。

引言

面對當前企業數字化轉型浪潮,信息數據已經成為企業賴以生存的基礎,數據損壞或丟失將給企業帶來難以估量的巨大損失。存儲系統中的數據保護技術,如數據快照與備份,即為應對這一挑戰的必備特性。

相比備份特性,快照作為更加底層的技術,具有非常廣泛的應用,例如作為備份的源、作為數據挖掘的源、作為保存應用程序狀態的檢查點,甚至就是作為單純的數據復制的一種手段等。

快照技術

存儲網絡行業協會 SNIA(StorageNetworking Industry Association)將快照技術定義為:關於指定數據集合的一個完全可用拷貝,該拷貝包括相應數據在某個時間點(拷貝開始的時間點)的映像;快照可以是其所表示的數據的一個副本,也可以是數據的一個復制品。

與照相機一樣,快門一閃,就把剛剛的人像停留在了相片上。存儲系統中的數據快照與我們生活中所說的“照片”非常相似,所不同的是,快照的對象不是人,而是數據。就如同照片留住了我們過去的摸樣和歲月,快照把數據在某一時刻的映像保留了下來。

為什么要使用快照呢?快照其實也可以理解為數據的一種瞬時備份,利用它可以實現常規備份軟件無法實現的分鍾級別的 RPO;同時用戶可以通過創建定時自動快照,並且把快照作為數據遠程備份的源,在需要回滾時,快速回滾到指定的時間點上來,從而大大的提高了業務系統可用性。

快照按照分類可以分為全量快照和增量快照,全量快照是實現所有數據的一個完整的只讀副本,增量快照是基於全量快照的一個差異化數據影像。

在存儲系統中,快照可以在不同層面實現,如在磁盤陣列、文件系統、卷管理器、NAS 系統或備份系統等地方來實現。為了降低快照所占用的存儲空間,當前常用的為寫時復制(COW ,Copy-On-Write)和寫重定向(ROW,Redirect-on-Write)快照技術。另外,還出現了其他一些快照技術的實現方式,如鏡像分離、日志、持續數據保護等,這些方式,可以提升快照的某一方面的相關特性,以應對一些特殊的場景。

下面以卷管理層實現的快照為例子,介紹兩種主要的快照技術。

一 COW 快照

COW 技術也稱為第一次寫時復制技術,如圖 1 所示,當數據第一次寫到某個存儲位置時,首先會將這個位置原有的數據復制一份到快照空間(為快照分配的存儲空間),隨后才會將數據寫入該存儲位置,下一次的寫入則不會再執行寫時復制動作,實現了保存原始數據的效果。


圖 1 COW 快照

COW 實現的快照,其源卷的數據分布不會發生變化,實時更新的是快照卷的元數據信息,源卷的讀性能不受影響;但寫入時,由於每次都需要拷貝后再寫入,實際是產生了一次讀兩次寫,因此寫性能受到影響。

二 ROW 快照

ROW 又稱指針重映射快照,這種實現方式與 COW 非常相似,區別在於對原始數據卷的首次寫操作將被重定向到預留的快照空間。如圖 2 所示,當數據被首次重寫時,ROW 會選擇一個新的位置,同時指向該數據的指針也被重新映射,指向更新后的數據。


圖 2 ROW 快照

ROW 實現的快照,其源卷的數據分布一直在發生變化,源卷的元數據信息實時更新,不會有額外的拷貝數據動作,卷的最新數據在快照卷上,在對卷數據進行讀操作時需要重定向到最新位置。因此 ROW 對讀性能有一定的影響,對寫無影響;另外在刪除快照時,快照數據需要拷貝到源卷,有一定的耗時,因此,根據快照數據的大小,刪除操作執行的時間也會有變化。

三 COW 與 ROW 技術對比

在應用場景適應性上,由表1可見,COW 適合讀密集型業務,ROW 適合寫密集型業務。

備份技術

在數據保護中,對數據進行備份是極為常見的一種做法,常見的備份問題其實都可以基於快照+復制技術來解決,備份按照其保護的層級分為業務級、應用級和數據級。按照備份時的系統狀態是否在繼續處理業務,可以分為在線備份和離線備份,也可以稱冷備份和熱備份。備份按照業務可以分為完全備份(也稱全量備份)、增量備份、差異備份。如圖 3 所示,完全備份為上一個時刻點上的全量數據;差異備份為上一次完全備份后的變化數據;增量備份為上一備份點(完全備份、差異備份、增量備份)之后有變化的數據。

圖 3 備份類型

備份技術在業界使用更多的是拉遠的在線數據備份技術,即遠程備份。遠程備份一般會用到遠程復制的技術,包括同步復制、異步復制。其中同步遠程復制,需要在主從存儲 IO 都寫完成的情況下返回至上層應用,以保證數據的一致性;而異步遠程復制是在 IO 下發至主端存儲緩存后就反饋當前 IO 寫完成,數據復制到從端是在后台異步執行的。

備份常常和容災技術一起提出,更多是作為一個整體的災備解決方案。災備解決方案根據不同的業務場景會有不同的部署方式。但不管是怎樣的解決方案,衡量容災備份系統有兩個關鍵的技術指標,RPO(Recovery Point Objective):即數據恢復點目標,主要指的是業務系統所能容忍的數據丟失量。RTO(Recovery Time Objective):即恢復時間目標,主要指的是業務所能容忍的停止服務的最長時間,也就是從災難發生到業務系統恢復服務功能所需要的最短時間周期。

總結

快照和備份都是數據保護的一種手段,但卻是兩種不同的概念。快照是數據存儲的某一時刻的狀態記錄,而備份則是數據存儲的某一個時刻的副本;由於快照只是記錄了一個狀態,因此快照的速度比備份要快得多,且采用 COW 或 ROW 以后,快照占用的空間比備份要少;但是備份是一個隨時可用的副本,可應對原始數據破壞的情況,其安全性比快照更高。另外,從技術棧的角度上看,一般備份都會依賴快照,備份更像一種行為,而快照則是具體的技術手段。

更多文章

存儲大師班

對象存儲手把手教五 | 數據存取與加密

gg: 像寫 Golang 一樣生成代碼

QingStor 招聘存儲測試/運維/研發工程師


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM