CN101460931B - 在复制期间保留阴影副本数据 - Google Patents

在复制期间保留阴影副本数据 Download PDF

Info

Publication number
CN101460931B
CN101460931B CN2007800202618A CN200780020261A CN101460931B CN 101460931 B CN101460931 B CN 101460931B CN 2007800202618 A CN2007800202618 A CN 2007800202618A CN 200780020261 A CN200780020261 A CN 200780020261A CN 101460931 B CN101460931 B CN 101460931B
Authority
CN
China
Prior art keywords
shadow copy
data
change
volume
available
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.)
Active
Application number
CN2007800202618A
Other languages
English (en)
Other versions
CN101460931A (zh
Inventor
K·S·阿南德
M·K·瓦利亚帕拉姆比尔
A·尚克荷尔
A·艾利
V·森
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101460931A publication Critical patent/CN101460931A/zh
Application granted granted Critical
Publication of CN101460931B publication Critical patent/CN101460931B/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Container Filling Or Packaging Operations (AREA)

Abstract

本发明的各实现提供了被配置成在复制周期期间、在有效阴影副本期满之前保留这些有效阴影副本的系统、方法和组件。具体地,一个或多个组件可标识生产服务器中将应用于新卷阴影副本的改变的大小和速率。组件然后可确定备份卷中存储新卷阴影副本所需的存储区域,并在有适当空间时将改变应用于该备份卷。如果没有适当的空间量,则组件可警告系统应采取新的动作以同时保留先前的有效阴影副本以及新的阴影副本两者。例如,备份管理员可能需要增加阴影副本存储空间,或分配用于处理新阴影副本的新存储介质。

Description

在复制期间保留阴影副本数据
背景
背景和相关技术
一般而言,计算机系统和相关的设备通常出于各种原因而使用,诸如在工作环境中创建文字处理文档,以及创建用于更复杂数据库的目的的文件的一般情况下。随着对于此类使用的计算机化系统数量的增长,与其相关联的各种硬件和软件能力也已增长。例如,由常规计算机系统仅仅在几年前变得可行的各种数据处理(例如,文件、邮件、数据库等)任务现在由甚至更快且更小的多任务计算机系统变得更可用。结果,计算机系统在任何给定组织中增长得非常快,并且对每一计算机系统所请求的任务也增长。与运行并管理任何给定计算机系统或计算机系统集相关联的成本也增长并不令人惊奇。
部分地由于对任何给定计算机系统的处理能力的改进以及此类能力的持续增长的成本,组织通常意识到共享或分发资源(例如,基于硬件和/或软件的资源)的多种好处。特别地,组织通常组织计算机系统,使得几个工作站共享单个节点(例如,处理和/或存储节点)的处理和存储资源。例如,组织可能将一个服务器节点处的单个物理驱动器划分成进而可作为若干单独的驱动器通过网络来访问的若干不同的卷。这些分区的驱动器然后可在用户和/或工作站之间进一步分配,使得例如仅一组个人工作站能访问一组分区的驱动器,而另一组不同的个人工作站可能仅能访问一组不同的分区的驱动器。
如此,组织现在可对单个服务器节点分区以主存多个“虚拟机”。简言之,虚拟机是操作系统在给定主计算机系统上的驱动器空间的其自己的分区上的唯一安装。虚拟机可被配置成无论从哪点看都表现为单独的工作站,即使其仅是主计算机系统的物理资源的一个分区。例如,虚拟机可以通过网络用不同于主计算机的网络地址的网络地址来寻址。此外,虚拟机本身可以主存对主机的物理盘上的虚拟机做出的分配中多个不同的驱动器分区。由虚拟机管理的这些驱动器路径可与由主计算机系统管理的那些路径相同地命名,因为它们实际上是由不同的实体来管理的。
因此,虚拟机的至少一个优点是它们可用于提供多个不同的计算功能而无需增加购买附加计算机硬件的成本。例如,组织可在不同网络位置中部署不同的主机服务器,并且在每一主机服务器内,进一步部署几十和/或几百个虚拟机。某些虚拟机可用作邮件或数据库服务器,而其它虚拟机可用作由网络客户机如同个人工作站位于本地那样来访问的个人工作站计算机。还有一些虚拟机可用于测试目的,使得虚拟机在其不再需要的时候可容易地从主机服务器删除。
随着虚拟机的使用在组织中变得越来越普及,引发了确保虚拟机被正确管理的附加需求。例如,常规的服务器管理员拓扑结构包括诸如配置帐户、管理口令以及组织组织中的物理和软件资源的一组系统(例如,服务器、工作站和/或网络)管理员等。对于大型企业,甚至可以有更大数量的系统管理员,其每一个都承担不同的责任。
例如,一个系统管理员的任务可能是提供并设置最终用户办公室中的工作站,而另一系统管理员的任务是向最终用户提供特定登录帐户,再一系统管理员的任务可能是向每一计算机系统提供并监视物理连接(例如,网络连接、电源连接)。因而要求每一这样的系统管理员向关于一特定地理位置的总管理系统管理员报告。取决于组织的大小,也可要求管理系统管理员向在管理分层结构中更高层的再一系统管理员报告,依此类推。
对于常规系统,一个或几个系统管理员管理几十台服务器和个人工作站一般是可能的。然而,诸如在实现大量虚拟机的情况下对可能上百和/或上千台机器的管理要复杂得多。具体地,一个或几个系统管理员可能无法管理上千台虚拟机的复杂性,即使这些虚拟机被主存在相对少量的主机服务器上。特别地,负责对于一百个左右用户帐户管理口令请求的系统管理员可能无法有效地对一千台计算机管理这些口令请求。类似地,负责对一百个左右物理计算机系统的每一个确保足够的物理和网络资源的系统管理员可能会因试图确保对可能几千台虚拟机供应了足够的硬件和软件资源来如所预期地执行而被压倒,尤其是在不中断对组织中的其它机器的服务的情况下。
当然,仅仅雇用额外的系统管理员来处理额外的负担会造成重大的成本问题,而该成本问题是组织试图通过使用虚拟机要首先避免的。因此,对于组织中的虚拟机的有效操作和管理有许多要解决的难题。
简要概述
本发明的各实现用被配置成确保只要阴影副本按照管理员的备份目标/意向保持有效就在备份卷中保留阴影副本的系统、方法和计算机程序产品解决了现有技术中的一个或多个问题。具体地,本发明的各实现能够基于对生产服务器处的写速率的确定来自动确定备份卷上的阴影副本存储空间。对可用空间的这一确定然后可在某些情况下用于进一步确定是否可创建更新的阴影副本,以保留现有的阴影副本。在一个实现中,备份卷中的阴影副本存储空间可在每一复制周期自动重新分配以适应生产服务器上预期的写速率。此外,该阴影副本存储空间可被有效地锁定,使得超过当前阴影副本存储空间的阴影副本可用适当的方式来处理,且因此避免了盖写先前的、但仍有效的阴影副本。
例如,一种将对生产服务器处的数据改变的确定与一个或多个备份卷中的可用阴影副本存储空间相关的方法可涉及确定生产服务器处的改变的大小。这一方法一般可涉及标识生产服务器处的一个或多个数据改变的集合,以及确定该集合中要应用于阴影副本存储卷的改变的总大小,使得改变的总大小被过高估计。另外,该方法可涉及标识阴影副本存储卷中的可用阴影副本存储空间的大小,以及将一个或多个数据改变的集合应用于所标识的可用阴影副本存储空间的步骤。因此,最终,可用使得在到期之前有效阴影副本保留在阴影副本存储卷中的方式来应用文件改变。
一种替换方法可以更多地基于当复制代理试图应用所接收到的改变时确定一个或多个备份卷中的可用阴影副本存储空间。这一方法可包括从生产服务器接收一个或多个数据改变,以及在应用该一个或多个数据改变时将标准值分配给这些改变。该方法还可涉及计算备份卷中的可用阴影副本存储空间的量,使得该量被过低估计以在保留存储在备份卷中的有效阴影副本。另外,该方法可涉及标识一个或多个数据改变的初始集合的标准值小于所计算的备份卷中的可用阴影副本存储空间的量。如果适当,则然后可将一个或多个数据改变应用于备份卷。由此,该方法中的有效阴影副本也可在到期之前保留在阴影副本存储卷中。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的附加特征和优点将在以下描述中叙述,且其部分根据本描述将是显而易见的,或可通过对本发明的实践获知。本发明的特征和优点可通过在所附权利要求书中特别指出的手段和组合来实现和获得。本发明的这些和其他特征将通过以下描述和所附权利要求书而变得更加完全明显,或可通过对下文中所述的本发明的实践来获知。
附图简述
为了描述可获得本发明的上述和其它优点和特征的方法,将通过引用附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解,这些附图仅描述本发明的典型实施例,从而不被认为是对其范围的限制,本发明将通过使用附图用附加特征和细节来描述和说明,附图中:
图1示出了根据本发明的一个实现的备份系统中的生产服务器和备份服务器的概览示意向,其中复制代理从生产服务器接收更新,并将更新应用于备份卷;
图2示出了通过标识来自生产服务器的改变的总大小来将来自生产服务器的改变应用于备份服务器的方法中的动作序列的流程图;以及
图3示出了通过在应用从生产服务器接收到的改变之前标识可用空闲空间的总大小来将来自生产服务器的改变应用于备份服务器的方法中的动作序列的流程图。
详细描述
本发明涉及被配置成确保只要阴影副本按照管理员的备份目标/意向保持有效就在备份卷中保留阴影副本的系统、方法和计算机程序产品。具体地,本发明的各实现能够基于对生产服务器处的写速率的确定来自动确定备份卷上的阴影副本存储空间。对可用空间的这一确定然后可在某些情况下用于进一步确定是否可创建更新的阴影副本,以保留现有的阴影副本。在一个实现中,备份卷中的阴影副本存储空间可在每一复制周期自动重新分配以适应生产服务器上预期的写速率。此外,该阴影副本存储空间可被有效地锁定,使得超过当前阴影副本存储空间的阴影副本可用适当的方式来处理,且因此避免了盖写先前的、但仍有效的阴影副本。
如可从以下描述和权利要求书中更完全理解的,本发明的各实现可以防止有效阴影副本数据的丢失。一般而言,如此处所使用的阴影副本的“有效性”指的是对备份系统100的备份意向,其中备份管理员创建用于保持递增数据更新在指定的时间内在备份服务器上可用的特定设置(即,意向)。特别地,如特定“备份意向”所定义的,“有效”阴影副本本质上是尚未“期满”的阴影副本。例如,如果备份管理员设置了指示阴影副本一天要积聚x次,然后在被删除或可能移至归档介质之前至少存储14天的备份意向,则“有效”阴影副本至少是不旧于14天的阴影副本。相反,备份服务器处旧于14天的阴影副本将被认为是“无效”或“期满”的,并且可如备份管理员所需删除或移至归档介质。
由此,本发明的各实现一般被配置成防止有效阴影副本数据丢失,该数据丢失否则会由于不足的阴影副本存储空间,和/或由于因用于所保护的主要数据的存储区域的增长而引起的阴影副本存储空间(也称为“差异区域”)中的丢失而发生。例如,一个实现中的一个或多个组件可被配置成跟踪生产服务器处要保护的数据的增长,并且进一步跟踪被配置成保留阴影副本数据的备份卷的已使用的和空闲的空间。在任何时刻,当组件确定备份卷中的有效阴影副本数据有被盖写的危险时,组件可至少暂时地停止复制过程(例如,不创建新阴影副本)。组件然后可在继续之前对阴影副本存储空间做出自动调整,或者向备份管理员请求关于该调整的指示。
作为预备事项,此处主要在用于要保护的主要数据的存储区域和用于阴影副本数据的存储区域在分开的卷上的情况下描述本发明的各实现。然而,这一体系结构示意图并不是必需的。特别地,本发明的各实现也可应用于其中同一备份卷包含用于主要数据的和用于对应的更新(即,阴影副本数据)的所分配的存储区域的情形。
例如,图1示出了备份系统100的体系结构概览,该系统包括与备份服务器110(例如,数据保护管理器,即“DPM”服务器)通信的生产服务器105(例如,邮件、文件或数据库服务器等)。如图所示,生产服务器105至少包括存储介质115,该存储介质进而包括要保护的一个或多个数据卷,诸如数据125。生产服务器105处的日志文件113可标识对数据125的所有改变。因此,日志文件135包括更新123和127,生产服务器105最终将这些更新传递到备份服务器110。
图1还示出备份服务器110包括复制代理130。一般而言,复制代理130包括被配置成与生产服务器105通信,并跟踪诸如存储介质120等一个或多个附连的备份存储介质的各种特性的一个或多个计算机可执行指令集。例如,图1示出备份代理130可包括卷特性150组件,该组件存储关于存储介质120(和/或任何其它连接的备份介质)中的每一卷的各种已使用和空闲的空间特性。
作为解释,复制代理130和/或确定模块135不必是驻留在备份服务器110上的组件。特别地,复制代理130和/或确定模块135可以在生产服务器105和/或备份系统100中的任何其它服务器(未示出)上实现。因此,此处对备份服务器110上的复制代理130和确定模块135的图示主要是出于方便示出至少一个实现的目的。
在任何情况下,确定模块135可标识对生产服务器105处的受保护数据(例如,125)做出的更新的大小。在一个实现中,确定模块135在一般的归档时段(例如,14天—在归档或删除阴影副本之前保留这些阴影副本的时间)期间在复制周期(例如,每15分钟)的过程中确定数据125中的所有改变的实际字节大小。然而,这一粒度确定并不是所有情况下所必需的。例如,在某些情况下,标识对需要多少空间来将数据更新复制到差异区域(例如,143)的更保守估计可能更高效。在一个实现中,这可通过按照文件(或字节)块来标识字节改变来完成。
一般而言,文件块(或字节块)通常是“文件”中的一组字节。出于本说明书和权利要求书的目的,“文件”在其最广泛的意义上被理解为包括任何类型的离散数据集合,诸如与电子邮件、数据库程序、系统库或组件等相关联的离散数据集合,而非普通的用户应用程序文件(或作为其补充)。在任何情况下,文件块中的该组字节通常具有一般从约4096字节到约16384字节的固定大小。由此,文件除被描述为某一任意数量的字节之外还可被描述为一组3字节的块。因此,如可从以下说明书和权利要求书中更完全理解的,复制代理130(经由确定模块135)可确定需要从生产服务器105写出的块的数目(即,改变的大小)、存储介质120中的可用块的数目(即,分配的存储的大小)、或其某一组合。
例如,复制代理130(经由确定模块135)可通过跟踪复制过程期间但在将数据与对应的备份卷同步(即,向其应用改变)之前的改变来确定对数据125的改变的总大小。在一个情况下,这可通过从文件系统日志/日记(例如,更新序列号日记、块改变位图或日志文件)113确定所有创建的、修改的和/或删除的文件来完成。复制代理130然后可归结一特定的标准指(即,块值),该值是关于文件中的元数据是否改变、文件是否为新的、文件是否已被追加、给定文件块中的一个或多个字节是否已改变、和/或文件是否已被删除。如上所述,该块值然后可提供对最终将需要多少在存储介质120处写入的保守的过高估计。
例如,复制代理130可被配置成对每一元数据改变清点特定数量的块,并且与分配给其它类型的文件改变的块值分开地对此数量进行计数。在一个实现中,复制代理130在每次其标识了与文件修改时间、安全特性、文件名或某一其它文件属性有关的文件元数据改变时计一个块。如果这些和其它元数据特性中的每一个都已改变,则复制代理130可能需要计若干个单独的块。然而,复制代理130可被优化成仅对可能彼此抵消的元数据改变标识一个块,诸如标识对同一元数据字段的若干改变(例如,若干次文件名改变)。
复制代理130还可被配置成对添加到文件的所有新块计数。例如,如果日志文件113标识具有3个块的新创建的文件,则复制代理130可向计数增加3个块。或者,对于追加的文件,复制代理130可以仅对已被添加到给定文件的每一块添加一个块值。类似地,复制代理130可被配置成对同一文件块中的一个或多个字节改变添加单个块,或者在跨同一文件中的若干不同块的若干字节改变时添加多个块。复制代理130然后可将这些单独的计数(即,元数据改变的数目、文件改变、创建或追加的数目)的每一个加在一起以获得对在存储介质120处将需要多少空间的估计。
在某些情况下,该计数也可通过考虑删除的块的总数来修改。例如,某些卷阴影副本服务被配置成当标识出生产服务器已在其存储介质(例如,115)处删除了一个块的先前版本时将该块从备份卷(例如,140)复制到阴影副本卷(例如,143)。在某些情况下,卷阴影副本服务可被配置成当给定的已删除块被另一文件或文件块盖写时仅报告块的删除。在其它情况下,卷阴影副本服务可被配置成同时报告一般的字节/块删除以及字节/块盖写。因此,复制代理130可被配置成适应用于确保反映了将需要传递到对应的备份卷的块的最准确的总数的任何阴影副本服务。
例如,复制代理130可被配置成从文件系统日记、日志文件或块改变位图(例如,113)中仅标识被盖写的已删除块的总数,以及那些已删除文件的大小。在一个实现中,这些已删除块的大小可以基于跨多个复制周期(以及由于纠错而引起的改变)累积的值。如此,复制代理130也可被配置成假设所有新添加的块在可用时将必然盖写已删除的块。因此,在这一示例中,复制代理130可确定对数据125的改变的总大小可由因元数据改变而得的块的数目、新添加的块的数目、以及被新添加的块盖写的已删除块的数目的总数来逼近。
在标识了生产服务器105处的改变大小时(或之前),复制代理130还可确定备份存储介质(例如,120)处的可用区域的大小以标识是否应用所标识的改变。例如,复制代理130可通过查询卷阴影副本服务(未示出)来标识主备份卷140中为阴影副本分配的存储区域中的空闲空间的量。或者,在主数据备份和阴影副本备份被存储在分开的卷(例如,140、125)上的情况下,复制代理130标识在用于存储阴影副本的卷中找到多少空闲空间(例如,147)。在任一情况下,复制代理130确定生产服务器105处的改变是否可被应用于存储介质120而不会盖写现有的、有效的阴影副本。
具体地,如果复制代理130标识来自生产服务器105的文件/数据改变(例如,123、127)的总大小不超过对阴影副本可用的可用空闲空间(例如,147),则复制代理130可以简单地将这些改变适当地应用于存储介质120。另一方面,如果要保护的数据上的改变(例如,123、127)的大小超过了所计算的对阴影副本可用的空间,则复制代理130可至少暂时停止将改变应用于存储介质120。复制代理130还可通过适当的接口引发警告,以向备份管理员(或适当的系统组件)指示复制已被停止,并且为阴影副本分配的存储区域已经完全满了。
在其它情况下,复制代理130可指示为阴影副本分配的存储区域未满,但是大小不足以容纳当前的改变。或者,复制代理130可被配置成确定所标识的来自生产服务器105的改变的速率,并且因而引发指示为阴影副本分配的可用空间可能大小不足的出错。复制代理130还可提示备份管理员增加可用空间以写入阴影副本(例如,通过增加主数据备份卷140内已分配的部分,或通过增加卷145的总大小)。复制代理130还可进一步建议备份管理员简单地以“先进先出”的次序删除现有的阴影副本直到有足够的大小。例如,在一个实现中,复制代理130建议要删除多少阴影副本,并且向备份管理员报告在执行了任何此类删除之后可用的最后一个恢复点。
在适当时,复制代理130然后可以根据原始时间表重启或恢复复制周期,并应用由生产服务器105指示的改变。随着复制周期的继续,复制代理130可继续估计阴影副本存储空间中的可用空闲空间。例如,当复制代理130最初设置保护时,复制代理130标识已使用的和空闲的空间,并将该信息存储在卷特性组件150中。在这一情况下,复制代理130可将阴影副本存储空间(例如,145)中的已使用空间(例如,143)设为0,并存储先前由备份管理员设置的阴影副本存储空间/卷(或主数据备份卷140中的已分配部分)145的上端值。在复制或修改卷中的已使用空间的任何其它操作(例如,确认和纠错)期间,复制代理130可继续向该已使用空间量增加块数,这相反从先前标识的空闲空间中减去这些量。
由此,复制代理130可继续估计对于所写入的内容在备份卷中剩下多少空间。尽管如此,复制代理130可能需要在应用其余改变之前进一步调整该总数。在适当时(不论是在复制周期之前还是期间),复制代理130还可从已使用空间(例如,143)中删除期满的阴影副本,并适当地从已使用空间(例如,143)中减去每一删除的阴影副本的大小。复制代理130还可考虑对已分配的阴影副本存储空间(或存储卷—例如,145)的上端的任何修改。例如,复制代理130可接收来自备份管理员的关于为阴影副本所分配的总大小的增加或减少的附加输入。由此,在适当时,复制代理130可继续将任何剩余的文件或文件块传递给可用阴影副本存储空间。
可以理解,由于复制的开始和停止,可能存在主数据备份(例如,140)和任何阴影副本备份(例如,145)之间与正在生产服务器105处写入日志文件113的内容相比的不一致性的情况。因此,复制代理130还可被配置成执行(或建议)与一致性检验(即,确认和纠错)的同步以容纳日志文件113中的任何溢出。这一同步在下文中更全面讨论。
继续参考图1,复制代理130可被配置成对有什么空间可用做出进行中的查询和确定,然后将接收到的更新的各部分应用于阴影副本区域,而非必须计算改变的总大小并在适当时应用这些改变。与以上描述形成对比,这可将大量工作置于标识存储介质120处可用于写入阴影副本的空闲空间的大小中,而非标识从生产服务器105接收到的所有改变的大小。一般而言,存在可完成这一步的根据本发明的各实现的多种机制。
例如,在一个实现中,当在复制周期期间从生产服务器105接收到文件改变时,复制代理130可以简单地在每一文件或每一块的基础上查询可用空闲阴影副本存储空间(例如,145),然后如果适当,则将每一下一文件(或块)写入可用阴影副本存储空间。如果对下一组一个或多个文件(或块)没有足够的空间,则复制代理130可引发警告。然而,查询用于被传递到备份卷的每一文件或文件块的可用空闲空间从资源使用的观点来看对于某些备份系统可能是困难的。因此,复制代理130可被配置成使用仍然提供对有什么可用的相当保守的估计的较小粒度的计算。
例如,复制代理130可被配置成计算用于存储阴影副本的空闲空间的“安全”可用区域,然后在频率比上述每一文件或每一块的基础低得多的基础上(例如,每10,000个文件或文件块)查询该可用区域。如上所述,试图留出安全的过低估计的量可能有助于保存有效的阴影副本。另外,这一过低估计可能有帮助的另一原因是某些卷阴影副本服务在新块被写在已删除块之上时可能仅将已删除块的数据更新应用于阴影副本存储区域。由此,设置安全的过低估计的限制可有助于在对可用空间的先前估计变为不足,即将有比所预期的多的数据(即,盖写的块)发送到阴影副本存储空间的情况下维持现有的阴影副本。
在任何情况下,复制代理130可用任意数量的方式来确定安全阴影副本存储空间。例如,在一个实现中,复制代理130可在最初标识可用用于存储阴影副本的空闲空间的当前可用的量,然后将该空闲空间的预定百分比设为“安全”。例如,在一个实现中,复制代理130将空闲空间的90%标识为安全。由此,有了最初的文件或文件块集合(例如,100,000个文件或块中的前10,000个文件或文件块),并知道了安全空闲空间的值的粗略近似(即,最初确定的空闲空间的90%),复制代理130可将该初始集合的每一文件或文件块写入可用安全存储空间。
在写入第一文件或文件块集合之后,复制代理130然后可确定(诸如通过查询适当的卷阴影复制服务)剩余的可用空闲空间,并且再一次将空闲空间的“90%”设为安全。如果下一文件或文件块集合适合该空间,则复制代理130只需如前一样将这些块写入空闲空间。然而,如果复制代理130确定空闲空间的新值对于下一文件或文件块集合并不恰当,则复制代理130然后可执行多个附加步骤。
例如,在一个实现中,复制代理130只需仅写入能适合安全可用空闲空间的下一集合的那些文件或文件块。在某些情况下,复制代理130可被配置成仅写入文件而非文件块,由此保持主数据存储(例如,卷140)与阴影副本存储(例如,卷145)相一致。例如,如果一个文件的两个块在生产服务器105处改变,则复制代理130可被配置成将这两个文件块都写入存储介质120,或者如果仅有一个块适合则不写入该文件中的任一块。
如果复制代理130随后确定没有单个文件(即,文件中改变或添加的块)可被写入安全可用阴影副本存储空间,则复制代理130然后可将安全可用大小设为适当的值(例如,“0”),这引发警告。这可导致复制代理130引发指示给定写操作不能成功完成,并且有仍需被容纳的数量为x的文件或文件块的警告。复制代理130然后可建议备份管理员增加用于阴影副本的总分配的存储区域(例如,卷145的大小,或卷140内的分配的大小),或在再次试图应用改变之前删除现有的阴影副本。假定能够做出且的确做出了这些调整,则复制代理130可重复上述这一将文件和/或文件块的集合写入安全可用阴影副本存储空间的过程。
如此,复制代理130也可使用卷过滤器驱动器(未示出)来监视备份服务器110处的所有备份卷(例如,存储介质120的140、145等)。这可有助于确保没有除了复制代理130之外的其它进程能写入备份卷(即,阴影副本存储空间145),或至少确保即使其它进程/应用程序正在写入备份卷,也做出相同的检查来确保保留了有效的阴影副本,这可提供各种安全性好处。例如,在一个实现中,卷过滤器驱动器可以存储用可用阴影副本存储空间(例如,147)的量来初始化的变量。每次当复制代理130将数据写入主数据备份卷(例如,140)时,卷过滤器驱动器可以假定该写入将导致已删除数据被移至对应的阴影副本卷(例如,145)。在这一情况下,卷过滤器可被配置成假定其中每一写入是对现有数据的改变的极端情形,并且不仅要求新的写入而且还要求将传递到阴影副本存储空间的被盖写的数据的副本。
由此,卷过滤器驱动器可被配置成对于每一标识的对主数据备份的写入,从空闲可用阴影副本存储空间中递减一个块。卷过滤器驱动器还可定期同步其对可用空闲阴影副本存储空间的确定(如下文更全面描述的)。最终,当可用阴影副本数据空间分配被递减到0时,复制代理130(在这一情况下从卷过滤器驱动器接收其数据)将无法对存储介质120做出任何写入,并且因此不会对阴影副本存储空间(例如,145)做出任何写入。复制代理130进而可向备份管理员引发警告,请求先前描述的各种容纳动作中的任何一个或多个。
根据此处所描述的各种大小逼近,备份管理员可能需要解决生产服务器105文件系统中的块大小与备份存储介质120中相同的块的大小不同的情况。具体地,在复制周期和/或确认/纠错之前计算的块改变可能不一定能转换成可用阴影副本空间上相同大小的块改变。当然,如果生产服务器105处的文件系统块的大小大于或等于在存储介质120处管理的块大小,则可能不会有任何问题,因为存储介质120处的可用空闲空间实际上将被过低估计。另一方面,如果生产服务器105处的块大小小于存储介质120处的块大小,则存储介质120处的可用空闲空间实际上被过高估计,这将导致过早的阴影副本盖写/删除。在这一情况下,复制代理130可执行多个附加步骤来对可用空闲空间的量进行过低估计。
例如,复制代理130可以将生产服务器105的块大小和备份存储介质120的块大小设为相同。这可涉及复制代理130归一化早先确定的改变的大小,使得生产服务器105和存储介质120之间的块匹配实际上是一对一的。或者,复制代理130可调整对因生产服务器105处的改变而得的总块数,并添加一个或多个块,因此对从生产服务器105处接收到的改变的数目进行过高估计。在这一点上,复制代理130可被配置成假定改变的块是连续的,且因此将一个块添加到生产服务器105处需要被写入存储介质120的所计算的改变的块。
或者,复制代理130可被配置成走查生产服务器105处的每一改变的块的逻辑偏移量。在这一情况下,复制代理可向已改变的(或为新的)每一组连续的块添加一个块的值,并且还计作为两个块来改变的一个独立块。在再一替换实现中,复制代理130可走查生产服务器105处已改变的文件块的逻辑偏移量,并将这些边界与在存储介质120处使用的,如由卷阴影副本服务所使用的块边界进行比较。备份服务器110可使用该比较来确定来自生产服务器105的、需要被应用于阴影副本存储空间(例如,145)的已改变块(在存储介质120处定义)的精确数量。
尽管根据此处所描述的各种近似,复制代理130可能还需要周期性地将其对可用阴影副本存储空间的近似与实际可用阴影副本存储空间进行同步。这可有助于防止随时间的混合近似错误。例如,在一个实现中,复制代理130可在标识了有足够的空间来应用生产服务器105处的特定改变时,但在应用这一改变之前,确定可用空闲阴影副本存储空间(例如,147)。复制代理130然后可将此标记为“预空间”。在应用了来自生产服务器105的改变之后,复制代理130然后可查询(即,查询卷阴影副本服务)改变之后剩余的可用阴影副本存储空间(例如,147),并将此标记为“后空间”。
假定在中间没有收回阴影副本,则应用于阴影副本存储的“实际改变”由“预空间”和“后空间”之差来表示。复制代理130然后可通过基于如上所述修改的块包括已被盖写的已删除块的假设从“实际改变”中减去修改的块(而非新的块)来计算已删除的块。这可得到“经调整的已删除块”的值。复制代理130然后可在计算改变大小时在先前所描述的过程中使用“经调整的已删除块”。
因此,上文描述了可确保备份更新的有效副本(即,阴影副本)能存活其预期的时间的多个组件和模块。特别地,这些实现可用于使得现有的备份系统更加稳健、可靠和高效,而不会不恰当地为诸如备份管理员等技术人员带来负担。本发明的各实现还可按照包括用于实现预期结果的一系列一个或多个动作或步骤的方法的流程图来描述。例如,图2示出了标识生产服务器处要在备份服务器处应用的改变的总大小的方法的流程图,而图3示出了在应用改变之前标识备份服务器中的可用存储空间的方法的流程图。图2和3在以下参考图1所示的组件来讨论。
具体地,图2示出根据本发明的一个实现的将对生产服务器处的文件改变的确定与一个或多个备份卷中的可用阴影副本存储空间相关的方法包括标识一个或多个文件改变的动作200。动作200包括标识生产服务器处的一个或多个数据改变的集合。例如,复制代理130经由日志文件113接收来自生产服务器105的数据更新123和/或127。
另外,图2示出该方法可包括用于确定该集合的改变的总大小的步骤210。步骤210包括确定该集合中要应用于阴影副本存储卷的改变的总大小,使得改变的总大小被过高估计。例如,在经由日志文件113接收到改变之后,复制代理130确定与最终需要被应用于备份卷145的改变的大小相近似的值。
一般而言,尽管步骤210可包括任何数量的相应动作或其次序,但步骤210在至少一个实现中包括向该集合的每一新文件中的每一数据部分分配一标准值、向被追加到该集合中的任何文件的每一数据部分分配该标准值、以及向已被盖写的每一文件分配该标准值的动作。例如,复制代理130在标识新的块(例如,新文件、文件追加)、已被修改的块、或在标识已被盖写的文件(或块)时,分配一字节的块值(或其它等效的数据大小)。步骤210还可包括向该集合的任何文件中已被改变的每一元数据部分分配该标准值,并添加每一分配的标准值,使得生产服务器处的改变的总大小被近似的动作。例如,复制代理130可添加关于每一元数据改变的块(或对于抵消的改变为一个块),然后添加所有块分配以近似将需要被应用于备份卷(例如,145)的块的总大小。
另外,图2示出该方法可包括标识阴影副本存储空间的大小的动作220。动作220包括标识阴影副本存储卷中的可用阴影副本存储空间的大小。例如,复制代理130查询卷阴影副本服务以标识在一般化的备份卷(例如,140)中有多少空间既被分配又是空闲的,或者在阴影副本存储卷(例如,145)中有多少空间是空闲的(例如,147)。
此外,图2示出该方法可包括应用该一个或多个文件改变的集合的步骤230。步骤230包括将一个或多个数据改变的集合应用于所标识的可用阴影副本存储空间,使得有效阴影副本在期满之前保留在阴影副本存储卷中。例如,在标识来自生产服务器105的改变的总大小,并且在标识适当的备份卷中有多少空间是空闲的之后,复制代理130可将接收到的改变传递给备份卷。
一般而言,尽管步骤230可包括任意数量的相应动作或其次序,但步骤230在至少一个实现中包括标识可用阴影副本空间中的空闲空间的量以及将改变的总大小与所标识的空闲空间进行比较的动作。步骤230还可包括标识空闲空间的量至少与改变的总大小一样大,并自动将一个或多个数据改变的集合应用于所标识的空闲空间的动作。例如,如果复制代理130标识可用空闲空间(例如,147)至少与从生产服务器105接收到的改变的总大小一样大,则复制代理130(例如,经由卷阴影副本服务)可简单地将这些接收到的改变传递给阴影副本存储空间。当然,如先前所描述的,如果可用阴影副本存储空间的大小不足,则复制代理130可或者删除期满的阴影副本,或者向备份管理员引发警告以获得进一步的动作。
图3示出了与图2相类似的方法,但更多地向简单地接收更新并花费资源进行调整,因而确定在阴影副本存储区域中有多少空间可用。具体地,图2示出确定一个或多个备份卷中的可用阴影副本存储空间以由此应用从生产服务器接收到的数据更新而不删除有效阴影副本数据的方法可包括从生产服务器接收数据的动作300。动作300包括从生产服务器接收一个或多个数据改变。例如,复制代理130经由日志文件113从生产服务器105接收(关于数据125的)一个或多个数据改变的集合。
图2还示出该方法可包括向所接收的数据分配块值的动作310。动作310包括向初始集合中的一个或多个数据改变的每一个分配一标准值。例如,如本文先前所描述的,复制代理130可被配置成当其连续地确定有多少空闲空间可用时一次将单个文件或单个块传递到对应的阴影副本存储空间(例如,145)中。因此,最初,复制代理可取一个或多个数据更新的集合中的初始文件,并确定将多少块值分配给该文件(例如,对追加分配一个块,对改变/修改的预先存在的块分配一个块,等等)。
另外,图2示出该方法可包括计算可用阴影副本存储空间的动作320。步骤320包括算备份卷中的可用阴影副本存储空间的量,使得该量被过低估计以保留存储在备份卷中的有效阴影副本。例如,复制代理130可定期地在每次复制代理130开始向阴影副本存储空间传递一“文件”(如此处所理解的)时向卷阴影副本服务查询有多少空间是空闲的。即,尽管复制代理130一般将数据直接传递给主数据备份并使用卷阴影副本服务(未示出)来将阴影副本数据传递给阴影副本存储空间,但复制代理130可向卷阴影副本服务查询可用空闲空间。复制代理130还可简单地每隔从生产服务器105接收到的若干文件集合向卷阴影副本复制服务查询可用空闲空间,然后将空闲空间的特定部分认为是安全的。
尽管步骤320可包括用于实现该步骤的任意数量的对应动作或其次序,但步骤320在至少一个实现中包括标识一个或多个数据改变的第一字节块、向卷阴影副本服务请求空闲的可用阴影副本存储空间的量、标识一个或多个数据改变的第二字节块、以及再次向卷阴影副本服务请求空闲的可用阴影副本存储空间的量的动作。或者,步骤320可包括标识空闲的可用阴影副本存储空间的量、将所标识的空闲空间的减少的部分标识为安全的、以及对对应于该集合中的第一多个数据改变的标准值求和以确定该第一多个改变的总大小的动作。
图2还示出该方法可包括将所标识的块值与所计算的存储空间进行比较的动作330。动作330包括标识一个或多个数据改变的初始集合的标准值小于所计算的备份卷中的可用阴影副本存储空间的量。例如,复制代理130确定对于初始文件或文件集合的改变(例如,从生产服务器105接收到的所有改变的子集)的总大小小于对可用空闲空间的即时查询结果,或小于先前被认为适合阴影副本存储空间的安全量的大小。
此外,图2还示出该方法包括向备份卷应用接收到的数据的动作340。动作340包括向备份卷应用一个或多个数据改变的初始集合,使得有效阴影副本在期满之前保留在阴影副本存储卷中。例如,如果适当地适合所标识的空闲空间或空闲空间的安全量,则复制代理130可简单地将从生产服务器接收到的初始文件(或文件集合)传递给备份卷(例如,147)中的空闲空间。或者,如果这样做将导致从备份卷删除预先存在的但有效的阴影副本,则复制代理130可引发警告,或者采取如上所述适应这一情况的其它自动化动作。
因此,本发明的各实现提供了用于确保阴影副本能贯穿其有效时段被保留而不会有阴影副本被过早删除的危险的多个组件、示意图和方法。具体地,本发明的各实现提供了允许从各种替换观点(即,改变的总大小、对阴影副本存储空间的连续监视、以及对阴影副本存储空间的有用估计)来处理这些问题的各种机制。此外,本发明的各实现提供了用于确保两个服务器之间的数据大小测量的一致性、以及用于通过各种同步过程来缓解将随着时间而加倍的近似误差的多种机制。由此,本发明的各实现提供了比常规上可获得的高效且可靠得多的阴影副本备份机制。
本发明的各实施例可以包括含有各种计算机硬件的专用或通用计算机,这将在以下做出进一步讨论。更具体地,本发明的范围内的实施例还包括用于承载或在其上储存计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。
作为示例而非限制,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或可用于承载或存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其它介质。当信息通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为计算机可读介质。因此,任何这样的连接被适当地称为计算机可读介质。以上的组合也应包括在计算机可读介质的范围之内。
计算机可执行指令包括例如,使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所述实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非上述说明书指示。落入权利要求书的等效方式的含义和范围内的所有改变应被权利要求书的范围涵盖。

Claims (15)

1.一种在计算机化系统中的方法,在所述计算机化系统中,备份服务器将数据备份和对应的更新应用于一个或多个备份卷,所述方法将对生产服务器处的数据改变的确定与所述一个或多个备份卷中的可用阴影副本存储空间进行相关,所述方法包括:
标识生产服务器处的一个或多个数据改变的集合的动作;
用于确定所述集合中将应用于阴影副本存储卷的改变的总大小,使得所述改变的总大小是准确确定的或过高估计的之一的步骤;
标识所述阴影副本存储卷中的可用阴影副本存储空间的大小的动作;以及
用于将所述一个或多个数据改变的集合应用于所标识的可用阴影副本存储空间,使得有效阴影副本在期满之前保留在所述阴影副本存储卷中的步骤,该步骤进一步包括:
标识所述可用阴影副本空间中的空闲空间的量;
将所述改变的总大小与所标识的空闲空间进行比较;
如果所述空闲空间的量被标识为至少与所述改变的总大小一样大,则自动地将所述一个或多个数据改变的集合应用于所标识的空闲空间;以及
如果所述空闲空间的量不足以容纳所述改变的总大小,则自动地删除已经期满的一个或多个阴影副本以及自动地将所述一个或多个数据改变的集合应用于所标识的空闲空间,或者
引发警告以获得进一步动作的动作,其中所述警告包括以下的至少一个:(i)对可被删除的一个或多个阴影副本的建议;以及(ii)增加所述可用阴影副本存储空间的大小的建议。
2.如权利要求1所述的方法,其特征在于,所述标识阴影副本存储卷中的可用阴影副本存储空间的大小的动作包括向卷阴影副本服务请求所述可用阴影副本存储空间的大小的动作。
3.如权利要求1所述的方法,其特征在于,所述用于确定所述集合中将应用于阴影副本存储卷的改变的总大小的步骤包括以下动作:
向所述集合的每一新文件中的每一数据部分,并向追加到所述集合中的任何文件的每一数据部分分配一标准值;
向已被改写的每一文件分配所述标准值;
向所述集合的任何文件中已被改变的每一元数据部分分配所述标准值;以及
增加每一分配的标准值,使得所述生产服务器处的改变的总大小是精确确定的或过高估计的之一。
4.如权利要求3所述的方法,其特征在于,所述数据部分是字节块,使得所述标准值被分配给所述一个或多个数据改变的集合中已改变的每一字节块。
5.如权利要求1所述的方法,其特征在于,所述备份服务器还包括被配置成监视所述备份服务器处的一个或多个备份卷的卷过滤器驱动器;并且其中所述卷过滤器驱动器是被允许写入所述一个或多个备份卷中的任一个的唯一进程。
6.如权利要求5所述的方法,其特征在于,所述卷过滤器驱动器被配置成执行以下动作:
向所标识的可用阴影副本存储空间的量分配第一值;
至少部分地通过假设所述一个或多个数据改变中的每一个都包括先前数据的改写来确定所述集合中的改变的总大小;
从所述第一值递减所述改变的总大小;以及
在将所述第一值递减到零时,停止对所述阴影副本存储卷的任何写入。
7.一种计算机化系统中的方法,在所述计算机化系统中,备份服务器向一个或多个备份卷应用数据备份和对应的更新,所述方法确定所述一个或多个备份卷中的可用阴影副本存储空间以由此应用从生产服务器接收到的数据更新而不删除有效阴影副本数据,所述方法包括:
从生产服务器接收一个或多个数据改变的动作;
向初始集合中的所述一个或多个数据改变的每一个分配一标准值的动作;
用于计算备份卷中的可用阴影副本存储空间的量,使得所述量被过低估计以保留存储在所述备份卷中的有效阴影副本的步骤;
标识用于所述一个或多个数据改变的每一个的标准值小于所计算的所述备份卷中的可用阴影副本存储空间的量的动作;以及
将所述一个或多个数据改变的每一个应用于所述备份卷,使得有效阴影副本在期满之前保留在所述备份卷中的动作。
8.如权利要求7所述的方法,其特征在于,还包括调整由所述生产服务器报告的字节块大小以至少与由卷阴影副本服务报告的字节块大小相近似的动作。
9.如权利要求7所述的方法,其特征在于,所述一个或多个数据改变的每一个对应于已被添加、改变或改写的字节块。
10.如权利要求7所述的方法,其特征在于,所述用于计算备份卷中的可用阴影副本存储空间的量的步骤包括以下动作:
标识所述一个或多个数据改变的第一字节块;
向卷阴影副本服务请求空闲的所述可用阴影副本存储空间的量;
标识所述一个或多个数据改变的第二字节块;以及
向所述卷阴影副本服务请求空闲的所述可用阴影副本存储空间的量。
11.如权利要求7所述的方法,其特征在于,所述用于计算备份卷中的可用阴影副本存储空间的量的步骤包括以下动作:
标识空闲的所述可用阴影副本存储空间的量;
将所标识的空闲空间的一个预定百分比的部分设为安全空间;以及
在对所述备份卷应用了一个或多个数据改变的每一个之后重复上述两个步骤。
12.如权利要求11所述的方法,其特征在于,还包括以下动作:
对对应于所述集合中的第一多个数据改变的标准值求和以确定所述第一多个数据改变的总大小;以及
将所述第一多个数据改变的总大小与所标识的安全空间进行比较。
13.如权利要求11所述的方法,其特征在于,还包括以下动作:
将所标识的安全空间至少扣除第一多个数据改变的量;
对对应于第二多个数据改变的标准值求和,以确定所述第二多个数据改变的总大小;以及
将所述第二多个数据改变的总大小与所述扣除后的安全空间进行比较。
14.如权利要求11所述的方法,其特征在于,还包括用于对所标识的可用阴影副本存储空间中的任何近似误差进行调整的步骤,所述步骤包括以下动作:
在应用了第一和第二多个数据改变之后计算所述阴影副本存储空间在应用了所述第一和第二多个数据改变之前与之后间的差,以确定所述备份卷中的实际改变;以及
将所述实际改变减去已被改写的块的数量以确定已删除的块的实际值。
15.一种在计算机化系统中的装置,在所述计算机化系统中,备份服务器将数据备份和对应的更新应用于一个或多个备份卷,所述装置将对生产服务器处的数据改变的确定与所述一个或多个备份卷中的可用阴影副本存储空间进行相关,所述装置包括:
用于标识生产服务器处的一个或多个数据改变的集合的装置;
用于确定所述集合中要应用于阴影副本存储卷的改变的总大小,使得所述改变的总大小是准确确定的或过高估计的之一的装置;
用于标识所述阴影副本存储卷中的可用阴影副本存储空间的大小的装置;以及
用于将所述一个或多个数据改变的集合应用于所标识的可用阴影副本存储空间,使得有效阴影副本在期满之前保留在所述阴影副本存储卷中的装置,该装置进一步包括:
用于标识所述可用阴影副本空间中的空闲空间的量的装置;
用于将所述改变的总大小与所标识的空闲空间进行比较的装置;
用于如果所述空闲空间的量被标识为至少与所述改变的总大小一样大,则自动地将所述一个或多个数据改变的集合应用于所标识的空闲空间的装置;以及
用于如果所述空闲空间的量不足以容纳所述改变的总大小,则执行以下动作的装置:
自动地删除已经期满的一个或多个阴影副本以及自动地将所述一个或多个数据改变的集合应用于所标识的空闲空间,或者
引发警告以获得进一步动作的动作,其中所述警告包括以下的至少一个:(i)对可被删除的一个或多个阴影副本的建议;以及(ii)增加所述可用阴影副本存储空间的大小的建议。
CN2007800202618A 2006-05-29 2007-04-26 在复制期间保留阴影副本数据 Active CN101460931B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN1285DE2006 2006-05-29
IN1285/DEL/2006 2006-05-29
US11/458,552 2006-07-19
US11/458,552 US7461223B2 (en) 2006-05-29 2006-07-19 Retaining shadow copy data during replication
PCT/IB2007/002986 WO2008020310A2 (en) 2006-05-29 2007-04-26 Retaining shadow copy data during replication

Publications (2)

Publication Number Publication Date
CN101460931A CN101460931A (zh) 2009-06-17
CN101460931B true CN101460931B (zh) 2012-06-06

Family

ID=38750852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800202618A Active CN101460931B (zh) 2006-05-29 2007-04-26 在复制期间保留阴影副本数据

Country Status (8)

Country Link
US (1) US7461223B2 (zh)
EP (2) EP2299361B1 (zh)
JP (1) JP5129245B2 (zh)
KR (1) KR101491861B1 (zh)
CN (1) CN101460931B (zh)
AT (1) ATE503224T1 (zh)
DE (1) DE602007013397D1 (zh)
WO (1) WO2008020310A2 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913043B2 (en) * 2004-05-14 2011-03-22 Bakbone Software, Inc. Method for backup storage device selection
KR101342914B1 (ko) * 2006-11-21 2013-12-19 삼성전자주식회사 파일 복원기능을 구비한 전자장치 및 그 방법
US20080201455A1 (en) 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
JP2009015476A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd Cdpリモート構成におけるジャーナル管理方法
US20090106155A1 (en) * 2007-10-19 2009-04-23 Castellanos Marcos System and Method for Archival of Electronic and Tangible Records
US8244868B2 (en) * 2008-03-24 2012-08-14 International Business Machines Corporation Thin-provisioning adviser for storage devices
US8412905B2 (en) * 2009-01-01 2013-04-02 Sandisk Il Ltd. Storage system having secondary data store to mirror data
US8812436B2 (en) * 2010-05-04 2014-08-19 Symantec Corporation Schedule based data lifecycle management
WO2012121041A1 (ja) 2011-03-04 2012-09-13 株式会社糖鎖工学研究所 シアル酸含有糖鎖の製造方法
US8966382B1 (en) * 2012-09-27 2015-02-24 Emc Corporation Managing production and replica copies dynamically
US9851989B2 (en) 2012-12-12 2017-12-26 Vmware, Inc. Methods and apparatus to manage virtual machines
US9372638B1 (en) * 2013-02-08 2016-06-21 Veritas Technologies Llc Systems and methods for backing up virtual machine data
CN104216793B (zh) 2013-05-31 2017-10-17 国际商业机器公司 应用程序备份、恢复的方法及设备
US10216631B1 (en) 2013-09-05 2019-02-26 United Services Automobile Association (Usaa) Revising cache expiration
US9495238B2 (en) 2013-12-13 2016-11-15 International Business Machines Corporation Fractional reserve high availability using cloud command interception
US9246840B2 (en) 2013-12-13 2016-01-26 International Business Machines Corporation Dynamically move heterogeneous cloud resources based on workload analysis
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US10176048B2 (en) * 2014-02-07 2019-01-08 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times and reading data from the repository for the restore copy
US9836357B1 (en) 2014-04-25 2017-12-05 Veritas Technologies Llc Systems and methods for backing up heterogeneous virtual environments
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US9361349B1 (en) 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US10248705B2 (en) 2015-01-30 2019-04-02 Dropbox, Inc. Storage constrained synchronization of shared content items
US9563638B2 (en) 2015-01-30 2017-02-07 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US9413824B1 (en) 2015-01-30 2016-08-09 Dropbox, Inc. Storage constrained synchronization of content items based on predicted user access to shared content items using retention scoring
US9185164B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Idle state triggered constrained synchronization of shared content items
US10831715B2 (en) 2015-01-30 2020-11-10 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US10140055B2 (en) * 2015-12-21 2018-11-27 Memory Technologies Llc Ensuring that memory device actions are valid using reference values
JP6570761B2 (ja) * 2016-04-25 2019-09-04 ドロップボックス, インコーポレイテッド ストレージ制約付きの同期エンジン
US10049145B2 (en) 2016-04-25 2018-08-14 Dropbox, Inc. Storage constrained synchronization engine
US10719532B2 (en) 2016-04-25 2020-07-21 Dropbox, Inc. Storage constrained synchronization engine
US10515226B2 (en) * 2016-11-21 2019-12-24 Dell Products, L.P. Systems and methods for protected local backup
CN108664354A (zh) * 2017-04-01 2018-10-16 华为技术有限公司 一种数据镜像方法及存储系统
US10613946B2 (en) 2017-11-30 2020-04-07 International Business Machines Corporation Device reservation management for overcoming communication path disruptions
US10282258B1 (en) 2017-11-30 2019-05-07 International Business Machines Corporation Device reservation state preservation in data mirroring
US10521147B2 (en) 2017-11-30 2019-12-31 International Business Machines Corporation Device reservation state synchronization in data mirroring
WO2019212768A1 (en) * 2018-04-30 2019-11-07 Amazon Technologies, Inc. Distributed replica for block storage systems
KR20220117569A (ko) * 2021-02-17 2022-08-24 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US11775558B1 (en) * 2022-04-11 2023-10-03 Fmr Llc Systems and methods for automatic management of database data replication processes
US11675812B1 (en) 2022-09-29 2023-06-13 Fmr Llc Synchronization of metadata between databases in a cloud computing environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664186A (en) * 1992-05-21 1997-09-02 International Business Machines Corporation Computer file management and backup system
US6473775B1 (en) * 2000-02-16 2002-10-29 Microsoft Corporation System and method for growing differential file on a base volume of a snapshot
CN1760790A (zh) * 2004-09-09 2006-04-19 微软公司 在数据保护系统中提供警告合成的方法、系统和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4459658A (en) * 1982-02-26 1984-07-10 Bell Telephone Laboratories Incorporated Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
AU682523B2 (en) * 1993-07-01 1997-10-09 Legent Corporation System and method for distributed storage management on networked computer systems
US5799141A (en) * 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
US5870537A (en) * 1996-03-13 1999-02-09 International Business Machines Corporation Concurrent switch to shadowed device for storage controller and device errors
US6145049A (en) * 1997-12-29 2000-11-07 Stmicroelectronics, Inc. Method and apparatus for providing fast switching between floating point and multimedia instructions using any combination of a first register file set and a second register file set
US6088694A (en) * 1998-03-31 2000-07-11 International Business Machines Corporation Continuous availability and efficient backup for externally referenced objects
US6934822B2 (en) 2002-08-06 2005-08-23 Emc Corporation Organization of multiple snapshot copies in a data storage system
DE10393771T5 (de) 2002-11-20 2006-03-30 Filesx Ltd. Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
US7730033B2 (en) 2003-06-13 2010-06-01 Microsoft Corporation Mechanism for exposing shadow copies in a networked environment
US7567991B2 (en) 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
US6959313B2 (en) 2003-07-08 2005-10-25 Pillar Data Systems, Inc. Snapshots of file systems in data storage systems
JP4453323B2 (ja) * 2003-10-02 2010-04-21 株式会社日立製作所 複製データの管理方法、装置、及びプログラム
US7203708B2 (en) * 2003-11-06 2007-04-10 Microsoft Corporation Optimizing file replication using binary comparisons
US9075851B2 (en) 2003-12-09 2015-07-07 Emc Corporation Method and apparatus for data retention in a storage system
JP4225206B2 (ja) * 2004-01-23 2009-02-18 日本電気株式会社 記憶装置の複製データ格納システムと複製データ格納プログラム
US7756833B2 (en) * 2004-09-22 2010-07-13 Microsoft Corporation Method and system for synthetic backup and restore
US7483926B2 (en) * 2005-04-01 2009-01-27 Microsoft Corporation Production server to data protection server mapping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664186A (en) * 1992-05-21 1997-09-02 International Business Machines Corporation Computer file management and backup system
US6473775B1 (en) * 2000-02-16 2002-10-29 Microsoft Corporation System and method for growing differential file on a base volume of a snapshot
CN1760790A (zh) * 2004-09-09 2006-04-19 微软公司 在数据保护系统中提供警告合成的方法、系统和装置

Also Published As

Publication number Publication date
EP2033098A2 (en) 2009-03-11
EP2033098A4 (en) 2010-01-13
KR20090020583A (ko) 2009-02-26
EP2299361B1 (en) 2012-05-23
WO2008020310A3 (en) 2008-07-24
US7461223B2 (en) 2008-12-02
EP2299361A1 (en) 2011-03-23
DE602007013397D1 (de) 2011-05-05
KR101491861B1 (ko) 2015-02-23
JP5129245B2 (ja) 2013-01-30
US20070277010A1 (en) 2007-11-29
WO2008020310A2 (en) 2008-02-21
ATE503224T1 (de) 2011-04-15
CN101460931A (zh) 2009-06-17
EP2033098B1 (en) 2011-03-23
JP2009539162A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
CN101460931B (zh) 在复制期间保留阴影副本数据
Kaczmarski et al. Beyond backup toward storage management
CN100527043C (zh) 在数据保护系统中提供警告合成的方法、系统和装置
US7860837B2 (en) Method and system for improving management of media used in archive applications
US8229897B2 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
CN100416538C (zh) 动态修改通信路径的方法
CN101501652B (zh) 检查点及一致性标记符
CN100495354C (zh) 在耦合会话环境内合并一簇会话的会话信息的方法和系统
KR20150061258A (ko) 분산 raid 시스템에서 패리티 청크 운용 방법과 이를 지원하는 데이터 서버 장치
MXPA05009273A (es) Metodo, sistema, y aparato para crear un modelo arquitectonico para la generacion robusta y facil para manejar aplicaciones de proteccion de datos en un sistema de proteccion de datos.
US6795834B2 (en) Apparatus, method, and storage medium for file management
US10901648B2 (en) Distributed data storage system with automatic snapshots, user snapshots and soft delete
US20100057790A1 (en) Secure virtual tape management system with console and catalog monitoring and updating
CN1904855B (zh) 自动使卷容器中的存储区域网络的组件相关的系统和方法
CN116917880A (zh) 分布式数据库远程备份
EP2135166B1 (en) Service workload identification in a data storage system
US11237921B2 (en) Protecting storage backup configuration
US20240020206A1 (en) Data control apparatus and data control method
US20080256310A1 (en) Maintain owning application information of data for a data storage system
US20230393948A1 (en) Storage system and method of restoring storage system
JP6984503B2 (ja) 制御プログラム、制御方法および情報処理装置
WO2015097991A1 (ja) トランザクション分散処理装置、方法、システム、および、記憶媒体
CN115185930A (zh) 一种it监控系统迁移方法
CA2265434A1 (en) Database storage manager utility
JP2012064089A (ja) 情報同期システム、情報同期プログラムおよび情報同期方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.