CN103593256A - 一种基于多层排重的虚机快照备份方法和系统 - Google Patents

一种基于多层排重的虚机快照备份方法和系统 Download PDF

Info

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
Application number
CN201210291388.6A
Other languages
English (en)
Other versions
CN103593256B (zh
Inventor
张为
唐洪
蒋灏
曾月
李小刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210291388.6A priority Critical patent/CN103593256B/zh
Priority to TW101146911A priority patent/TWI557575B/zh
Priority to US13/967,939 priority patent/US9460098B2/en
Publication of CN103593256A publication Critical patent/CN103593256A/zh
Priority to US15/257,194 priority patent/US10565063B2/en
Application granted granted Critical
Publication of CN103593256B publication Critical patent/CN103593256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using 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任一项所述的系统,还包括:
快照删除模块,用于将虚机待删除的快照索引的删除信息写入日志,当日志中的删除信息量超过预定阈值时,扫描虚机的备份数据以找出一定时间内没有被引用的子数据块和数据片段并将它们删除。
CN201210291388.6A 2012-08-15 2012-08-15 一种基于多层排重的虚机快照备份方法和系统 Active CN103593256B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635128B1 (en) * 2012-10-29 2020-04-28 Veritas Technologies Llc Storing backup data using snapshots
US9742873B2 (en) 2012-11-29 2017-08-22 International Business Machines Corporation Adjustment to managed-infrastructure-as-a-service cloud standard
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
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 浪潮(北京)电子信息产业有限公司 一种实现数据保护的方法及装置
US11132260B2 (en) 2015-09-25 2021-09-28 Huawei Technologies Co., Ltd. Data processing method and apparatus
CN111240902A (zh) * 2015-09-25 2020-06-05 华为技术有限公司 数据备份的方法和数据处理系统
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
US10853312B2 (en) 2018-07-13 2020-12-01 Vmware, Inc. Archiving data in cloud/object storage using local metadata staging
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
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
US11250136B2 (en) * 2019-10-22 2022-02-15 Cohesity, Inc. Scanning a backup for vulnerabilities
US11397649B2 (en) 2019-10-22 2022-07-26 Cohesity, Inc. Generating standby cloud versions of a virtual machine
US11487549B2 (en) 2019-12-11 2022-11-01 Cohesity, Inc. Virtual machine boot data prediction
US11614954B2 (en) 2020-12-08 2023-03-28 Cohesity, Inc. Graphical user interface to specify an intent-based data management plan
US11914480B2 (en) 2020-12-08 2024-02-27 Cohesity, Inc. Standbys for continuous data protection-enabled objects
US11768745B2 (en) 2020-12-08 2023-09-26 Cohesity, Inc. Automatically implementing a specification of a data protection intent
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
WO2010127365A1 (en) 2009-05-01 2010-11-04 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
CA2809224C (en) * 2010-08-31 2016-05-17 Nec Corporation Storage system
US9053339B2 (en) 2010-10-27 2015-06-09 Hytrust, 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
US8543609B1 (en) 2011-09-29 2013-09-24 Emc Corporation Snapshots in deduplication
US8914595B1 (en) 2011-09-29 2014-12-16 Emc Corporation Snapshots in deduplication
US8769224B1 (en) * 2011-09-30 2014-07-01 Emc Corporation Discovering new physical machines for physical to virtual conversion
US9483358B1 (en) * 2011-09-30 2016-11-01 EMC IP Holding Company LLC Synthetic block based backup
US8712962B1 (en) 2011-12-01 2014-04-29 Emc Corporation Snapshots in de-duplication
US9110604B2 (en) 2012-09-28 2015-08-18 Emc Corporation System and method for full 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
US9104331B2 (en) 2012-09-28 2015-08-11 Emc Corporation System and method for incremental virtual machine backup using storage system functionality
US8719286B1 (en) 2012-03-30 2014-05-06 Emc Corporation System and method for block-based subtree virtual machine backup
US8751515B1 (en) 2012-03-30 2014-06-10 Emc Corporation System and method for file-based virtual machine incremental backup
US9251186B2 (en) * 2012-06-13 2016-02-02 Commvault Systems, Inc. Backup using a client-side signature repository in a networked storage system
EP2864862B1 (en) 2012-07-18 2020-01-01 Hitachi, Ltd. Storage system and storage control method
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
谭玉娟: "数据备份系统中数据去重技术研究", 《中国博士学位论文全文数据库》 *

Cited By (4)

* Cited by examiner, † Cited by third party
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
CN103593256B (zh) 2017-05-24
US10565063B2 (en) 2020-02-18
TW201407375A (zh) 2014-02-16
US20140052692A1 (en) 2014-02-20
US20160378613A1 (en) 2016-12-29
US9460098B2 (en) 2016-10-04
TWI557575B (zh) 2016-11-11

Similar Documents

Publication Publication Date Title
CN103593256A (zh) 一种基于多层排重的虚机快照备份方法和系统
US9798629B1 (en) Predicting backup failures due to exceeding the backup window
US9170746B2 (en) Clustered raid assimilation management
US10242013B2 (en) Snapshot management using heatmaps in a large capacity disk environment
US20180267856A1 (en) Distributed storage system, data storage method, and software program
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) 基于人工智能的数据分级存储方法、装置、设备及介质
US11494090B2 (en) Systems and methods of maintaining fault tolerance for new writes in degraded erasure coded distributed storage

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