1.一种连续数据保护方法,其特征在于,包括以下步骤:
S1、由CDP主机对虚拟机磁盘开启CDP模式,提取虚拟机磁盘被创建所形成的源卷至开启CDP模式后任一快照点的快照之间所形成的磁盘数据作为参考数据;
S2、通过IO捕获模块截获虚拟机磁盘自开启CDP模式后的每一次写IO操作所对应数据写入CDP服务器中的当前CDP数据卷及当前CDP元数据卷;判断当前CDP数据卷的大小是否超过配额;若是,则更新虚拟机磁盘的CDP头文件;若否,则返回并循环执行;所述当前CDP数据卷为CDP服务器上的编号最大的CDP数据卷;所述当前CDP元数据卷为CDP服务器上的编号最大的CDP元数据卷;
S3、遍历自步骤S1中快照点时刻至指定数据恢复时刻之间每一次写IO操作所对应的一条元数据信息,并读取与每一条元数据信息相匹配的CDP元数据卷中的元数据节点,然后以时间轴为顺序构建出元数据节点链表;
S4、复制参考数据以得到参考数据副本,读取元数据节点链表中在选取参考数据时所选定的基于CDP模式下的快照点与与指定数据恢复时刻相同或者距离指定数据恢复时刻最接近的元数据节点之间的每个元数据节点,并将元数据节点所对应的实际数据写入参考数据副本中,以得到指定数据恢复时刻所对应的磁盘数据。
2.根据权利要求1所述的连续数据保护方法,其特征在于,所述虚拟机磁盘加载并运行于虚拟化云平台中,所述虚拟化云平台由KVM虚拟化技术、VMM虚拟化技术或者Xen虚拟化技术形成。
3.根据权利要求1或2所述的连续数据保护方法,其特征在于,所述步骤S4中,在复制参考数据以得到参考数据副本之前,首先创建与虚拟机磁盘被创建时所形成的源卷大小相同的空卷,读取元数据节点链表中每个元数据节点所对应的数据先写入参考数据副本,并将写入数据后的参考数据副本覆盖所述空卷。
4.根据权利要求1或2所述的连续数据保护方法,其特征在于,所述步骤S1具体为:
判断虚拟机状态;
若处于关机状态,则通过CDP主机对虚拟机磁盘开启CDP模式,并初始化虚拟机磁盘的CDP头文件;
若处于开机状态,则冻结虚拟机,暂停新的写IO操作,将缓存数据刷新至虚拟机磁盘中,并初始化虚拟机磁盘CDP头文件;
最后,提取虚拟机磁盘被创建所形成的源卷至开启CDP模式后任一快照点的快照之间所形成的磁盘数据作为参考数据。
5.根据权利要求1所述的连续数据保护方法,其特征在于,所述步骤S2中的“配额”为:CDP数据卷的设定容量,并具体为200MB~1GB。
6.根据权利要求1所述的连续数据保护方法,其特征在于,所述步骤S3还包括:查找并删除在获取参考数据所选取的快照点与指定数据恢复时刻的元数据信息以及元数据信息所对应的CDP数据卷及CDP元数据卷。
7.根据权利要求3所述的连续数据保护方法,其特征在于,所述元数据节点:时间戳、写入源卷的起始扇区地址、修改扇区个数以及每次写IO操作所对应的实际数据在CDP数据卷中存放的起始扇区地址。
8.根据权利要求1所述的连续数据保护方法,其特征在于,所述步骤S4之后还包括:删除在步骤S1中所选取的快照点之前被IO捕获模块所捕获并被记录于CDP服务器中的CDP数据卷及CDP元数据卷,并更新虚拟机磁盘的CDP头文件。
9.根据权利要求1所述的连续数据保护方法,其特征在于,所述步骤S2执行之前还包括对虚拟机磁盘的CDP头文件进行初始化,并具体为:新建一个CDP头文件,并以追加的方式向该CDP头文件中写入当前CDP数据卷编号、虚拟机磁盘编号以及一条元数据信息;
所述元数据信息由元数据编号、开始时间戳以及结束时间戳组成;
其中,
元数据编号取整数M,开始时间戳取当前时刻的日历时间,结束时间戳取负整数。
10.根据权利要求1所述的连续数据保护方法,其特征在于,所述步骤S1中的参考数据以异步方式或者同步方式进行提取。