CN103593256A - 一种基于多层排重的虚机快照备份方法和*** - Google Patents
一种基于多层排重的虚机快照备份方法和*** Download PDFInfo
- Publication number
- CN103593256A CN103593256A CN201210291388.6A CN201210291388A CN103593256A CN 103593256 A CN103593256 A CN 103593256A CN 201210291388 A CN201210291388 A CN 201210291388A CN 103593256 A CN103593256 A CN 103593256A
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- snapshot
- block
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种基于多层排重的虚机快照备份方法和***。该方法包括:将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段;对所述虚机快照进行多层排重,以排除所述虚机快照中会导致重复备份的数据;以及存储经多层排重处理后剩余的虚机快照数据。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种基于多层排重的虚机快照备份方法和***。
背景技术
目前,一般的虚机***都为用户提供***快照服务,即对虚机磁盘镜像进行全量快照备份。虚机快照备份***是虚机***的子***,它管理着PB级别的虚机用户的全部历史数据。因此,提高快照备份***的存储效率,对于降低用户的虚机使用成本,提高集群的存储使用效率,有着非常重要的影响。为了能够实时、大规模地处理用户的备份数据请求,同时又能够高效地排除掉冗余的数据,虚机快照备份***需至少满足三个条件:很高的数据处理速度,例如可以在每天夜间的三小时内处理完上万个虚机的备份;很好的排重效果,可以消除绝大多数的冗余数据(例如消除70%以上的冗余数据);较低的资源占用,虚机快照备份***作为整个虚机***的子***,不能与用户的虚机***中的其他重要模块争抢过多资源,否则会影响到用户对虚机的使用体验。
对虚机快照备份进行排重的技术方案例如有如下:一种技术方案是亚马逊(Amazon)的云计算平台中的EBS快照存储方案,详见(http://aws.amazon.com/ebs/)。该方案将每块虚机磁盘划分成4MB大小的定长分块,并追踪用户使用中对每个分块的改动信息。如果一个分块在备份时被认定为自上次备份快照以来未作改动,则不备份这块数据;另一种技术方案是专业存储技术提供商如EMC的备份排重存储服务器,可以将备份数据按照内容特征切割成变长大小的数据分块,并根据哈希校验比对来侦测出重复的数据。
亚马逊的技术方案完全针对单个虚机的数据修改记录来判断哪些数据需要备份,其弱点在于:首先,即使分块中的数据只被修改了一个字节,整块数据也要被备份一次。其次,对于不同用户备份相同数据的情况,例如操作***和各种常用软件,由于用户行为的不同导致其数据所在的磁盘位置不可能统一,该方法完全无法侦测到这一类的重复数据。
EMC的技术方案虽然可以根据数据内容特征来在全局范围排除重复的备份数据,但是其专用存储服务器的价格极其昂贵,且无法应对虚机集群这样PB级别的备份需求。这类方案跟以廉价和海量数据为特征的云计算平台是无法兼容的。
发明内容
本发明的主要目的在于提供一种基于多层排重的虚机快照备份方法,包括:将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段;对所述虚机快照进行多层排重,以排除所述虚机快照中会导致重复备份的数据;以及存储经多层排重处理后剩余的虚机快照数据。
根据本发明的实施例,在该方法中,对所述虚机快照进行多层排重包括:对所述虚机快照进行子数据块排重、数据片段排重和公用数据集排重,其中,所述公用数据集中存储备份存储文件***中重复率高于预定阈值的数据片段。
根据本发明的实施例,在该方法中,所述子数据块排重包括:判断所述多个子数据块自上次备份以来是否改变;排除被确定为未改变的子数据块;保留被确定为已改变的子数据块。
根据本发明的实施例,在该方法中,所述数据片段排重包括:判断经所述子数据块排重后剩余的所述已改变的子数据块中的多个数据片段自上次备份以来是否改变;排除被确定为未改变的数据片段;保留被确定为已改变的数据片段。
根据本发明的实施例,在该方法中,所述公用数据集排重包括:将经所述数据片段排重后剩余的所述已改变的数据片段的数据特征与所述公用数据集中数据的数据特征进行比较,判断所述已改变的数据片段是否存在于所述公用数据集中,排除被确定存在于所述公用数据集中的数据片段。。
根据本发明的实施例,将每个子数据块划分为多个数据片段的步骤包括:基于数据内容特征,将每个子数据块切割成多个变长的数据片段。。
根据本发明的实施例,所述虚机快照包括子数据块的数据指纹、大小和数据指针;所述子数据块包括数据片段的数据指纹、大小和数据指针。
根据本发明的实施例,该方法还可以包括:对备份存储文件***进行定期扫描,根据数据存储中的数据重复特征,抽取重复率高于特定阈值的数据并将其存入所述公用数据集。
根据本发明的实施例,该方法还可以包括:对于经由所述多层排重所排除的数据,在虚机快照备份中直接引用虚机前一快照中的对应数据的索引。
根据本发明的实施例,该方法还可以包括:执行快照回滚,其包括:从备份存储文件***中按照虚机待回滚的快照的索引读出子数据块的索引,按照子数据块的索引读出数据片段,将读出的数据片段组装成子数据块,将组装成的子数据块组装成待回滚的快照,其中,通过结合当前虚机镜像文件的修改信息和待回滚快照的索引信息,确定当前虚机镜像文件和待回滚快照中的共有数据,所述共有数据不用从备份存储文件***中读取。
根据本发明的实施例,该方法还可以包括:执行快照删除,其包括:将虚机待删除的快照索引的删除信息写入日志,当日志中的删除信息量超过预定阈值时,扫描虚机的备份数据以找出一定时间内没有被引用的子数据块和数据片段并将它们删除
在本发明的另一方面中,提供一种基于多层排重的虚机快照备份***,包括:快照划分模块,用于将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段;快照多层排重模块,用于对所述虚机快照进行多层排重以排除所述虚机快照中会导致重复备份的数据;以及快照备份存储模块,用于存储经多层排重处理后剩余的快照数据。
根据本发明的实施例,在所述***中,所述快照多层排重模块还包括:子数据块排重模块,数据片段排重模块和公用数据集排重模块,其中,所述公用数据集中存储着备份存储文件***中重复率高于预定阈值的数据片段。
根据本发明的实施例,该***还可以包括:扫描模块、快照回滚模块和快照删除模块。
与现有技术相比,根据本发明的技术方案,利用多层排重技术,可以针对大规模数据存储中数据片段的重复次数所具有的分布特征,来快速、有效地排除某些数据的重复备份,以达到用最少的资源来最大化排重的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的虚机快照备份的方法的多层排重操作示意图。
图2是根据本发明实施例的基于多层排重的虚机快照备份方法的流程图。
图3是根据本发明实施例的基于多层排重的虚机快照备份***的框图。
图4是根据本发明实施例的图3的***中快照多层排重模块的框图。
具体实施方式
本发明的主要思想在于,将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段;对所述虚机快照进行多层排重,所述多层排重操作包括:对所述虚机快照依次进行子数据块排重、数据片段排重和公用数据集排重,以排除所述虚机快照中会导致重复备份的数据,其中,所述公用数据集中存储着备份存储文件***中重复率高于预定阈值的数据片段;以及存储经多层排重处理后剩余的虚机快照数据。
为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明作进一步地详细说明。
根据本发明的实施例,提供了一种基于多层排重的虚机快照备份方法和***。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1是根据本发明实施例的虚机快照备份的方法的多层排重示意图。
如图所示,根据本发明实施例的虚机快照备份的方法,首先将虚机快照分成多个子数据块,准备进行多层排重。在操作层面上,多层排重分成三个层次,在每一个层次利用特定的信息来排除掉绝大部分该层的冗余数据,来大大减少下一层排重处理的负担。在逻辑层面上,前两个层次针对单个虚机的备份数据,主要负责排除自上次备份以后未被修改过的数据。第三个层次则在全局整体的层面排除掉重复率最高的那一部分数据。下面参照图1简单描述该方法的操作过程。
首先执行子数据块排重(a)->(b),这个层面主要利用虚拟磁盘驱动所记录的访问信息,来确定哪些虚拟磁盘的区域自上次备份以来未作改动。对未作改动的,在新的快照索引中直接引用上次快照的子数据块内容。而那些被标记为“已修改”的子数据块则进入下一层排重处理。
然后,针对完成子数据排重后的数据,执行数据片段排重(b)->(c),这一层主要针对被标记为“已修改”的子数据块中的未修改数据。可以利用诸如基于数据内容特征的变长切割算法,将子数据块切分为数百个数据片段,并根据前一个快照中与之位置相对应的子数据块的索引,比较两个数据片段的数据指纹,从而判断哪些数据片段是属于被修改过的内容。对于那些能够在前一快照中找出的数据片段,新子数据块的索引中可以直接引用它们。
最后,将完成上述两层排重后的数据,执行公用数据集排重(c)->(d),这一层负责处理在前一层被判断为“已修改”的数据片段。所有进入这一层的数据片段,其内容的哈希值会被发送到分布式公用数据集缓存进行查询。如果发现该数据片段属于公用数据集,则无需另存一份。否则,该数据片段将被作为新数据交给快照存储模块。最后将经过上述多层排重后剩余的虚机快照数据存储到快照备份存储中。
根据本发明的实施例,快照可以包括子数据块的数据指纹、大小和数据指针;子数据块可以包括数据片段的数据指纹、大小和数据指针。对于每个虚机自己的快照和快照之间,如果子数据块或者数据片段被检测为内容相同,则当前快照将引用前一快照的数据而不必重复存储。除非特别指出,否则本文中快照、虚机快照以及虚机快照数据具有类似含义。数据指针可以指示数据在物理存储中的位置。例如,数据指针可以用<文件名,启始偏移>来表示,从而指示存储位置。备选地,还可以用KV(key-value键-值)服务的key(键)作为数据指针来指示存储位置。
为了更详细地了解本发明,下面参照图2的流程图对根据本发明具体实施例的基于多层排重的虚机快照备份方法进行详细描述。
在步骤201处,将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段。优选地,所述子数据块可以是定长的,所述数据片段可以是变长的。备选地,可以基于数据内容特征,将每个子数据块切割成多个变长的数据片段。例如,每一个快照可以被划分为若干个MB级大小的子数据块。备选地,快照可以被划分为定长的若干MB大小的子数据块。并且,每个子数据块又可以根据基于数据内容特征的切割算法被划分为不定长的若干个KB级大小的数据片段。所述虚机快照可以包括子数据块的数据指纹、大小和数据指针;所述子数据块可以包括数据片段的数据指纹、大小和数据指针。
在步骤202处,对所述虚机快照进行多层排重,以排除所述虚机快照中会导致重复备份的数据。在该步骤中,例如可以进行三层排重:子数据块排重、数据片段排重和公用数据集排重。其中,所述公用数据集中存储备份存储文件***中重复率高于预定阈值的数据片段。
例如,首先,执行第一层排重,也即是执行子数据块排重。判断所述多个子数据块自上次备份以来是否改变;排除被确定为未改变的子数据块;保留被确定为已改变的子数据块。所述已改变子数据块可以用于数据片段排重。
换言之,在第一层排重操作中,例如可以根据记录的对虚机磁盘镜像的访问信息,以子数据块为单位而将当前虚拟快照的子数据块跟前一虚拟快照的子数据块进行比较,并且将内容相同的子数据块确定为要被排除的未改变的子数据块。从而在第一层排重操作后排除未改变的子数据块。
其次,执行第二层排重,也即是执行数据片段排重。该方法判断经所述子数据块排重后剩余的子数据块中的多个数据片段自上次备份以来是否改变;排除被确定为未改变的数据片段;保留被确定为已改变的数据片段。所述已改变数据片段可以用于公用数据集排重。
换言之,在第二层排重操作中,例如可以根据虚机前一快照中与经所述子数据块排重后剩余的子数据块位置相对应的子数据块的索引,以子数据块中的数据片段为单位,将经过第一层排重后的当前虚拟快照和前一虚拟快照的数据片段进行比较,并且将内容相同的数据片段确定为要被排除的未改变的数据片段。从而在第二层排重操作后排除未改变的数据片段。
最后,执行第三层排重,也即是执行公用数据集排重。该方法将经所述数据片段排重后剩余的所述已改变的数据片段的数据特征与所述公用数据集中数据的数据特征进行比较,判断所述已改变的数据片段是否存在于所述公用数据集中,排除被确定存在于所述公用数据集中的数据片段。并且,保留被确定为未存在于所述公用数据集中的数据片段。最后对经过多层排重操作后剩余的所述数据片段进行备份。
换言之,在第三层排重操作中,将经过上述两层排重操作后的当前快照的剩余所有数据片段例如通过SHA1(安全哈希算法)哈希算法计算数据指纹,并将其哈希值发送到分布式公用数据集缓存进行查询,并且将存在于公用数据集的数据片段确定为要被排除的未改变的数据片段。从而在第三层排重操作后排除所述未改变的数据片段。因此,最后对经过多层排重操作后剩余的所述数据片段进行备份。
在步骤203处,存储经多层排重处理后剩余的虚机快照数据。
根据本发明的一个实施方式,该方法还可以包括对于经由所述多层排重所排除的数据,在虚机快照备份中直接引用虚机前一快照中的对应数据的索引。
根据本发明的一个实施方式,该方法还可以包括执行快照回滚,其包括:从备份存储文件***中按照虚机待回滚的快照的索引读出子数据块的索引,按照子数据块的索引读出数据片段,将读出的数据片段组装成子数据块,将组装成的子数据块组装成待回滚的快照,其中,通过结合当前虚机镜像文件的修改信息和待回滚快照的索引信息,确定当前虚机镜像文件和待回滚快照中的共有数据,所述共有数据不用从备份存储文件***中读取。
根据本发明的一个实施方式,该方法还可以包括执行快照删除,其包括:将虚机待删除的快照索引的删除信息写入日志,当日志中的删除信息量超过预定阈值时,扫描虚机的备份数据以找出一定时间内没有被引用的子数据块和数据片段并将它们删除。具体而言,例如可以在日志中的删除信息量超过总快照数目(信息量)的50%时,则扫描虚机的备份数据以找出例如14天或者30天没有被引用的子数据块和数据片段,并将它们删除。
图3是根据本发明实施例的基于多层排重的虚机快照备份***300的框图。
***300可以包括:快照划分模块301,用于将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段;快照多层排重模块302,用于对所述虚机快照进行多层排重以排除所述虚机快照中会导致重复备份的数据;以及快照备份存储模块303,用于存储经多层排重处理后剩余的快照数据。
根据本发明的实施例,快照多层排重模块302是一个多层排重的机制,其可以包含两个以上的排重子模块。例如,快照多层排重模块302可以包括:子数据块排重模块401,数据片段排重模块402和公用数据集排重模块403,其中,所述公用数据集中存储着备份存储文件***中重复率高于预定阈值的数据片段。
根据本发明的实施例,所述子数据块排重模块401可以被配置用于判断所述多个子数据块自上次备份以来是否改变,排除被确定为未改变的子数据块,保留被确定为已改变的子数据块。
根据本发明的实施例,所述数据片段排重模块402可以被配置用于判断经所述子数据块排重后剩余的子数据块中的多个数据片段自上次备份以来是否改变,排除被确定为未改变的数据片段,保留被确定为已改变的数据片段。
根据本发明的实施例,所述公用数据集排重模块403可以被配置用于将经所述数据片段排重后剩余的所述已改变的数据片段的数据特征与所述公用数据集中数据的数据特征进行比较,判断经所述已改变的数据片段是否存在于所述公用数据集中,排除被确定存在于所述公用数据集中的数据片段。
根据本发明的,该***还可以包括扫描模块、快照回滚模块和快照删除模块(均未示出)。
进一步地,扫描模块可以用于对备份存储文件***进行定期扫描,根据数据存储中的数据重复特征,抽取重复率高于特定阈值的数据片段并将其存入所述公用数据集。例如,扫描模块可以对数据进行扫描,针对大规模数据存储中数据重复特征具有的Zipf分布的特点,抽取出重复率最高的一批数据,将其放入公用数据集。
进一步地,快照回滚模块可以用于从备份存储文件***中按照虚机待回滚的快照的索引读出子数据块的索引,按照子数据块的索引读出数据片段,将读出的数据片段组装成子数据块,将组装成的子数据块组装成待回滚的快照,其中,通过结合当前虚机镜像文件的修改信息和待回滚快照的索引信息,确定当前虚机镜像文件和待回滚快照中的共有数据,所述共有数据不用从备份存储文件***中读取。
进一步地,快照删除模块可以用于将虚机待删除的快照索引的删除信息写入日志,当日志中的删除信息量超过预定阈值时,扫描虚机的备份数据以找出一定时间内没有被引用的子数据块和数据片段并将它们删除。
本发明的***300所包括的各个模块的具体实施与本发明的方法中的步骤的具体实施可以是相对应的,为了不模糊本发明,在此省略对各个模块的具体细节描述。
本发明针对大规模数据存储中,数据片段的重复次数具有的Zipf分布特征,来消除最热门数据的重复备份,以达到用最少的资源来最大化排重效果。虚机备份存储***通过定期运行全局的数据片段扫描任务,来统计每个子数据块的出现频率,并根据实际***的资源限制要求,将排行靠前的数据片段导入到公用数据集。公用数据集中的数据片段,其内容的哈希值将被放入分布式公用数据集缓存,以作为第三层排重查询的索引。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
应当注意,尽管在上文详细描述中提及了设备的若干模块或子模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (19)
1.一种基于多层排重的虚机快照备份方法,包括:
将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段;
对所述虚机快照进行多层排重,以排除所述虚机快照中会导致重复备份的数据;以及
存储经多层排重处理后剩余的虚机快照数据。
2.根据权利要求1所述的方法,其中,对所述虚机快照进行多层排重包括:对所述虚机快照进行子数据块排重、数据片段排重和公用数据集排重,其中,所述公用数据集中存储备份存储文件***中重复率高于预定阈值的数据片段。
3.根据权利要求2所述的方法,其中,所述子数据块排重包括:
判断所述多个子数据块自上次备份以来是否改变;排除被确定为未改变的子数据块;保留被确定为已改变的子数据块。
4.根据权利要求2所述的方法,其中,所述数据片段排重包括:
判断经所述子数据块排重后剩余的所述已改变的子数据块中的多个数据片段自上次备份以来是否改变;排除被确定为未改变的数据片段;保留被确定为已改变的数据片段。
5.根据权利要求2所述的方法,其中,所述公用数据集排重包括:
将经所述数据片段排重后剩余的所述已改变的数据片段的数据特征与所述公用数据集中数据的数据特征进行比较,判断所述已改变的数据片段是否存在于所述公用数据集中,排除被确定存在于所述公用数据集中的数据片段。
6.根据权利要求1-5任一项所述的方法,其中,将每个子数据块划分为多个数据片段的步骤包括:
基于数据内容特征,将每个子数据块切割成多个变长的数据片段。
7.根据权利要求1-5任一项所述的方法,其中,所述虚机快照包括子数据块的数据指纹、大小和数据指针;所述子数据块包括数据片段的数据指纹、大小和数据指针。
8.根据权利要求1-5任一项所述的方法,还包括:
对备份存储文件***进行定期扫描,根据数据存储中的数据重复特征,抽取重复率高于特定阈值的数据并将其存入所述公用数据集。
9.根据权利要求1-5任一项所述的方法。还包括:
对于经由所述多层排重所排除的数据,在虚机快照备份中直接引用虚机前一快照中的对应数据的索引。
10.根据权利要求1-5任一项所述的方法,还包括:
执行快照回滚,其包括:从备份存储文件***中按照虚机待回滚的快照的索引读出子数据块的索引,按照子数据块的索引读出数据片段,将读出的数据片段组装成子数据块,将组装成的子数据块组装成待回滚的快照,其中,通过结合当前虚机镜像文件的修改信息和待回滚快照的索引信息,确定当前虚机镜像文件和待回滚快照中的共有数据,所述共有数据不用从备份存储文件***中读取。
11.根据权利要求1-5任一项所述的方法,还包括:
执行快照删除,其包括:将虚机待删除的快照索引的删除信息写入日志,当日志中的删除信息量超过预定阈值时,扫描虚机的备份数据以找出一定时间内没有被引用的子数据块和数据片段并将它们删除。
12.一种基于多层排重的虚机快照备份***,包括:
快照划分模块,用于将虚机快照划分为多个子数据块,将每个子数据块划分为多个数据片段;
快照多层排重模块,用于对所述虚机快照进行多层排重以排除所述虚机快照中会导致重复备份的数据;以及
快照备份存储模块,用于存储经多层排重处理后剩余的快照数据。
13.根据权利要求12所述的***,所述快照多层排重模块还包括:子数据块排重模块,数据片段排重模块和公用数据集排重模块,其中,所述公用数据集中存储着备份存储文件***中重复率高于预定阈值的数据片段。
14.根据权利要求13所述的***,其中,所述子数据块排重模块被配置判断所述多个子数据块自上次备份以来是否改变,排除被确定为未改变的子数据块,保留被确定为已改变的子数据块。
15.根据权利要求13所述的***,其中,所述数据片段排重模块被配置用于判断经所述子数据块排重后剩余的子数据块中的多个数据片段自上次备份以来是否改变,排除被确定为未改变的数据片段,保留被确定为已改变的数据片段。
16.根据权利要求13所述的***,其中,所述公用数据集排重模块被配置用于将经所述数据片段排重后剩余的所述已改变的数据片段的数据特征与所述公用数据集中数据的数据特征进行比较,判断经所述已改变的数据片段是否存在于所述公用数据集中,排除被确定存在于所述公用数据集中的数据片段。
17.根据权利要求12-16任一项所述的***,还包括:
扫描模块,用于对备份存储文件***进行定期扫描,根据数据存储中的数据重复特征,抽取重复率高于特定阈值的数据片段并将其存入所述公用数据集。
18.根据权利要求12-16任一项所述的***,还包括:
快照回滚模块,用于从备份存储文件***中按照虚机待回滚的快照的索引读出子数据块的索引,按照子数据块的索引读出数据片段,将读出的数据片段组装成子数据块,将组装成的子数据块组装成待回滚的快照,其中,通过结合当前虚机镜像文件的修改信息和待回滚快照的索引信息,确定当前虚机镜像文件和待回滚快照中的共有数据,所述共有数据不用从备份存储文件***中读取。
19.根据权利要求12-16任一项所述的***,还包括:
快照删除模块,用于将虚机待删除的快照索引的删除信息写入日志,当日志中的删除信息量超过预定阈值时,扫描虚机的备份数据以找出一定时间内没有被引用的子数据块和数据片段并将它们删除。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210291388.6A CN103593256B (zh) | 2012-08-15 | 2012-08-15 | 一种基于多层排重的虚机快照备份方法和*** |
TW101146911A TWI557575B (zh) | 2012-08-15 | 2012-12-12 | Virtual machine snapshot backup method and system based on multi - level row weight |
US13/967,939 US9460098B2 (en) | 2012-08-15 | 2013-08-15 | Virtual machine snapshot backup based on multilayer De-duplication |
US15/257,194 US10565063B2 (en) | 2012-08-15 | 2016-09-06 | Virtual machine snapshot backup based on multilayer de-duplication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210291388.6A CN103593256B (zh) | 2012-08-15 | 2012-08-15 | 一种基于多层排重的虚机快照备份方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593256A true CN103593256A (zh) | 2014-02-19 |
CN103593256B CN103593256B (zh) | 2017-05-24 |
Family
ID=50083411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210291388.6A Active CN103593256B (zh) | 2012-08-15 | 2012-08-15 | 一种基于多层排重的虚机快照备份方法和*** |
Country Status (3)
Country | Link |
---|---|
US (2) | US9460098B2 (zh) |
CN (1) | CN103593256B (zh) |
TW (1) | TWI557575B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022680A (zh) * | 2015-08-05 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种数据备份方法及装置 |
CN105871987A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 数据写入的高可用***及方法 |
CN106919472A (zh) * | 2015-12-28 | 2017-07-04 | ***通信集团公司 | 数据的快照备份方法及装置 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635128B1 (en) * | 2012-10-29 | 2020-04-28 | Veritas Technologies Llc | Storing backup data using snapshots |
US9092837B2 (en) * | 2012-11-29 | 2015-07-28 | International Business Machines Corporation | Use of snapshots to reduce risk in migration to a standard virtualized environment |
US9742873B2 (en) | 2012-11-29 | 2017-08-22 | International Business Machines Corporation | Adjustment to managed-infrastructure-as-a-service cloud standard |
US10652329B1 (en) | 2014-05-12 | 2020-05-12 | Tintri By Ddn, Inc. | Cluster virtual machines |
US9645888B1 (en) * | 2014-06-02 | 2017-05-09 | EMC IP Holding Company LLC | Caching of backup chunks |
TWI509426B (zh) * | 2014-09-17 | 2015-11-21 | Prophetstor Data Services Inc | 用於達成無干擾性資料重建的系統 |
JP5904514B1 (ja) | 2014-10-28 | 2016-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム |
CN104615504B (zh) * | 2015-02-06 | 2017-11-10 | 浪潮(北京)电子信息产业有限公司 | 一种实现数据保护的方法及装置 |
CN105243109B (zh) | 2015-09-25 | 2021-10-15 | 华为技术有限公司 | 数据备份的方法和数据处理*** |
US11132260B2 (en) | 2015-09-25 | 2021-09-28 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
US10489518B1 (en) * | 2016-03-03 | 2019-11-26 | Nutanix, Inc. | Virtual machine object version control |
US10496497B1 (en) * | 2016-12-13 | 2019-12-03 | EMC IP Holding Company LLC | Live object level inter process communication in federated backup environment |
US11526404B2 (en) | 2017-03-29 | 2022-12-13 | International Business Machines Corporation | Exploiting object tags to produce a work order across backup engines for a backup job |
US20190129806A1 (en) * | 2017-10-27 | 2019-05-02 | Synology Inc. | Methods and computer program products for a file backup and apparatuses using the same |
CN107885619A (zh) * | 2017-11-16 | 2018-04-06 | 郑州云海信息技术有限公司 | 一种数据精简去重和镜像异地备份保护的方法及*** |
US10936442B2 (en) * | 2018-07-06 | 2021-03-02 | EMC IP Holding Company LLC | Simultaneous file level recovery from multiple backups using a proxy virtual machine |
US10909071B2 (en) * | 2018-07-13 | 2021-02-02 | Vmware, Inc. | Batch-based deletion of snapshots archived in cloud/object storage |
US11042504B2 (en) | 2018-07-13 | 2021-06-22 | Vmware, Inc. | Managing overwrites when archiving data in cloud/object storage |
US10853312B2 (en) | 2018-07-13 | 2020-12-01 | Vmware, Inc. | Archiving data in cloud/object storage using local metadata staging |
US10534759B1 (en) | 2018-08-23 | 2020-01-14 | Cohesity, Inc. | Incremental virtual machine metadata extraction |
US10649676B1 (en) * | 2018-12-28 | 2020-05-12 | Microsoft Technology Licensing, Llc | Memory compression for immutable data structures |
US10810035B2 (en) | 2019-02-27 | 2020-10-20 | Cohesity, Inc. | Deploying a cloud instance of a user virtual machine |
US11573861B2 (en) | 2019-05-10 | 2023-02-07 | Cohesity, Inc. | Continuous data protection using a write filter |
US11397649B2 (en) | 2019-10-22 | 2022-07-26 | Cohesity, Inc. | Generating standby cloud versions of a virtual machine |
US11250136B2 (en) * | 2019-10-22 | 2022-02-15 | Cohesity, Inc. | Scanning a backup for vulnerabilities |
US11487549B2 (en) | 2019-12-11 | 2022-11-01 | Cohesity, Inc. | Virtual machine boot data prediction |
US11768745B2 (en) | 2020-12-08 | 2023-09-26 | Cohesity, Inc. | Automatically implementing a specification of a data protection intent |
US11914480B2 (en) | 2020-12-08 | 2024-02-27 | Cohesity, Inc. | Standbys for continuous data protection-enabled objects |
US11614954B2 (en) | 2020-12-08 | 2023-03-28 | Cohesity, Inc. | Graphical user interface to specify an intent-based data management plan |
CN112612576B (zh) * | 2020-12-23 | 2022-08-30 | 新华三大数据技术有限公司 | 虚拟机备份方法、装置、电子设备及存储介质 |
US11481287B2 (en) | 2021-02-22 | 2022-10-25 | Cohesity, Inc. | Using a stream of source system storage changes to update a continuous data protection-enabled hot standby |
US20230409522A1 (en) | 2022-06-16 | 2023-12-21 | Oracle International Corporation | Scalable and secure cross region and optimized file system delta transfer for cloud scale |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249006A1 (en) * | 2008-03-31 | 2009-10-01 | Boldt Michael W | System and Method for Setting an Activation State for a Device Used in a Backup Operation |
CN101916171A (zh) * | 2010-07-16 | 2010-12-15 | 中国科学院计算技术研究所 | 一种并发层次式的重复数据消除方法和*** |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184937A1 (en) * | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method for centralized software management in virtual machines |
US7933936B2 (en) * | 2005-06-10 | 2011-04-26 | Network Appliance, Inc. | Method and system for automatic management of storage space |
US8001342B2 (en) * | 2006-03-29 | 2011-08-16 | International Business Machines Corporation | Method for storing and restoring persistent memory content and virtual machine state information |
US8321377B2 (en) * | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US8190835B1 (en) | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
US8315985B1 (en) | 2008-12-18 | 2012-11-20 | Symantec Corporation | Optimizing the de-duplication rate for a backup stream |
US8055937B2 (en) | 2008-12-22 | 2011-11-08 | QuorumLabs, Inc. | High availability and disaster recovery using virtualization |
US8566362B2 (en) | 2009-01-23 | 2013-10-22 | Nasuni Corporation | Method and system for versioned file system using structured data representations |
US8650162B1 (en) * | 2009-03-31 | 2014-02-11 | Symantec Corporation | Method and apparatus for integrating data duplication with block level incremental data backup |
US8578076B2 (en) | 2009-05-01 | 2013-11-05 | Citrix Systems, Inc. | Systems and methods for establishing a cloud bridge between virtual storage resources |
TWI378442B (en) * | 2009-06-16 | 2012-12-01 | Inventec Corp | Method for scanning snapshot |
WO2011046813A2 (en) | 2009-10-12 | 2011-04-21 | Veeam Software International Ltd. | Item-level restoration and verification of image level backups |
US8417938B1 (en) | 2009-10-16 | 2013-04-09 | Verizon Patent And Licensing Inc. | Environment preserving cloud migration and management |
US8452932B2 (en) * | 2010-01-06 | 2013-05-28 | Storsimple, Inc. | System and method for efficiently creating off-site data volume back-ups |
US8566640B2 (en) | 2010-07-19 | 2013-10-22 | Veeam Software Ag | Systems, methods, and computer program products for instant recovery of image level backups |
US8898114B1 (en) * | 2010-08-27 | 2014-11-25 | Dell Software Inc. | Multitier deduplication systems and methods |
CN103098035B (zh) * | 2010-08-31 | 2016-04-27 | 日本电气株式会社 | 存储*** |
WO2012057942A1 (en) | 2010-10-27 | 2012-05-03 | High Cloud Security, Inc. | System and method for secure storage of virtual machines |
US8396841B1 (en) * | 2010-11-30 | 2013-03-12 | Symantec Corporation | Method and system of multi-level and multi-mode cloud-based deduplication |
US8239584B1 (en) | 2010-12-16 | 2012-08-07 | Emc Corporation | Techniques for automated storage management |
US8364716B2 (en) | 2010-12-17 | 2013-01-29 | Netapp, Inc. | Methods and apparatus for incrementally computing similarity of data sources |
US8898402B1 (en) | 2011-03-31 | 2014-11-25 | Emc Corporation | Assigning storage resources in a virtualization environment |
US8918378B1 (en) | 2011-08-31 | 2014-12-23 | Netapp, Inc. | Cloning using an extent-based architecture |
US8914595B1 (en) | 2011-09-29 | 2014-12-16 | Emc Corporation | Snapshots in deduplication |
US8543609B1 (en) | 2011-09-29 | 2013-09-24 | Emc Corporation | Snapshots in deduplication |
US9483358B1 (en) * | 2011-09-30 | 2016-11-01 | EMC IP Holding Company LLC | Synthetic block based backup |
US8769224B1 (en) * | 2011-09-30 | 2014-07-01 | Emc Corporation | Discovering new physical machines for physical to virtual conversion |
US8712962B1 (en) | 2011-12-01 | 2014-04-29 | Emc Corporation | Snapshots in de-duplication |
US8751515B1 (en) | 2012-03-30 | 2014-06-10 | Emc Corporation | System and method for file-based virtual machine incremental backup |
US9110604B2 (en) | 2012-09-28 | 2015-08-18 | Emc Corporation | System and method for full virtual machine backup using storage system functionality |
US9104331B2 (en) | 2012-09-28 | 2015-08-11 | Emc Corporation | System and method for incremental virtual machine backup using storage system functionality |
US9063938B2 (en) | 2012-03-30 | 2015-06-23 | Commvault Systems, Inc. | Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files |
US8719286B1 (en) | 2012-03-30 | 2014-05-06 | Emc Corporation | System and method for block-based subtree virtual machine backup |
US9251186B2 (en) * | 2012-06-13 | 2016-02-02 | Commvault Systems, Inc. | Backup using a client-side signature repository in a networked storage system |
CN104471524B (zh) | 2012-07-18 | 2017-07-04 | 株式会社日立制作所 | 存储***和存储控制方法 |
US8996460B1 (en) | 2013-03-14 | 2015-03-31 | Emc Corporation | Accessing an image in a continuous data protection using deduplication-based storage |
US9274824B2 (en) | 2013-06-27 | 2016-03-01 | Verizon Patent And Licensing Inc. | Network technology standard operating environment |
-
2012
- 2012-08-15 CN CN201210291388.6A patent/CN103593256B/zh active Active
- 2012-12-12 TW TW101146911A patent/TWI557575B/zh not_active IP Right Cessation
-
2013
- 2013-08-15 US US13/967,939 patent/US9460098B2/en active Active
-
2016
- 2016-09-06 US US15/257,194 patent/US10565063B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249006A1 (en) * | 2008-03-31 | 2009-10-01 | Boldt Michael W | System and Method for Setting an Activation State for a Device Used in a Backup Operation |
CN101916171A (zh) * | 2010-07-16 | 2010-12-15 | 中国科学院计算技术研究所 | 一种并发层次式的重复数据消除方法和*** |
Non-Patent Citations (1)
Title |
---|
谭玉娟: "数据备份***中数据去重技术研究", 《中国博士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022680A (zh) * | 2015-08-05 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种数据备份方法及装置 |
CN105871987A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 数据写入的高可用***及方法 |
CN106919472A (zh) * | 2015-12-28 | 2017-07-04 | ***通信集团公司 | 数据的快照备份方法及装置 |
CN106919472B (zh) * | 2015-12-28 | 2020-05-12 | ***通信集团公司 | 数据的快照备份方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20160378613A1 (en) | 2016-12-29 |
US10565063B2 (en) | 2020-02-18 |
TWI557575B (zh) | 2016-11-11 |
TW201407375A (zh) | 2014-02-16 |
US20140052692A1 (en) | 2014-02-20 |
US9460098B2 (en) | 2016-10-04 |
CN103593256B (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593256A (zh) | 一种基于多层排重的虚机快照备份方法和*** | |
US9798629B1 (en) | Predicting backup failures due to exceeding the backup window | |
US10242013B2 (en) | Snapshot management using heatmaps in a large capacity disk environment | |
US9170746B2 (en) | Clustered raid assimilation management | |
US20180267856A1 (en) | Distributed storage system, data storage method, and software program | |
US20170269980A1 (en) | Methods to identify, handle and recover from suspect ssds in a clustered flash array | |
CN103562914B (zh) | 节约资源型扩展文件*** | |
US8732411B1 (en) | Data de-duplication for information storage systems | |
WO2012029256A1 (en) | Storage system | |
US8838890B2 (en) | Stride based free space management on compressed volumes | |
US9767015B1 (en) | Enhanced operating system integrity using non-volatile system memory | |
US10216429B2 (en) | Performing post-processing operations for log file writes | |
US9760480B1 (en) | Enhanced logging using non-volatile system memory | |
CN1770114A (zh) | 存储网络中的复制操作 | |
CN105339903A (zh) | 恢复文件***对象 | |
US20170371778A1 (en) | Reliable Distributed Messaging Using Non-Volatile System Memory | |
CN109445681B (zh) | 数据的存储方法、装置和存储*** | |
US11556423B2 (en) | Using erasure coding in a single region to reduce the likelihood of losing objects maintained in cloud object storage | |
CN111143130B (zh) | 数据恢复方法、装置、计算机可读存储介质和计算机设备 | |
Kaczmarczyk et al. | Reducing fragmentation impact with forward knowledge in backup systems with deduplication | |
US10089220B1 (en) | Saving state information resulting from non-idempotent operations in non-volatile system memory | |
US20230109530A1 (en) | Synchronous object placement for information lifecycle management | |
CN109144766B (zh) | 一种数据存储、重构方法和装置、及电子设备 | |
US20200310652A1 (en) | Method and system for secure distributed data management of dynamic data | |
CN115221174A (zh) | 基于人工智能的数据分级存储方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1193204 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1193204 Country of ref document: HK |