首页> 中国专利> 一种基于持续数据保护与kvm虚拟化的容灾方法

一种基于持续数据保护与kvm虚拟化的容灾方法

摘要

本发明涉及一种基于持续数据保护与kvm虚拟化的容灾方法,包括:A、启动容灾任务;B、判断是否进行了应急恢复,若是,则执行步骤C,若否,则所述的容灾端继续等待所述的备份端产生时间点,并从所述的备份端获取时间点,将每一个时间点内的数据块写入相应虚拟磁盘;C、依次对每一块kvm虚拟磁盘进行快照,完成后容灾任务结束;D、再次启动容灾任务,则先对每一块kvm虚拟磁盘回滚快照,再从所述的备份端获取未恢复的时间点,将获取到的每一个时间点内的数据块写入相应虚拟磁盘。与现有技术相比,本发明具有提高容灾效率、避免用户生产数据的永久性丢失等优点。

著录项

  • 公开/公告号CN105550063A

    专利类型发明专利

  • 公开/公告日2016-05-04

    原文格式PDF

  • 申请/专利权人 上海爱数信息技术股份有限公司;

    申请/专利号CN201510884272.7

  • 发明设计人 陈其然;

    申请日2015-12-03

  • 分类号G06F11/14(20060101);

  • 代理机构31225 上海科盛知识产权代理有限公司;

  • 代理人应小波

  • 地址 201112 上海市闵行区联航路1188号8幢第2层A-1单元

  • 入库时间 2023-12-18 15:54:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-22

    授权

    授权

  • 2016-06-01

    实质审查的生效 IPC(主分类):G06F11/14 申请日:20151203

    实质审查的生效

  • 2016-05-04

    公开

    公开

说明书

技术领域

本发明涉及计算机信息存储技术领域,尤其是涉及一种基于持续数据保护与kvm虚拟化的容灾方法。

背景技术

随着科学技术的飞速发展,如今已进入到信息时代,信息的价值不言而喻,而在计算机领域中,数据是信息的载体,所以对数据的保护就是重中之重。而如何正确有效地将数据保护起来,则是当今较为流行的研究课题。持续数据保护,也称作持续备份,即是实现数据保护的途径之一。

块级备份,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。如中国专利公开号为CN103365745A公开一种基于内容地址存储的块级备份方法,该方法包括两个阶段:第一阶段,采用全量状态位图技术对磁盘数据进行分块和初始化备份。第二阶段,采用增量状态位图技术对磁盘数据进行分块和增量备份。其中,全量状态位图是特指从数据卷获取的第一个份位图,反映的是数据卷中数据块的被使用情况,具体记录的是源卷数据块使用状态的0和1序列,一个数据块对应位图的一位,0表示该数据块尚未被使用,1表示相反的情形。增量状态位图反映的是自上次位图以来数据卷中数据块的更新状态,根据数据的时空分布特性,增量状态位图中的1序列通常比全量状态位图中的1序列少得多,而且也更集中。该方法具体的步骤为:

1、源卷分段:根据预定义的数据段大小阀值和源卷全量状态位图,以数据块为单位,源卷全量状态位图中的连续1序列为依据,对源卷数据区进行分段,每个单一段称为一个数据段;

2、初始化传输(备份):将源卷的所有数据段通过网络传输到存储介质;

3、获取增量状态位图:实时获取源卷数据更新状态,计算数据块更新区间,然后生成源卷增量状态位图,最后进行增量数据块备份;

4、增量传输(备份):将源卷的增量数据段通过网络传输到存储介质。

持续数据保护CDP,是指通过在操作系统核心层中植入文件过滤驱动程序,来实时捕获所有文件访问操作。对于需要CDP持续备份保护的文件,当CDP管理模块经由文件过滤驱动拦截到其改写操作时,则预先将文件数据变化部分连同当前的系统时间戳(SystemTimeStamp)一起自动备份到存储介质中。从理论上说,任何一次的文件数据变化都会被自动记录,所以称其为持续数据保护。

在上述持续块级备份方法的基础上,如何快速、有效地使操作系统及上层应用还原至异机,并使其可以正常运行和使用是本发明要解决的问题。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高容灾效率、避免用户生产数据的永久性丢失的基于持续数据保护与kvm虚拟化的容灾方法。

本发明的目的可以通过以下技术方案来实现:

一种基于持续数据保护与kvm虚拟化的容灾方法,其特征在于,包括以下步骤:

A、启动容灾任务,任务涉及备份端与容灾端;其中所述的备份端持续产生时间点,待所述的备份端产生第一个时间点后,在所述的容灾端创建kvm虚拟机与虚拟磁盘,并从所述的备份端获取时间点,将每一个时间点内的数据块写入相应虚拟磁盘;

B、判断是否进行了应急恢复,若是,则执行步骤C,若否,则所述的容灾端继续等待所述的备份端产生时间点,并从所述的备份端获取时间点,将每一个时间点内的数据块写入相应虚拟磁盘;

C、依次对每一块kvm虚拟磁盘进行快照,完成后容灾任务结束;

D、再次启动容灾任务,则先对每一块kvm虚拟磁盘回滚快照,再从所述的备份端获取未恢复的时间点,将获取到的每一个时间点内的数据块写入相应虚拟磁盘。

所述的步骤A具体为:

A1)启动应用容灾任务,所述的备份端开始复制数据块至介质服务器并持续产生时间点,所述的容灾端则向介质服务器发送恢复请求;

A2)所述的介质服务器遍历各个时间点中的备份数据,并逐一将每个时间点中的数据发送给所述的容灾端;

A3)所述的容灾端判断接收到的备份数据是否为数据块对象,若是,则执行步骤A8),若否,则执行步骤A4);

A4)所述的容灾端根据收到的数据对象,判断容灾机是否已经被创建,若是,则执行步骤A6),若否,则执行步骤A5);

A5)所述的容灾端根据容灾任务中指定的名称,创建kvm容灾机,并执行步骤A6);

A6)所述的容灾端根据收到的数据对象,判断监控卷所在磁盘是否已经被创建,若是,则打开磁盘句柄,并返回步骤A2),若否,则执行步骤A7);

A7)以硬盘在原生产机中的索引号为名,创建与原硬盘相等大小的虚拟磁盘,并打开创建完成的磁盘句柄,将引导信息写入虚拟磁盘,返回步骤A2);

A8)所述的容灾端将接收到的数据块一一写入虚拟磁盘,返回步骤A2)。

所述的索引号、原硬盘大小和引导信息均保存在数据对象的元数据中。

所述步骤A3)中,容灾端接收到的备份数据类型分为数据对象和数据块对象,备份端将一个监控分区组织成为一个数据对象,并将该监控分区的各属性记录于数据对象的元数据中。

所述步骤A3)中,

所述步骤A8)中,容灾端将接收到的数据块一一写入虚拟磁盘具体为:

801)获取已打开的磁盘句柄;

802)计算数据块相对磁盘偏移位置,即监控分区的起始位置相对磁盘的偏移与数据块自身偏移之和,其中相对磁盘的偏移从数据对象的元数据中获取,所述的自身偏移为数据块的起始位置相对监控分区的偏移;

803)以该数据块的长度为写入长度,在802)所述的偏移位置写入数据块。

所述的容灾端为kvm虚拟化平台。

所述的步骤C具体为:

C1)遍历kvm虚拟机上的虚拟磁盘;

C2)将C1)遍历到的虚拟磁盘从虚拟机卸载;

C3)以C1)遍历到的虚拟磁盘作为母盘创建子盘,并逐对记录母盘子盘;

C4)将C3)中创建的子盘挂载至虚拟机,返回步骤C1)。

所述的步骤D具体为:

D1)遍历kvm虚拟机上的虚拟磁盘;

D2)将D1)遍历到的虚拟磁盘从虚拟机卸载;

D3)根据记录,找到D1)遍历到虚拟磁盘的母盘;

D4)将D3)中找到的母盘挂载至虚拟机,返回步骤D1)。

所述的数据对象是由监控分区的属性信息组织而成的一种模型,并用一个全球唯一标识符命名。

所述的数据块对象是由监控分区的二进制数据切片、该切片相对监控分区起始位置的偏移和该切片的长度组织而成的一种模型,并用相应监控分区所对应的数据对象的名称来命名,同一监控分区所对应的数据对象和数据块对象是一对多的关系。

与现有技术相比,本发明具有以下优点:

1)传统的文件级别的应用容灾受上层因素影响极大,尤其是在上层文件数量达到百万甚至千万级时,文件级别的应用容灾方法的性能严重下降,大大延长了灾难恢复时间RTO。本发明采用块级别的持续数据保护和恢复,在性能上有更好的表现,无需考虑上层操作系统、文件系统、文件数量所带来的影响,提高了生产环境还原的速度,加快还原的时间,减小了由于上层业务中断所造成用户数据永久丢失的风险。

2)本发明采用对kvm磁盘进行快照和回滚快照的方式,实现了在容灾任务再一次被发起后磁盘中的数据可以还原到上一次任务结束时的状态,而不会因为用户在两次容灾任务期间对磁盘数据做出的修改而影响后一次容灾任务的执行,更可以防止由于用户的操作不当导致容灾机宕机且无法挽回的现象发生。

附图说明

图1为本发明虚拟化应用容灾的结构图;

图2为本发明虚拟化应用容灾的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

容灾系统由生产服务器(内含备份客户端)、kvm虚拟化平台(内含恢复客户端)和控制台(内含介质服务器)组成,控制台分别与生产服务器、kvm虚拟化平台通过以太网连接,采用的传输协议是TCP/IP。整个系统的结构图如图1所示。

本发明实施例提供一种基于持续数据保护与KVM虚拟化的容灾方法,具体工作流程示意图如图2所示,包括以下步骤:

如图2所示,容灾任务发起后,备份端(cdp端)和容灾端(cdr端)同时启动执行:

步骤s001,cdp端进行完全初始化备份,并产生完全初始化时间点;

步骤s002,判断是否已产生完全初始化时间点,若是,则进入步骤s003,若否,则返回步骤s001;

步骤s003,cdp端进行增量备份,并产生增量时间点;

步骤s004,cdp具体实现过程,非本专利重点,在此不作具体描述;

步骤s005,在cdp端产生完全初始化时间点后,cdr端从等待状态中被唤醒,检查kvm容灾虚拟机是否存在,若是,则进入步骤s007,若否,则进入步骤s006;

步骤s006,创建kvm容灾虚拟机,并转至步骤s009;

步骤s007,检查kvm容灾虚拟机是否处于开机状态,若是,则进入步骤s008,若否,则进入步骤s009;

步骤s008,关闭kvm容灾虚拟机,并转至步骤s009;

步骤s009,恢复时间点中的数据对象,从该对象的元数据中获取出需要被恢复的分区信息,信息具体包括:分区大小,分区所在磁盘大小,分区所在磁盘在原生产机中的索引编号,分区相对所在磁盘的偏移值,分区所在磁盘的引导信息。

步骤s010,根据步骤s009中获取到的“分区所在磁盘在原生产机中的索引编号”,判断分区所在磁盘是否已存在于kvm容灾虚拟机中,若是,则进入步骤s011,若否,则进入步骤s012;

步骤s011,根据步骤s009中获取到的“分区所在磁盘大小、分区所在磁盘的引导信息”,为kvm容灾机创建一块新的磁盘并写入引导信息;

步骤s012,恢复时间点中数据对象的数据块,即获取到数据块自身的偏移值,经过计算得出该块相对即将写入磁盘的偏移,在偏移位置处写入数据块的内容;

步骤s013,判断该数据对象中的所有数据块是否已都恢复完成,若是,则进入步骤s014,若否,则返回步骤s012;

步骤s014,判断该时间点中的所有数据对象是否已都恢复完成,若是,则进入步骤s015,若否,则返回步骤s009;

步骤s015,判断是否发起了应急恢复操作,若是,则对kvm容灾机的磁盘进行快照并结束此次容灾任务,若否,则进入步骤s016;

步骤s016,判断所有时间点是否已都恢复完成,若是,则继续等待cdp端产生新的时间点,若否,则返回步骤s009。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号