?

一種改進的持續數據保護系統遠程恢復方法

2016-09-23 07:19王晉明肖騫宇廖國龍
現代計算機 2016年4期
關鍵詞:數據保護中斷備份

王晉明,肖騫宇,廖國龍

(四川大學計算機學院,成都 610065)

一種改進的持續數據保護系統遠程恢復方法

王晉明,肖騫宇,廖國龍

(四川大學計算機學院,成都610065)

持續數據保護;遠程數據恢復;塊數據;I/O重定向

0 引言

目前信息技術正處在一個飛速發展的階段,隨之而來的是數據的爆炸式增長以及重要性的不斷提高。對于企業來說,數據信息是業務運行的根本,是非常重要的財富,一旦數據丟失或者遭到破壞,由此帶來的損失是難以估量的?;谄髽I對于數據安全的需求,各種數據保護技術不斷產生。持續數據保護(Continuous Data Protection,CDP)技術是一種能對數據進行連續保護的容災技術,相比于傳統的定時數據備份方法存在備份窗口的問題,它能在數據因為病毒入侵,人為誤操作等情況造成邏輯災難(占數據損失原因的60%~80%)[1]時,將數據恢復到過去任意時刻的狀態,消除了備份窗口。

針對塊級持續數據保護系統在恢復過程中上層業務系統無法正常運行的問題,本文提出了一種改進的遠程恢復方法,通過后臺恢復以及讀時重定向機制,將業務流程與恢復流程重疊,能在恢復過程中支持對于數據卷的讀寫操作,降低業務中斷的時間。

1 傳統恢復方法

1.1傳統恢復方法的原理

CDP系統在恢復的時候,恢復時間點通常比較靠近最新時間點,因此采用復制參考數據模式[6]實現的CDP系統往往有更好的恢復性能。在系統開始進行數據保護之后,備份服務器上需要維護一個與受保護數據卷狀態相同的鏡像卷;備份過程中采用Copy on Write技術,即鏡像卷中的原始數據被覆寫之前先將其拷貝到日志卷中,并按照時間的先后順序依次存放,形成一個原始數據鏈。當用戶需要將數據卷恢復到指定時間點Ttarget時,恢復流程的算法如下:

(1)將鏡像卷遠程拷貝到目標數據卷

(2)假設Tlast是最新備份時刻,則原始數據鏈中存在一個按時間升序排列的子鏈{Ttarget,…,Tlast}。將該子鏈中的原始數據按照備份時間的逆序,也就是Tlast→Ttarget的順序,依次寫入目標卷,即可完成恢復。

通過(a)、(b)、(c)3步構建了一個優化模式庫,由于有工況指數S判斷,保證了紙漿洗滌質量,在此基礎上,(d)步生產效益提高,從而構成了紙漿洗滌過程的綜合優化控制。

1.2業務中斷時間分析

對于傳統恢復方法,上層業務需要等待數據完全恢復之后才能正常運行,因此業務中斷的時間等于完全恢復的時間。假設數據卷的大小為Svol,{Ttarget,…,Tlast}子鏈中的原始數據大小為Sorig,遠程恢復速度為R,則業務中斷時間T=(Svol+Sorig)/R。數據卷越大,回退時間點到最新時間點這段時間區間內的原始數據越多,則業務中斷時間越長。

2 改進的恢復方法

目前的持續數據保護系統在執行遠程恢復的時候,都需要將恢復時間點數據遠程拷貝到生產服務器上,業務才能繼續運行。本文在現有研究的基礎上,提出了一種改進的遠程恢復方法,可以在數據卷選擇恢復到指定時間點后很短的時間內讓業務恢復運行,并繼續對數據卷進行保護。

2.1系統框架

本文提出的恢復方法在恢復時的系統架構如圖1 所示。

圖1 恢復任務的系統架構

其中,包含了幾個主要的模塊:

(1)虛擬卷(Virtual volume)。CDP系統服務端在恢復開始之后,利用張等[7]提出的虛擬重構方法,快速地重構出了恢復時間點的數據卷狀態。重構出來的虛擬卷通過iSCSI掛載到待恢復的生產服務器上。這時,在生產服務器上可以像讀取本地卷一樣讀取虛擬卷,但是不支持數據寫入。

(2)監控驅動(CDP driver)。為了實時的獲取數據卷的數據變化,通常塊級持續數據保護系統都會在內核的通用塊層監控應用層對數據卷的所有讀寫請求,然后根據任務狀態進行相應的處理。

(3)恢復模塊(Recovery module)?;謴湍K會在后臺將數據卷恢復時間點的數據拷貝到本地卷上,完成整個恢復任務。

(4)數據塊狀態位圖(Block status bitmap)。在恢復任務開始之后,驅動會創建一個數據塊狀態位圖。在位圖中,1位數據只有0和1兩個值,代表了一個數據塊的恢復狀態。當數據塊的狀態為0時,表明該數據塊既沒有被上層應用寫入也沒有被恢復模塊恢復到指定時間點;反之,狀態為1時,表明該數據塊已經被上層應用或者恢復模塊修改過了。

(5)CDP服務端(CDP server)。負責接收生產服務器上的客戶端發送過來的備份數據,并寫入到CDP倉庫中;此外還負責虛擬卷的重構以及生成iSCSI target。

2.2恢復流程

由于在生產服務器上可以通過訪問掛載過來的虛擬卷來獲取數據卷在恢復時間點的數據,因此本文提出的恢復方法在生產服務器上由監控驅動和恢復模塊共同完成。監控驅動負責監控讀寫操作以及讀時重定向,從而支持上層應用在恢復過程中對數據卷的讀寫。而恢復模塊則在后臺負責將恢復時間點的數據拷貝到本地數據卷。

監控驅動在恢復任務時的監控流程如圖2 所示:

圖2 監控驅動流程

開始恢復之后,監控驅動會監控到所有對數據卷的讀寫請求。對于寫請求,會將請求數據塊的狀態修改為1,然后將數據復制一份并加上時間戳信息發往備份服務器,最后將該寫請求分發給下層驅動處理,下層驅動負責將數據寫入磁盤。對于讀請求,首先判斷讀取數據塊的狀態,如果狀態為1,則表示本地卷中相應數據塊已經被恢復或者寫入,因此不做處理,直接分發給下層驅動來從本地卷讀取數據并返回給應用層;如果狀態為0,則將請求的數據卷修改為虛擬卷,再分發給下層驅動,下層驅動會讀取虛擬卷中的數據然后返回給應用層。

恢復模塊在恢復任務時的流程如圖3 所示。

恢復模塊在恢復開始之后,將讀取塊號初始化為0。然后判斷讀取塊號對應數據塊的狀態,如果狀態為1,則不做處理,如果狀態為0,則從虛擬卷里讀取對應的數據塊并寫入本地卷,然后將數據塊的狀態置為1。接著讓讀取塊號指向下一個數據塊,重復上述處理步驟,直到所有數據塊都被處理,恢復任務結束。

圖3 恢復模塊流程

3 實驗結果

3.1實驗環境

測試環境由兩臺服務器組成,分別是一臺生產服務器和一臺遠程災備服務器。在生產服務器上部署CDP系統客戶端,在災備服務器上部署CDP系統服務端,具體的配置如表1所示。

表1 實驗環境

3.2實驗結果

實驗參考存儲性能理事會發布的Trace數據,通過在應用層發起讀寫請求來模擬數據卷的讀寫。數據卷大小為10G,模擬讀寫3個小時。然后以開始備份時間點作為起點,以30分鐘為時間間隔,選取6個恢復時間點,分別采用傳統恢復方法和本文提出的恢復方法進行恢復,然后測量各情況下的業務中斷時間,即從恢復開始到上層業務能夠正常運行的時間。結果如表2所示。

表2 業務中斷時間

上文已經對傳統恢復算法的業務中斷時間進行了分析,即業務中斷時間等于遠程數據完全恢復的時間,和數據卷大小以及回退時間點到最新時間點這段時間區間中的數據改變量成正比。

對于本文提出的恢復方法來說,業務中斷的時間等于數據重構的時間,只需要遍歷元數據文件,找到回退時間點到最新時間點之間改變了的數據即可,期間只涉及到元數據的讀取操作,通常只需花費很短的時間。

4 結語

本文針對CDP系統在遠程恢復的過程中,不支持對于數據卷的讀寫操作,從而導致業務中斷時間較長的問題,通過后臺恢復以及讀時重定向機制,將業務流程與恢復流程重疊,使數據卷在恢復過程中支持讀寫操作。通過實驗驗證了本文提出的恢復方法能在恢復任務開始之后很短的時間支持數據卷的讀寫,極大地降低了上層業務中斷的時間。

[1]Yang Q,Xiao W,Ren J.TRAP-Array:A Disk Array Architecture Providing Timely Recovery to Any Point-in-time[C].Computer Architecture,2006.ISCA'06.33rd International Symposium on.IEEE,2006:289-301.

[2]范昊,彭超.持續數據保護技術的研究[J].科技資訊,2006(31):11-12.

[3]侯利曼,李戰懷,胡娜.基于數據差異的CDP鄰近時間點恢復[J].計算機科學,2011,38(5):159-163.

[4]WANG Chao,LI Zhan-huai,LIU Hai-long,ZHANG Xiao-fang.RM-LCDF:A Recovery Method for Block-level Continuous Data Protection[J].Computer Science,2013,40(6):172-177.

[5]黃英,李戰懷,侯利曼.一種基于選擇性初始備份和逆向恢復機制的CDP系統[J].科學技術與工程,2010,10(10):2507-2510.

[6]劉建毅.持續數據保護技術[J].中興通訊技術,2010,16(05):5-8.

[7]張也,劉曉潔,鄧健.一種遠程備份數據虛擬重構方法[J].四川大學學報:自然科學版,2015(05).

CDP;Remote Data Recovery;Block-Level Data;I/O Redirection

An Improved Remote Recovery Method for Continuous Data Protection System

WANG Jin-Ming,XIAO Qian-Yu,LIAO Guo-Long
(College of Computer Science,Sichuan University,Chengdu 610065)

王晉明(1990-),男,四川成都人,碩士研究生,研究方向為網絡與信息安全

肖騫宇(1990-),男,四川江油人,碩士研究生,研究方向為網絡與信息安全

廖國龍(1991-),男,四川成都人,碩士研究生,研究方向為網絡與信息安全

2016-01-05

2016-02-01

針對目前持續數據保護(CDP)系統在遠程恢復的過程中,不支持對于數據卷的讀寫操作,從而導致業務中斷時間較長的問題,提出一種改進的備份數據遠程恢復方法,通過后臺恢復以及讀時重定向機制,將業務流程與恢復流程重疊,支持恢復過程中上層業務對數據卷的讀寫操作。通過實驗驗證所提出的恢復方法能在恢復任務開始之后很短的時間支持數據卷的讀寫操作,極大地降低上層業務系統的中斷時間。

During the remote data recovery process,current Continuous Data Protection system does not support to read and write data volume, causing business interruption for a long time.Against to this problem,presents an improved recovery method for remote backup data, based on background recovery and reading redirection mechanism,overlapping business process and recovery process.The experiment proves that this recovery method can significantly reduce the business system interrupt time.

猜你喜歡
數據保護中斷備份
如何只備份有用數據而不備份垃圾數據
創建vSphere 備份任務
數據保護護航IT轉型
——戴爾易安信數據保護解決方案
“單片機中斷概述”微課教學設計
歐洲數據保護委員會通過《一般數據保護條例》相關準則
Windows10應用信息備份與恢復
一種考慮GPS信號中斷的導航濾波算法
Linux中斷線程化分析及中斷延時測試
歐盟“最嚴”數據保護條例生效
跟蹤導練(二)(5)
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合