基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法转让专利

申请号 : CN201811265290.7

文献号 : CN109471700B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邢建华车烈权石春刚张斌张振宁王欣李静

申请人 : 北京京航计算通讯研究所

摘要 :

本发明属于云计算领域内的虚拟化数据备份技术领域,具体涉及一种基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法。所述增量备份方法基于增量备份系统来实施,所述系统包括:备份客户端模块、备份客户端接口模块、备份数据读写模块、备份数据预处理模块;与现有技术比较,本发明具备如下有益效果:(1)能够高效生成或者下载备份文件,在备份预处理模块中,设置备份数据专用交换内存分区,用于预读取或写入备份恢复数据,能够提高备份效率,并不依赖于备份代理。(2)在一个备份窗口内,每个时间周期内的备份数据都是基于最近一次备份差异位图生成增量备份文件,因此能够节省存储空间。

权利要求 :

1.一种基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法,其特征在于,所述增量备份方法基于增量备份系统来实施,所述系统包括:备份客户端模块、备份客户端接口模块、备份数据读写模块、备份数据预处理模块;

所述增量备份方法包括如下步骤:

步骤1:通过所述备份客户端模块登录用户,查验用户信息,并设置用户虚拟机的备份优先级,然后依次加入备份读写任务队列,并根据用户虚拟机的备份数据生成任务请求,然后通过备份客户端接口模块传递给备份数据读写模块;

步骤2:所述备份数据读写模块响应备份客户端模块的任务请求,根据任务请求将用户虚拟机的备份数据传递给备份数据预处理模块;

步骤3:所述备份数据预处理模块设置备份数据专用的交换内存分区,接收备份数据读写模块发送的备份数据;所述备份数据预处理模块按照备份客户端模块设置的用户虚拟机的备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;所述备份数据预处理模块根据备份读写队列依次生成备份文件,然后发送至用户虚拟机;

所述步骤3中,根据备份读写队列依次生成备份文件的过程包括:步骤31:所述备份数据预处理模块设置备份数据专用的交换内存分区;

步骤32:在交换内存分区中,所述备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件;

步骤33:在交换内存分区中,所述备份数据预处理模块基于Qcow2镜像文件的差异位图特性,通过差异位图检测由备份数据读写模块传递来的用户虚拟机的备份数据,检测用户虚拟机变化,在全量文件的基础上生成增量备份文件;

步骤34:所述备份数据预处理模块通过备份专用通道向用户虚拟机发送增量备份文件;

所述步骤33中:

在生成增量备份文件的过程中,使用差异位图记录交换内存分区中用户虚拟机的地址空间中每个镜像块的变化情况,其中,0表示其对应的镜像块未变化,1表示其对应的镜像块发生变化;

全量文件中每个镜像块对应的差异位图中的位均为0;

增量备份文件中,在发生变化的镜像块对应的差异位图中的位由0置为1;

在一个备份窗口内,备份前的虚拟机地址空间备份后清空,只保留差异位图的信息;每个时间周期内的备份数据都是基于最近一次备份差异位图生成增量备份文件。

2.如权利要求1所述的基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法,其特征在于,备份数据预处理模块与用户虚拟机之间的数据传递采用专用的备份专用通道,不占用用户虚拟机读取写入数据通道。

3.如权利要求1所述的基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法,其特征在于,所述读写任务队列中,同一优先级的用户虚拟机按照时间先后顺序排列。

4.如权利要求1所述的基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法,其特征在于,所述备份数据读写模块中包含断点续传模块,用于在发送或者下载用户虚拟机备份数据过程中,实现断点续传功能。

5.如权利要求1所述的基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法,其特征在于,所述系统的备份流程包括:步骤A1:备份客户端模块发起备份的任务请求,设置用户虚拟机备份优先级;

步骤A2:备份数据读写模块响应任务请求,根据任务请求发送用户虚拟机的备份数据至备份数据预处理模块中备份数据专用的交换内存分区;

步骤A3:备份数据预处理模块按照用户虚拟机备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;备份数据预处理模块根据备份读写队列依次安排备份数据传输顺序;

步骤A4:第一次备份,备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件,完成全量备份;

步骤A5:第二次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,生成增量备份文件;

步骤A6:第三次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,将备份前的虚拟机地址空间备份后清空,只保留差异位图的信息,生成增量备份文件;

步骤A7:第N次备份如步骤A6操作所示。

说明书 :

基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法

技术领域

[0001] 本发明属于云计算领域内的虚拟化数据备份技术领域,具体涉及一种基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法。

背景技术

[0002] 目前,虚拟化技术被广泛应用于政府、军队、学校、医院、企业等各种机构来提供信息化服务,由于虚拟化环境的开放性和网络复杂性,保存在虚拟化系统平台上的用户数据
和应用时刻面临着安全威胁。因此,如何高效率的保护虚拟化平台上的用户数据,成为应用
虚拟化安全的热点问题。
[0003] 目前国内外针对kvm虚拟化备份方法,主要包括以下几种:
[0004] (1)基于操作系统内部代理的方法:该方法在操作系统上安装专用代理,通过操作系统卷映射拷贝服务或文件系统实时复制实现数据的备份,然后将数据传输给第三方备份
软件。该方法的缺点是部署实施繁琐、管理复杂;它需要在每个虚拟机中安装专用备份恢复
代理,过多的干涉用户虚拟机内部运行行为。
[0005] (2)基于qemu虚拟化在线快照指令的方法:该方法通过已有的虚拟化快照管理命令,将用户数据备份到临时数据区域,然后将数据传输给第三方备份软件。该方法的缺点是
不支持增量备份;针对多次克隆的虚拟机镜像文件的依赖不能管理;不能实现虚拟机镜像
文件的增量备份。
[0006] (3)基于虚拟机存储为逻辑卷的快照:该方法通过lvm自身的快照机制实现虚拟机数据的数据快照备份。该方法的缺点不支持集群虚拟机的在线快照,虚拟机存储只能用于
基于逻辑卷的存储,不能适应多种文件系统作为虚拟机的存储资源。
[0007] 综合上述现有技术,整理其缺点包括:
[0008] (1)由于虚拟化环境的开放性和网络复杂性,核心重要资源面临着安全威胁。与此同时虚拟化系统、基础软硬件设施基本上被国外厂商主导,存在巨大的安全隐患,因此针对
国外虚拟化系统的备份技术存在着巨大的安全威胁;
[0009] (2)国内虚拟化备份技术多数需要在虚拟机上安装备份代理,且执行备份任务时大量占用服务器资源,影响正常业务运行,导致备份技术效率低下。

发明内容

[0010] (一)要解决的技术问题
[0011] 本发明要解决的技术问题是:如何提供一种基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法。
[0012] (二)技术方案
[0013] 为解决上述技术问题,本发明提供一种基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法,所述增量备份方法基于增量备份系统来实施,所述系统包括:备份客户
端模块、备份客户端接口模块、备份数据读写模块、备份数据预处理模块;
[0014] 所述增量备份方法包括如下步骤:
[0015] 步骤1:通过所述备份客户端模块登录用户,查验用户信息,并设置用户虚拟机的备份优先级,然后依次加入备份读写任务队列,并根据用户虚拟机的备份数据生成任务请
求,然后通过备份客户端接口模块传递给备份数据读写模块;
[0016] 步骤2:所述备份数据读写模块响应备份客户端模块的任务请求,根据任务请求将用户虚拟机的备份数据传递给备份数据预处理模块;
[0017] 步骤3:所述备份数据预处理模块设置备份数据专用的交换内存分区,接收备份数据读写模块发送的备份数据;所述备份数据预处理模块按照备份客户端模块设置的用户虚
拟机的备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;所
述备份数据预处理模块根据备份读写队列依次生成备份文件,然后发送至用户虚拟机。
[0018] 其中,所述步骤3中,根据备份读写队列依次生成备份文件的过程包括:
[0019] 步骤31:所述备份数据预处理模块设置备份数据专用的交换内存分区;
[0020] 步骤32:在交换内存分区中,所述备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件;
[0021] 步骤33:在交换内存分区中,所述备份数据预处理模块基于Qcow2镜像文件的的差异位图特性,通过差异位图检测由备份数据读写模块传递来的用户虚拟机的备份数据,检
测用户虚拟机变化,在全量文件的基础上生成增量备份文件;
[0022] 步骤34:所述备份数据预处理模块通过备份专用通道向用户虚拟机发送增量备份文件。
[0023] 其中,所述步骤33中:
[0024] 在生成增量备份文件的过程中,使用差异位图记录交换内存分区中用户虚拟机的地址空间中每个镜像块的变化情况,其中,0表示其对应的镜像块未变化,1表示其对应的镜
像块发生变化;
[0025] 全量文件中每个镜像块对应的差异位图中的位均为0;
[0026] 增量备份文件中,在发生变化的镜像块对应的差异位图中的位由0置为1。
[0027] 其中,在一个备份窗口内,备份前的虚拟机地址空间备份后清空,只保留差异位图的信息;每个时间周期内的备份数据都是基于最近一次备份差异位图生成增量备份文件。
[0028] 其中,备份数据预处理模块与用户虚拟机之间的数据传递采用专用的备份专用通道,不占用用户虚拟机读取写入数据通道。
[0029] 其中,所述读写任务队列中,同一优先级的用户虚拟机按照时间先后顺序排列。
[0030] 其中,所述备份数据读写模块中包含断点续传模块,用于在发送或者下载用户虚拟机备份数据过程中,实现断点续传功能。
[0031] 其中,所述系统的备份流程包括:
[0032] 步骤A1:备份客户端模块发起备份的任务请求,设置用户虚拟机备份优先级;
[0033] 步骤A2:备份数据读写模块响应任务请求,根据任务请求发送用户虚拟机的备份数据至备份数据预处理模块中备份数据专用的交换内存分区;
[0034] 步骤A3:备份数据预处理模块按照用户虚拟机备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;备份数据预处理模块根据备份读写队列依
次安排备份数据传输顺序;
[0035] 步骤A4:第一次备份,备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件,完成全量备份;
[0036] 步骤A5:第二次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,生成增量备份文件;
[0037] 步骤A6:第三次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,将备份前的虚拟机地址空间备份后清空,只保留差异位图的信息,生成增量备份文件。
[0038] 步骤A7:第N次备份如步骤A6操作所示。
[0039] (三)有益效果
[0040] 本发明针对虚拟机镜像损坏后虚拟机中数据丢失的问题,研发了一种高安全、高效率、高可靠的增量备份技术。其目的是建立一种基于Qcow2镜像文件的差异位图特性的安
全高效的虚拟机增量备份方案,该方案无需安装备份代理工具,是通过差异位图新特性生
成增量备份文件,设置备份专用数据交换内存分区,特别是生成备份数据与读取备份数据
在交换内存分区采用按照用户需求读取策略异步实现。该方案支持单节点和集群两种模式
下的备份需求,能适应多种文件系统作为虚拟机的存储资源,同时采用加密卡内部秘钥、用
户输入pin码加密虚拟机并设置专用加密传输通道,保证备份数据不被恶意用户利用,做到
高效、可靠、安全。
[0041] 与现有技术相比较,本发明具备如下有益效果:
[0042] (1)能够高效生成或者下载备份文件,在备份预处理模块中,设置备份数据专用交换内存分区,用于预读取或写入备份恢复数据,能够提高备份效率,并不依赖于备份代理。
[0043] (2)在一个备份窗口内,每个时间周期内的备份数据都是基于最近一次备份差异位图生成增量备份文件,因此能够节省存储空间。
[0044] (3)支持单节点和集群两种模式下的备份需求,能适应多种文件系统作为虚拟机的存储资源。

附图说明

[0045] 图1为本发明技术方案原理框图。
[0046] 图2为本发明差异位图变化示意图。
[0047] 图3为本发明增量备份文件的生成过程示意图。

具体实施方式

[0048] 为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0049] 为解决上述技术问题,本发明提供一种基于Qcow2镜像文件的差异位图特性的虚拟机增量备份方法,所述增量备份方法基于增量备份系统来实施,所述系统包括:备份客户
端模块、备份客户端接口模块、备份数据读写模块、备份数据预处理模块;
[0050] 所述增量备份方法包括如下步骤:
[0051] 步骤1:通过所述备份客户端模块登录用户,查验用户信息,并设置用户虚拟机的备份优先级,然后依次加入备份读写任务队列,并根据用户虚拟机的备份数据生成任务请
求,然后通过备份客户端接口模块传递给备份数据读写模块;
[0052] 步骤2:所述备份数据读写模块响应备份客户端模块的任务请求,根据任务请求将用户虚拟机的备份数据传递给备份数据预处理模块;
[0053] 步骤3:所述备份数据预处理模块设置备份数据专用的交换内存分区,接收备份数据读写模块发送的备份数据;所述备份数据预处理模块按照备份客户端模块设置的用户虚
拟机的备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;所
述备份数据预处理模块根据备份读写队列依次生成备份文件,然后发送至用户虚拟机。
[0054] 其中,所述步骤3中,根据备份读写队列依次生成备份文件的过程包括:
[0055] 步骤31:所述备份数据预处理模块设置备份数据专用的交换内存分区;
[0056] 步骤32:在交换内存分区中,所述备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件;
[0057] 步骤33:在交换内存分区中,所述备份数据预处理模块基于Qcow2镜像文件的的差异位图特性,通过差异位图检测由备份数据读写模块传递来的用户虚拟机的备份数据,检
测用户虚拟机变化,在全量文件的基础上生成增量备份文件;
[0058] 步骤34:所述备份数据预处理模块通过备份专用通道向用户虚拟机发送增量备份文件。
[0059] 其中,所述步骤33中:
[0060] 在生成增量备份文件的过程中,使用差异位图记录交换内存分区中用户虚拟机的地址空间中每个镜像块的变化情况,其中,0表示其对应的镜像块未变化,1表示其对应的镜
像块发生变化;
[0061] 全量文件中每个镜像块对应的差异位图中的位均为0;
[0062] 增量备份文件中,在发生变化的镜像块对应的差异位图中的位由0置为1。
[0063] 其中,在一个备份窗口内,备份前的虚拟机地址空间备份后清空,只保留差异位图的信息;每个时间周期内的备份数据都是基于最近一次备份差异位图生成增量备份文件。
[0064] 其中,备份数据预处理模块与用户虚拟机之间的数据传递采用专用的备份专用通道,不占用用户虚拟机读取写入数据通道。
[0065] 其中,所述读写任务队列中,同一优先级的用户虚拟机按照时间先后顺序排列。
[0066] 其中,所述备份数据读写模块中包含断点续传模块,用于在发送或者下载用户虚拟机备份数据过程中,实现断点续传功能。
[0067] 其中,所述系统的备份流程包括:
[0068] 步骤A1:备份客户端模块发起备份的任务请求,设置用户虚拟机备份优先级;
[0069] 步骤A2:备份数据读写模块响应任务请求,根据任务请求发送用户虚拟机的备份数据至备份数据预处理模块中备份数据专用的交换内存分区;
[0070] 步骤A3:备份数据预处理模块按照用户虚拟机备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;备份数据预处理模块根据备份读写队列依
次安排备份数据传输顺序;
[0071] 步骤A4:第一次备份,备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件,完成全量备份;
[0072] 步骤A5:第二次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,生成增量备份文件;
[0073] 步骤A6:第三次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,将备份前的虚拟机地址空间备份后清空,只保留差异位图的信息,生成增量备份文件。
[0074] 步骤A7:第N次备份如步骤A6操作所示。
[0075] 此外,本发明还提供一种基于Qcow2镜像文件的差异位图特性的虚拟机增量备份系统,如图1所示,所述系统包括:备份客户端模块、备份客户端接口模块、备份数据读写模
块、备份数据预处理模块;
[0076] 所述备份客户端模块用于登录用户,查验用户信息,并设置用户虚拟机的备份优先级,然后依次加入备份读写任务队列,并根据用户虚拟机的备份数据生成任务请求,然后
通过备份客户端接口模块传递给备份数据读写模块;
[0077] 所述备份数据读写模块响应备份客户端模块的任务请求,根据任务请求将用户虚拟机的备份数据传递给备份数据预处理模块;
[0078] 所述备份数据预处理模块用于设置备份数据专用的交换内存分区,用于接收备份数据读写模块发送的备份数据;所述备份数据预处理模块按照备份客户端模块设置的用户
虚拟机的备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;
所述备份数据预处理模块根据备份读写队列依次生成备份文件,然后发送至用户虚拟机。
[0079] 其中,所述备份数据预处理模块中,根据备份读写队列依次生成备份文件的原理是:
[0080] 所述备份数据预处理模块设置备份数据专用的交换内存分区;
[0081] 在交换内存分区中,所述备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件;
[0082] 在交换内存分区中,所述备份数据预处理模块基于Qcow2镜像文件的的差异位图特性,通过差异位图检测由备份数据读写模块传递来的用户虚拟机的备份数据,检测用户
虚拟机变化,在全量文件的基础上生成增量备份文件;
[0083] 所述备份数据预处理模块通过备份专用通道向用户虚拟机发送增量备份文件。
[0084] 其中,所述在交换内存分区中,所述备份数据预处理模块基于Qcow2镜像文件的的差异位图特性,通过差异位图检测由备份数据读写模块传递来的用户虚拟机的备份数据,
检测用户虚拟机变化,在全量文件的基础上生成增量备份文件的过程中:
[0085] 在生成增量备份文件的过程中,使用差异位图记录交换内存分区中用户虚拟机的地址空间中每个镜像块的变化情况,其中,0表示其对应的镜像块未变化,1表示其对应的镜
像块发生变化;
[0086] 全量文件中每个镜像块对应的差异位图中的位均为0;
[0087] 增量备份文件中,在发生变化的镜像块对应的差异位图中的位由0置为1。
[0088] 如图2所示,在虚拟机的地址空间中,灰色部分为数据变化的镜像块,与这些镜像块对应的差异位图中的位为1;未变化的镜像快,与这些镜像块对应的差异位图中的位为0。
[0089] 其中,在一个备份窗口内,备份前的虚拟机地址空间备份后清空,只保留差异位图的信息;每个时间周期内的备份数据都是基于最近一次备份差异位图生成增量备份文件。
如图3所示。
[0090] 其中,备份数据预处理模块与用户虚拟机之间的数据传递采用专用的备份专用通道,不占用用户虚拟机读取写入数据通道。
[0091] 其中,所述读写任务队列中,同一优先级的用户虚拟机按照时间先后顺序排列。
[0092] 其中,所述备份数据读写模块中包含断点续传模块,用于在发送或者下载用户虚拟机备份数据过程中,实现断点续传功能。
[0093] 其中,所述系统的备份流程包括:
[0094] 步骤A1:备份客户端模块发起备份的任务请求,设置用户虚拟机备份优先级;
[0095] 步骤A2:备份数据读写模块响应任务请求,根据任务请求发送用户虚拟机的备份数据至备份数据预处理模块中备份数据专用的交换内存分区;
[0096] 步骤A3:备份数据预处理模块按照用户虚拟机备份优先级依次加入备份读写队列,同一优先级虚拟机按照时间先后顺序排列;备份数据预处理模块根据备份读写队列依
次安排备份数据传输顺序;
[0097] 步骤A4:第一次备份,备份数据预处理模块通过备份专用通道接收用户虚拟机的初始数据,根据初始数据形成全量文件,完成全量备份;
[0098] 步骤A5:第二次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,生成增量备份文件;
[0099] 步骤A6:第三次备份,备份数据预处理模块通过差异位图检测用户虚拟机变化,将备份前的虚拟机地址空间备份后清空,只保留差异位图的信息,生成增量备份文件。
[0100] 步骤A7:第N次备份如步骤A6操作所示。
[0101] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形
也应视为本发明的保护范围。