一种改进的持续数据保护系统远程恢复方法

2016-09-23 07:19:41王晋明肖骞宇廖国龙
现代计算机 2016年4期
关键词:数据保护中断备份

王晋明,肖骞宇,廖国龙

(四川大学计算机学院,成都 610065)

一种改进的持续数据保护系统远程恢复方法

王晋明,肖骞宇,廖国龙

(四川大学计算机学院,成都610065)

持续数据保护;远程数据恢复;块数据;I/O重定向

0 引言

目前信息技术正处在一个飞速发展的阶段,随之而来的是数据的爆炸式增长以及重要性的不断提高。对于企业来说,数据信息是业务运行的根本,是非常重要的财富,一旦数据丢失或者遭到破坏,由此带来的损失是难以估量的。基于企业对于数据安全的需求,各种数据保护技术不断产生。持续数据保护(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)。恢复模块会在后台将数据卷恢复时间点的数据拷贝到本地卷上,完成整个恢复任务。

(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.

猜你喜欢
数据保护中断备份
“备份”25年:邓清明圆梦
跟踪导练(二)(5)
千里移防,卫勤保障不中断
解放军健康(2017年5期)2017-08-01 06:27:44
TPP生物药品数据保护条款研究
知识产权(2016年5期)2016-12-01 06:59:25
欧盟数据保护立法改革之发展趋势分析
欧盟《一般数据保护条例》新规则评析
浅析数据的备份策略
科技视界(2015年6期)2015-08-15 00:54:11
药品试验数据保护对完善中药品种保护制度的启示
出版原图数据库迁移与备份恢复
AT89C51与中断有关的寄存器功能表解