一种跟踪扇区数据变化虚拟机备份方法

文档序号:6638094阅读:306来源:国知局
一种跟踪扇区数据变化虚拟机备份方法
【专利摘要】本发明涉及一种跟踪扇区数据变化虚拟机备份方法,通过文件系统位图文件来获取磁盘簇的使用信息,完全备份时,获取磁盘中已经使用的簇对应的扇区使用信息,将该簇存储地址的数据进行备份并做hash操作,将hash值保存到hashmap中;增量备份时,将已使用簇与之前备份的簇进行比较,若此簇不存在则直接备份此簇对应的扇区的数据,并将此扇区中的值做hash插入到之前的hashmap中,若找到此簇,则比较现在数据的hash值和之前的hash值是否相同,相同则跳过不需要备份,不同则备份此簇对应扇区的数据,并使用新的hash值替换之前的值存入hashmap中。本发明可在CBT失效时,也可以达到增量备份的目的。
【专利说明】一种跟踪扇区数据变化虚拟机备份方法

【技术领域】
[0001] 本发明涉及属于VMware磁盘备份和恢复领域,尤其是涉及一种跟踪扇区数据变 化虚拟机备份方法。

【背景技术】
[0002] VDDK作为VMware虚拟机的文件系统,就目前的表现来看还是存在不少的问题,因 此各个商家的备份软件在应对VDDK自身产生的一些问题上均没有较好的避免方法,这也 引起了数据保护成本的提升,或者保护失效,给客户带来数据丢失的灾难。
[0003] NTFS系统是以MFT(主文件表)为核心,将整个分区的系统文件和用户文件有 机的组合在一起的文件系统。文件系统中每个对象都是一种文件,因此它也包含$MFT、 $MFTMirr、$Bitmap、$boot等16个系统文件。位图文件($Bitmap)存在NTFS文件系统中, 且存在于元数据文件中,对硬盘簇使用情况进行记录,在位图文件的MTF表中记录了位图 文件的数据存储地址。
[0004] MFT包含很多带有文件信息的记录,这些记录将整个文件系统的内容全部标注起 来,所有的记录都可以当成文件来处理。
[0005] VMware在ESX/ESXI 4. 0 以后更高的版本引入了 CBT (changed blocktracking)虚 拟机磁盘的修改块跟踪技术,而此项技术正常的运行需要虚拟机启动CBT时,虚拟机包含 零个快照,如果有快照则需要清空快照且重启虚拟机,这样显然不能符合用户业务连续不 中断的宗旨。也就是说大部分情况下虚拟机的CBT设置是失败的。在通常的处理方式中对 于CBT失效的问题都是重新去备份其整个完全磁盘,来达到备份保护数据的目的,这样的 方式已经越来越不能满足当下虚拟机迅速增加、数据量急剧膨胀的情况,这样不仅在备份 的时候需要消耗更多的时间,而且使储存的利用率呈指数下降,最重要的是这样的话就不 能灵活做到在最佳时机完成保护虚拟机数据的目的。针对此类问题要想继续进行快跟踪备 份目前没有发现有任何来解决此问题的方法。


【发明内容】

[0006] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种跟踪扇区数据 变化虚拟机备份方法,在使用CBT失效时,仍然可以进行增量数据的备份,而不必要在备份 整个磁盘全部数据。
[0007] 本发明的目的可以通过以下技术方案来实现:
[0008] 一种跟踪扇区数据变化虚拟机备份方法,包括完全备份和增量备份,所述完全备 份包括:
[0009] Al)获取位图文件,读取该位图文件的数据区中记录的磁盘簇使用情况信息;
[0010] A2)根据所述磁盘簇使用情况信息以簇为单元计算已使用簇的hash值,并存储至 hashmap中,同时对相应已使用簇对应的扇区数据进行备份;
[0011] 所述增量备份包括:
[0012] BI)获取位图文件,读取该的数据区中记录的磁盘簇使用情况信息;
[0013] B2)根据所述磁盘簇使用情况信息以簇为单元计算已使用簇的hash值;
[0014] B3)判断hashmap中是否存在步骤B2)所计算的已使用簇的hash值,若是,则执行 步骤B4),若否,则将步骤B2)计算得的hash值添加入hashmap中,同时对相应已使用簇对 应的扇区数据进行备份;
[0015] B4)将步骤B2)计算得的hash值与hashmap中保存的hash值进行比较,判断两个 值是否相同,若是,则备份结束,若否,则对相应已使用簇对应的扇区数据进行备份,同时用 步骤B2)计算得的hash值替换hashmap中保存的hash值。
[0016] 优选地,进行备份前,判断当前执行任务为完全备份还是增量备份。
[0017] 优选地,所述步骤Al)与步骤BI)中,获取位图文件后,判断已使用簇是否为坏簇, 若是,则跳过该簇,若否,则执行进一步操作。
[0018] 所述位图文件的获取方式为:通过run Data属性来获取整个文件系统的Bitmap 属性。
[0019] 所述步骤A2)与步骤B2)中,计算已使用簇的hash值具体为:
[0020] (a)获取簇对应的位图信息;
[0021] (b)将簇对应的位图信息转换成扇区对应的位图信息;
[0022] (c)将步骤(b)获得的位图信息按扇区设定的块大小进行分组;
[0023] (d)对每一个组内的连续扇区的数据值进行hash操作,获得hash值。
[0024] 所述位图文件对应的数据中每一个字节的每一位表示在逻辑驱动器中每个磁盘 簇的使用情况,"〇"表示其对应的磁盘簇为未使用簇,"1"表示其对应的磁盘簇为已使用簇。
[0025] 与现有技术相比,本发明方法让CBT失效的虚拟机同样也可以达到被增量备份的 目的,同时由于本发明站在整个文件系统层面来进行描述和处理,故系统完整性高,处理速 度快,特别适用于要求处理速度优先的生产场景。

【专利附图】

【附图说明】
[0026] 图1为虚拟机内部文件示意图;
[0027] 图2为本发明备份具体流程示意图;
[0028] 图3为本发明hash值值过程流程图。

【具体实施方式】
[0029] 下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案 为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于 下述的实施例。
[0030] 本发明实施例提供一种跟踪扇区数据变化虚拟机备份方法,通过文件系统位图文 件($Bitmap)来获取磁盘簇的使用信息,从而获取磁盘中已经使用的簇对应的扇区使用信 息,接着将该簇存储地址的数据进行备份并做hash操作,将hash值保存到hashmap中;增 量备份的时候,获取到已分配的簇与之前备份的簇进行比较,若此簇不存在则直接备份此 簇对应的扇区的数据,并将此扇区中的值做hash插入到之前的hashmap中,若找到此簇,则 比较现在数据的hash值和之前的hash值是否相同,相同则跳过不需要备份,不同则备份此 簇对应扇区的数据,并使用新的hash值替换之前的值存入hashmap中。
[0031] 进行备份时,需要在客户端安装备份代理客户端(当然可以将代理放入存储柜 中,这里以安装外部代理为例来介绍),客户选择好要备份的虚拟机后,通过控制台给客户 端发送需要备份虚拟机的一些信息,客户端通过WSDL(-种网络通信服务语言)获取ESXI 平台虚拟机信息,并将需要备份的信息返回给客户端,客户端再将此数据返回给控制台,控 制台便将此数据信息保存到柜子的存储中完成整个备份过程。
[0032] 图1所示为正常使用关机状态下虚拟机包含的文件图。具体文件的作用如表1所 不O
[0033] 表 1
[0034]

【权利要求】
1. 一种跟踪扇区数据变化虚拟机备份方法,其特征在于,包括完全备份和增量备份,所 述完全备份包括: A1)获取位图文件,读取该位图文件的数据区中记录的磁盘簇使用情况信息; A2)根据所述磁盘簇使用情况信息W簇为单元计算已使用簇的hash值,并存储至 hashmap中,同时对相应已使用簇对应的扇区数据进行备份; 所述增量备份包括: B1)获取位图文件,读取该位图文件的数据区中记录的磁盘簇使用情况信息; B2)根据所述磁盘簇使用情况信息W簇为单元计算已使用簇的hash值; B3)判断hashmap中是否存在步骤B2)所计算的已使用簇的hash值,若是,则执行步 骤B4),若否,则将步骤B2)计算得的hash值添加入hashmap中,同时对相应已使用簇对应 的扇区数据进行备份; B4)将步骤B2)计算得的hash值与hashmap中保存的hash值进行比较,判断两个值是 否相同,若是,则备份结束,若否,则对相应已使用簇对应的扇区数据进行备份,同时用步骤 B2)计算得的hash值替换hashmap中保存的hash值。
2. 根据权利要求1所述的跟踪扇区数据变化虚拟机备份方法,其特征在于,进行备份 前,判断当前执行任务为完全备份还是增量备份。
3. 根据权利要求1所述的跟踪扇区数据变化虚拟机备份方法,其特征在于,所述步骤 A1)与步骤B1)中,获取位图文件后,判断已使用簇是否为坏簇,若是,则跳过该簇,若否,贝U 执行进一步操作。
4. 根据权利要求1所述的跟踪扇区数据变化虚拟机备份方法,其特征在于,所述位图 文件的获取方式为;通过run化ta属性来获取整个文件系统的Bitmap属性。
5. 根据权利要求1所述的跟踪扇区数据变化虚拟机备份方法,其特征在于,所述步骤 A2)与步骤B2)中,计算已使用簇的hash值具体为: (a)获取簇对应的位图信息; 化)将簇对应的位图信息转换成扇区对应的位图信息; (C)将步骤化)获得的位图信息按扇区设定的块大小进行分组; (d)对每一个组内的连续扇区的数据值进行hash操作,获得hash值。
6. 根据权利要求1所述的跟踪扇区数据变化虚拟机备份方法,其特征在于,所述位图 文件对应的数据中每一个字节的每一位表示在逻辑驱动器中每个磁盘簇的使用情况,"〇" 表示其对应的磁盘簇为未使用簇,"1"表示其对应的磁盘簇为已使用簇。
【文档编号】G06F9/455GK104461783SQ201410756594
【公开日】2015年3月25日 申请日期:2014年12月10日 优先权日:2014年12月10日
【发明者】袁康健 申请人:上海爱数软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1