CN103608786B - 在恢复站点处管理复制的虚拟储存器 - Google Patents

在恢复站点处管理复制的虚拟储存器 Download PDF

Info

Publication number
CN103608786B
CN103608786B CN201280030475.4A CN201280030475A CN103608786B CN 103608786 B CN103608786 B CN 103608786B CN 201280030475 A CN201280030475 A CN 201280030475A CN 103608786 B CN103608786 B CN 103608786B
Authority
CN
China
Prior art keywords
disk
copy
virtual
difference
read
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
CN201280030475.4A
Other languages
English (en)
Other versions
CN103608786A (zh
Inventor
P.基鲁沃卢
G.辛哈
D.辛赫
J.奥辛斯
C.L.埃克
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103608786A publication Critical patent/CN103608786A/zh
Application granted granted Critical
Publication of CN103608786B publication Critical patent/CN103608786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/202Error 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 where processing functionality is redundant
    • G06F11/2038Error 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 where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory 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/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
    • 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
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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/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)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

牵涉储存器的复制的技术被描述。代表性的技术包括用于接收复制的虚拟机器的复制的虚拟储存器(至少包括与要被复制的主要基本虚拟磁盘基本上对应的复制的基本虚拟磁盘)的装置和方法。差异磁盘的拷贝或其它形式的虚拟储存器更新在恢复站点被接收,所述差异磁盘中的每一个都作为其后代与所述主要基本虚拟磁盘相关联。所接收到的所述差异磁盘的拷贝相对于复制的基本虚拟磁盘被布置,其与所述差异磁盘相对于所述主要基本虚拟磁盘被布置的方式相对应,从而使所述复制的虚拟机器的数据视图维持与在主要站点处的所述虚拟机器同步。

Description

在恢复站点处管理复制的虚拟储存器
背景技术
随着企业和个体对计算需要的严重依赖,对于不间断计算服务的需要已变得越来越重要。许多组织开发业务连续性计划以确保关键业务功能将享受连续操作,并且在面对能够切断正常业务连续性的机器失灵、掉电、自然灾害以及其它破坏时保持可用。
局部破坏可以例如由局部服务器中的硬件或其它故障、导致系统停止和/或重新启动的软件或固件问题等引起。局部解决方案可以包括服务器集群和虚拟化技术以促进(facilitate)故障转移。使用虚拟化的局部故障转移技术提供了如果原始机器或虚拟机器故障则继续在不同的机器或虚拟机器上操作的能力。软件能够识别操作系统和/或应用不再工作,并且操作系统和(一个或多个)应用的另一实例能够在另一机器或虚拟机器中被启动以便在前一个机器停止的地方拾起(pick up)。例如,管理程序可以被配置成确定操作系统不再运行,或者应用管理软件可以确定应用不再工作,其继而可以通知管理程序或操作系统应用不再运行。高可用性解决方案可以配置故障转移发生,例如,从一个机器到在共同站点处的另一机器,或者如在下面所描述的那样从一个站点到另一站点。其它故障转移配置对于诸如测试这样的其它目的来说也是可能的,其中从一个虚拟机器到在同一机器内的另一虚拟机器的故障转移甚至可以被使能实现。
灾难恢复涉及在较大规模上维持业务连续性。特定故障场景影响不只操作系统、虚拟机器或物理机器。在较高水平的失灵能够引起影响整个站点的电源故障或其它问题,所述整个站点诸如企业的信息技术(IT)或其它计算中心。可以使站点的计算系统中的一些以及常常全部故障的自然和其它灾难能够影响公司。为了提供灾难恢复,公司现今可以将运行系统备份到磁带或其它物理媒体上,并且将它邮寄或者否则输送到另一站点。当数据中心因任何原因而离线时,备份数据中心能够用备份媒体接管操作。除了缺点之外,提供物理媒体的过程还是麻烦的,备份在彼此之间具有显著的时间间隔,并且恢复系统可能是过时数日了。
发明内容
牵涉储存器的复制的技术被描述,所述储存器包括与虚拟机器相关联的虚拟储存器。一个代表性的技术包括能够接收复制的虚拟机器的复制的虚拟储存器的装置,所述复制的虚拟储存器至少包括基本上与要被复制的主要基本虚拟磁盘对应的复制的基本虚拟磁盘。接收器接收差异磁盘的拷贝或其它形式的虚拟储存器更新,它们的每一个都作为所述主要基本虚拟磁盘的后代与其相关联。复制管理模块被配置成以这样的方式相对于所述复制的基本虚拟磁盘来布置所接收到的差异磁盘的拷贝,所述方式与所述差异磁盘如何相对于所述主要基本虚拟磁盘被布置相对应。
这样的技术的特定实施方案牵涉具有多个复制或“拷贝”类型的差异磁盘的拷贝,其中所述复制管理模块被配置成相对于所述复制的基本虚拟磁盘来布置所述多个复制类型,如它们相对于主要基本虚拟磁盘被布置的一样。所述多种类型的例子包括在虚拟机器上操作的一个或多个应用为拷贝做准备之后被获得的差异磁盘的拷贝,以及在没有对拷贝进行通知或准备的情况下被获得的差异磁盘的拷贝。
在另一代表性的实施例中,用于促进虚拟储存器复制的计算机实施的方法被提供。与虚拟机器相关联的虚拟磁盘的基本虚拟磁盘映像被存储。对虚拟磁盘的改变通过将所述改变记录到磁盘链的顶部的当前读写差异磁盘而被存储,所述磁盘链包括基本虚拟磁盘映像和任何介于中间的差异磁盘。在规则或不规则基础上,虚拟磁盘改变的可转移拷贝针对复制的储存器被创建,其通过复制当前读写差异磁盘并且禁止对其的进一步改变、在磁盘链的顶部创建新的当前差异磁盘、以及针对复制的储存器转移差异磁盘的拷贝而实现。
在另一代表性的实施例中,一个或多个计算机可读媒体被提供,所述一个或多个计算机可读媒体具有存储在其上的指令,所述指令可由计算系统执行以便执行各种功能。所述功能包括创建虚拟机器的差异磁盘的只读快照的链,在链的顶端提供读和写能力的新的差异磁盘根据每个快照被创建。多个快照类型被包括在所述链上,其至少包括应用一致快照类型和崩溃一致快照类型。只读快照的复制的链被创建,所述复制的链对应于虚拟机器的差异磁盘的只读快照的链。所复制的链中的只读快照中的一个作为用于启动复制的虚拟机器的恢复点的选择被促进。所述复制的虚拟机器从只读快照中的所选一个被启动,并且包括连续地紧跟所选恢复点之后的只读快照中的一个或多个。
本发明内容被提供来以简化形式介绍在下面在具体实施方式中被进一步地描述的概念的选择。本发明内容不旨在识别所要求保护的主题的关键特征或必要特征,也不旨在被用来限制所要求保护的主题的范围。
附图说明
图1一般性地图示了用于使用差异磁盘来复制虚拟机器的代表性的实施例;
图2A和2B描绘了依照本公开的复制可以在其中被实施的代表性的计算环境;
图3图示了代表性的方式,以所述方式,主要计算机/服务器环境能够促进其灾难恢复并且使它的数据在其随着时间的推移而改变时被复制;
图4A和4B描绘了当虚拟储存器被修改以及一个或多个拷贝被作出时代表性的磁盘链的连续状态;
图5是图示了代表性的方式的流程图,以所述方式,复制的虚拟机器的数据视图被与它在主要服务器中的配对物保持同步;
图6描绘了复制的虚拟磁盘和复制的磁盘链,其与正被复制的在主要站点处的虚拟储存器的所保存部分对应;
图7A-7F图示了用于从第一计算环境向至少一个其它计算环境异步地复制虚拟机器或其它计算实体的储存器的代表性的例子;
图8图示了调度基本或差异磁盘的快照或其它拷贝的例子;
图9图示了当访问磁盘的链时链接以及对复制的差异磁盘的链接的修改的例子;
图10是从在主要站点处的将使其储存器被复制的至少一个主要服务器的角度来图示代表性的特征的流程图;
图11是从在恢复站点处的正在复制(一个或多个)虚拟机器的至少一个恢复服务器的角度来图示代表性的特征的流程图;以及
图12描绘了其中本文中所描述的原理可以被实施的代表性的计算系统。
具体实施方式
在以下描述中,对描绘了代表性的实施方案例子的附图进行参考。应当理解,其它实施例和实施方案可以被利用,因为结构和/或操作改变可以在不背离本公开的范围的情况下被作出。
本公开一般性地针对数据复制和恢复。虽然本文中所描述的原理适用于数据从一个数据存储设备或设施到另一数据设备或设施的任何复制,但是本公开中的许多实施例是在灾难恢复的背景中被描述的,其中复制的数据和处理资源被从主要计算中心站外提供。然而,应认识到,本文中所描述的原理是适用的,而不管复制的数据被转移到(一个或多个)恢复站点的距离或方式。特定实施例还在虚拟机器的背景中被描述,但是原理同样地适用于物理机器以及它们的可用的储存器。
如上面所指出的那样,系统备份信息常常在物理媒体上被作出并且物理上提供给远程恢复站点。当数据中心离线时,备份数据中心能够用备份媒体接管操作。重复地将物理媒体提供给恢复站点是繁重的。恢复将牵涉使用可能来自一天或更多天前的已经在恢复站点处可用的备份数据,否则恢复将必须等待直到较新的复制数据到达了恢复站点为止。这些解决方案不提供高度的业务连续性。
数据在主要站点处的完全备份能够被获得并且电子地输送到恢复站点。然而,数据传输的大小可能是非常大的,从而使这种信息的规则组织和最后传输难以管理。在不频繁的基础上提供复制的数据以使这些传输问题减轻能够在需要时产生不太合意的恢复,因为改变的数据可能在备份之间的时间的长间歇期中丢失。以这种方式使用备份来建立灾难恢复对策导致具有非常高的恢复点目标(RPO)和恢复时间目标(RTO)的复杂过程。
灾难恢复过程能够通过在与其中(一个或多个)主要服务器正在运行的站点不同的站点处具有机器的储存器的或虚拟机器的复制的拷贝而被简化。如本文所用的那样,除非另外指出,否则“拷贝”通常指的是讨论中虚拟机器或虚拟机器储存器的复制。因此,“复制”和“拷贝”可以在本文中被互换地使用。来自主要服务器的对虚拟机器或储存器的复制的拷贝的更新可以被作出。复制虚拟机器不同于备份应用或操作系统栈,因为虚拟机器的复制牵涉复制储存器和虚拟机器配置两者,以及工作负荷在其中它不需要重新配置的条件下到达恢复站点。例如,虚拟机器容器将已经具有正确数目的网络接口和其它这种配置,并且它们以工作负荷正期望的方式被配置。
本公开提供了使能实现与虚拟或物理机器相关联的数据的复制的机制和方法。例如,在虚拟机器的背景下,本公开提供了使能实现一个或多个虚拟机器的数据的复制的方式,所述数据可以以虚拟磁盘或其它类似文件的形式被保持。尤其是,本公开还解决使得恢复站点用户能够在灾难或其它事件影响主要站点正常进行的能力的情况下利用虚拟机器的复制的拷贝的机制和方法。
以下各种实施例在虚拟机器方面被描述。虚拟化通常指的是来自物理资源的抽象,其能够在客户端和服务器场景中被利用。硬件仿真牵涉软件的使用,所述软件表示操作系统将典型地与其交互的硬件。硬件仿真软件能够支持客户操作系统,并且诸如管理程序之类的虚拟化软件能够建立客户操作系统在其上操作的虚拟机器(VM)。本文中的描述的许多是在虚拟机器的背景下被描述的,但原理同样地适用于不采用虚拟化的物理机器。
图1一般性地图示了用于使用差异磁盘来复制虚拟机器的代表性的实施例。第一站点100可以包括一个或多个主计算系统102-104,所述一个或多个主计算系统可以容留(host)一个或多个虚拟机器(VM) 106。计算系统102具有关联的储存器,并且在图1的例子中,虚拟机器106具有(一个或多个)关联的虚拟储存器(VS) 108。所述虚拟储存器可以表示例如虚拟硬盘驱动器,所述虚拟硬盘驱动器一般而言表示典型地作为(一个或多个)磁盘映像文件提供的逻辑储存器。虚拟机器106将虚拟储存器108视为它的硬盘驱动器或其它类似的存储设备。
在一个实施例中,虚拟储存器108中的存储的数据或其它信息的复制包括储存器状态链或树的使用,其中链的顶部(还在本文中被称为树梢)提供读和写能力以便记录写入虚拟储存器的改变。例如,虚拟储存器108可以表示具有虚拟硬盘(VHD)文件格式的虚拟硬盘。储存器树可以包括基本虚拟磁盘110,以及与基本虚拟磁盘110相关联的一个或多个差异磁盘112A-112n。作为基本虚拟磁盘110的孩子的差异磁盘112A捕获对虚拟储存器108的改变。如在下面更完全地描述的那样,诸如差异磁盘112A之类的差异磁盘可以通过写保护被保存,并且诸如差异磁盘112B之类的新的差异磁盘能够被创建来接受自此以后对虚拟储存器108的改变。这能够通过任何数目的差异磁盘112n继续,从而创建保存的虚拟磁盘和差异磁盘112n的链以便捕获新的改变。
包括一个或多个主计算系统152、153、154的至少一个第二站点150被提供,其中来自第一站点100的复制的信息可以被接收和存储,并且其中恢复计算操作能够在致使第一站点100不能够继续它的计算责任的灾难或其它事件的情况下被启动。第一站点100和第二站点150通过通信链路130进行通信,所述通信链路130能够牵涉任何类型的电子通信接口,诸如直接电缆连接、有线网络、无线网络等等及其任何组合。虚拟机器106的复制可以通过电子装置或以其它方式而被提供给第二站点150以便提供复制的虚拟机器156。类似地,当数据已被保护免受另外的写操作时,被设计成捕获对虚拟储存器108的改变的虚拟储存器108的差异磁盘112A-112n或其它部分可以被转移,如在下面更完全地描述的那样。所复制的虚拟储存器158因此对应于已经从在主要站点100处的虚拟储存器108被转移的虚拟存储器。
诸如在第一站点100处的虚拟储存器108之类的储存器能够异步地将其数据流式传输到第二站点。然而,在这样的布置中,如果第一站点100将故障,则对于第二站点150来说将难以知道什么已被成功地转移了以及储存器是否是相干的。本公开描述了第一站点100的差异磁盘112A-112n的快照(或其它固定映像)被创建,并且转移到第二站点150。使用快照特征使能实现虚拟机器106的储存器108从一个地方到另一地方的异步复制。以这种方式,如果在第一站点100处的(一个或多个)主要服务器故障或者否则离线,则在快照与被复制的数据之间将没有差异。因此,什么数据已经在第二站点150处被接收了将是已知的。本公开因此设想将差异磁盘在特定时间的快照或其它映像转移到第二站点150的第一站点100。
例如,当虚拟储存器108的复制被获得时,它可以进一步牵涉将差异磁盘数据转移到第二站点150,并且创建新的差异磁盘。作为更特别的例子,差异磁盘112B的快照114或其它复制/拷贝可以被得到以便将映像(例如,AVHD映像文件)提供给在第二站点150处的主计算系统152。在一个实施例中,其快照114被得到的差异磁盘112B将被改变为只读,并且新的差异磁盘112n将作为读/写虚拟存储文件被创建。
一些实施例牵涉差异磁盘或其它虚拟储存器映像的不同类型的拷贝。图1描绘了多个这种不同的复制或“拷贝”类型,包括拷贝类型-A 116、拷贝类型-B 118至拷贝类型-n120。例如,诸如拷贝类型-B 118之类的第一拷贝类型可以表示在没有做出大量努力增加数据的相干性的情况下已发生的差异磁盘112A-112n的低影响(low-impact)拷贝/快照。获得这样的拷贝的一个方式是在任何期望的时间将特定差异磁盘标记为只读,并且创建新的差异磁盘以捕获其后写的数据。例如,虚拟机器快照可以使用例如能够捕获运行虚拟机器的状态、数据以及硬件配置的虚拟化软件、管理程序、操作系统功能性等来获得。这种类型的拷贝或其它类似的低影响拷贝可以在本公开中被称为崩溃一致拷贝(crash-consistentcopy),因为什么被存储在差异磁盘上通常对应于紧跟系统故障或停电之后将在磁盘上的东西。在这些情况下,临时地将尚未被存储到存储器的数据存储在高速缓存器或存储器中的应用可能正在运行。文件系统元数据可以不使全部被管理成在它被标记只读之前使它到磁盘上。采用这种类型的拷贝,在恢复站点处使拷贝复活的尝试将不是完全成功的是可能的,因为数据可能不是完全相干的。然而,这种类型的拷贝不使运行程序被中断,以及因此当它和在第一站点100处的计算系统102-104的系统性能有关时具有非常低的成本。
诸如拷贝类型-A 116之类的另一类型的拷贝可以表示在快照114被得到之前增加数据的相干性的一些努力的情况下发生的差异磁盘112A-112n的较高相干性拷贝/快照。例如,这样的快照114可以使用在备份功能性与更新磁盘上的数据的用户应用之间进行协调的诸如MICROSOFT®公司的卷影拷贝服务(VSS)之类的操作系统服务来获得。运行的软件(即,数据写者)能够被通知迫切的备份,并且将它们的文件带到一致状态。这种类型的拷贝提供在第二站点150处适当复活的较高可能性。然而,因为运行的应用可能需要通过冲刷输入/输出(I/O)、保存其状态等来为备份做准备,所以运行的工作负荷被中断并且受延迟和较低吞吐量的影响。不同的拷贝类型能够在不同的时间或者在不同的时间表上被用来在工作负荷中断与数据相干性之间提供期望的平衡。
如上面所描述的那样,本公开阐述了与(一个或多个)物理机器或虚拟机器相关联的存储的数据被从第一站点100复制到至少一个第二站点150的方式。实施例牵涉提供诸如差异磁盘之类的磁盘映像部分的快照或其它拷贝,同时使得多种类型的拷贝能够被获得以便有规律地在第二或“恢复”站点处提供复制的数据,同时使在第一或“主要”站点处的处理中断保持在易管理的水平。转移到第二站点150的快照能够与在主要站点100处的快照类似地被链接。进一步地,在第一和第二站点100、150两者处的服务器能够促进写保护的差异磁盘到它们相应的母体磁盘中的合并,以便降低存储容量要求、降低访问延迟等。如在下面更完全地描述的那样,由第一站点100所转移的差异磁盘在第二站点150处被接收并且被链接在虚拟机器的所复制的拷贝的现有磁盘链的顶部,从而使复制的虚拟机器的数据视图保持与(一个或多个)主要服务器的数据视图同步。
图2A和2B描绘了其中依照本公开的复制可以被实施的代表性的计算环境。图2A和2B的代表性的系统仅仅是例子,并且明确地不表示排他的布置。图2A中的计算环境图示了第一站点,诸如主要服务器站点200。在这个例子中,主要服务器站点200包括一个或多个服务器202A-202n或其它计算设备。服务器200A-200n中的每一个都可以分别包括诸如一个或多个物理或逻辑处理器204A、204n之类的计算能力、存储器206A、206n、储存器208A、208n等。储存器208A、208n可以被复制,使得诸如储存器快照之类的储存器拷贝210A、210n可以被提供给(一个或多个)恢复站点212以用于灾难恢复目的。图2A图示了本文中所描述的技术适用于与处理器相关联的任何储存器,以及适用于虚拟储存器和虚拟机器。应指出,恢复站点212可以包括服务器或具有类似处理、存储器以及储存器能力的其它计算设备。
图2B图示了牵涉一个或多个虚拟机器的例子。在这个例子中,主要220和恢复250服务器站点分别包括一个或多个服务器222A-222n,所述服务器222A-222n每个都可以包括诸如一个或多个物理或逻辑处理器224A、224n之类的计算能力、存储器226A、226n、储存器228A、228n等。所述服务器中的一个或多个可以包括管理程序230A、230n或其它虚拟机器管理模块,其表示操作系统232A、232n和虚拟机器234A-236A、234n-236n可以在其上操作的虚拟操作平台。管理程序230A、230n和/或操作系统232A、232n的特征可以被使用、适配或者添加以便提供诸如复制管理模块(RRM) 238A、238n之类的功能性。依照本公开,复制管理模块238A、238n能够提供这样的功能性,诸如:存储哪些改变(例如,差异磁盘)是要被从主要站点220转移到恢复站点250的最后改变;请求拷贝响应于时间表或其它事件触发而被作出;读取信息以供转移到恢复站点250;将差异磁盘合并到它们相应的母体磁盘中等。虚拟储存器(未示出)与每个虚拟机器相关联,所述每个虚拟机器可以被以文件的形式存储在服务器222A、222n的存储器226A、226n、本地储存器228A、228n、如果服务器222A、222n被配置在集群中则是集群储存器(未示出)等中。虚拟储存器可以被复制,使得储存器快照或其它拷贝242A、242n被提供给(一个或多个)恢复站点250以用于灾难恢复或其它目的。图2B因此图示了本文中所描述的技术适用于与虚拟机器相关联的虚拟储存器。应指出,恢复站点250可以包括服务器或具有类似处理、存储器、储存器、虚拟机器以及虚拟机器管理能力的其它计算设备,如图2A和/或2B中所描述的。
图3图示了代表性的方式,以这种方式,主要计算机/服务器环境能够促进其灾难恢复并且使其数据当它随着时间的推移而改变时被复制。图4A描绘了磁盘链404A的第一状态,以及图4B描绘了磁盘链404B的第二状态。在以下例子中,图3、4A以及4B被共同地参考。
虚拟机器400的虚拟磁盘402的基本虚拟磁盘映像406或其它初始储存器基础如在块300处所描绘的那样被存储。如在下面进一步描述的那样,这个基本虚拟磁盘映像406可以用作在恢复站点处虚拟储存器的复制的基础。基本虚拟磁盘映像406可以被呈现为文件,诸如例如,虚拟硬盘(VHD)文件。
如在块302处所示出的那样,对虚拟磁盘402的改变可以被记录到当前差异磁盘410A (图4A),所述当前差异磁盘410A附加于被读取能够被写入。在一个实施例中,当前差异磁盘410A逻辑上是在包括基本虚拟磁盘映像406和任何中间差异磁盘408的磁盘链404A的顶部。如果当前差异磁盘410A是母体基本虚拟磁盘406的第一孩子差异磁盘,则将不存在中间差异磁盘。进一步地,如果中间差异磁盘408已经被与基本虚拟磁盘映像406合并了,则将不存在中间差异磁盘。
另一方面,诸如当该差异磁盘的快照或其它拷贝将被保存时,可能存在已被提交为只读的差异磁盘408。为了快照数据(其可以针对复制被转移)对应于差异磁盘,差异磁盘可以结合快照一起被写保护。在这些情况下,在基本虚拟磁盘映像406与当前读/写差异磁盘410A之间可能存在一个或多个只读差异磁盘408。如在下面更详细地描述的那样,在主要站点处的至少只读磁盘的链将在(一个或多个)恢复站点处被复制,从而使所复制的虚拟机器的数据视图保持与在主要站点处的(一个或多个)对应服务器同步。
在某一时间点,当前读/写差异磁盘410A的拷贝将被创建并被写保护,如在块304处所示出的那样。例如,对当前差异磁盘410A的拷贝的请求414可以通过处理器可执行的复制管理模块412来作出,所述处理器可执行的复制管理模块412可以为管理程序、主操作系统、母体分区操作系统等的服务或特征。如上面所指出的那样,要被作出的拷贝的类型也可以被指出,诸如其中应用数据可能尚未对拷贝有所准备的崩溃一致拷贝。另一例子是具有适当的后续复活的较高可能性的应用一致拷贝(application-consistent copy),所述适当的后续复活可以牵涉例如给予(一个或多个)应用以便冲刷数据/记录并且以其它方式为快照或其它拷贝做准备的某个通知。
在链的顶部的差异磁盘已被标记只读,如由图4B中的R/O差异磁盘410B所描绘的那样。在这个磁盘410B已被写保护情况下,块306示出了新的差异磁盘420可以被创建为磁盘链404B的新的顶部以便替换刚被拷贝的差异磁盘410B。这个新的“树梢”差异磁盘420将假定处理读和写操作两者的责任。在一个实施例中,任何非合并的中间差异磁盘408、410B以及在它下面的基本虚拟磁盘406将保持只读。
在一个实施例中,只读基本虚拟磁盘406和任何只读中间差异磁盘408、410B已被转移到恢复站点,其中磁盘链将被再创建以用于恢复目的。这个在块308处被指出,其中刚被拷贝和写保护的差异磁盘410B可以针对复制的储存器被转移,诸如转移到复制的虚拟机器的地址。因此,当拷贝416被获得时,它可以通过由发送设备418所描绘的发送器、收发器、网络接口和/或其它机制而被转移到恢复站点。只要主要站点是操作的并且如在判定块310处所确定的那样更多拷贝将被复制,则创建拷贝并且写保护304、创建新的差异磁盘306以及转移快照308的过程能够继续。例如,复制策略或复制规则可以被建立来确定拷贝何时应该被作出,并且在多个拷贝类型的情况下,确定哪一种类型的拷贝应该被作出。
图5是图示了代表性的方式的流程图,以这种方式,复制的虚拟机器的数据视图被保持与它在主要服务器中的配对物同步。图6描绘了复制的虚拟磁盘602和复制的磁盘链610,其对应于在主要站点处正被复制的虚拟储存器的所保存部分。在以下例子中,图5和6被共同地参考。
如在块500处所示出的那样,复制的虚拟机器600在恢复站点处被提供,其中复制的虚拟机器600基本上对应于将被复制的主要虚拟机器。这可以被电子地传送,或者通过其它装置来输送。复制的虚拟磁盘602或其它复制的虚拟储存器像在块502处所示出的那样被提供。复制的虚拟磁盘602可以包括与要被复制的主要基本虚拟磁盘(例如,图4A、4B的基本虚拟磁盘 406)基本上相对应的复制的基本虚拟磁盘604。
与主要基本虚拟磁盘相关联(诸如作为主要基本虚拟磁盘的孩子或更远后代)的差异磁盘606的拷贝像在块504处所示出的那样被接收。在一个实施例中,所接收的拷贝是多个可能类型的拷贝或复制中的一个。如在块506处所示出的那样,所接收的差异磁盘606的拷贝以它相对于在主要站点处的主要基本虚拟磁盘被布置的方式相对于复制的基本虚拟磁盘604被布置。例如,如果一个或多个中间差异磁盘存在于主要站点处,则当所保存的差异磁盘被布置在主要磁盘链(例如,图4A、4B的磁盘链404A/B)中时,那些差异磁盘608的拷贝/快照将被接收和布置在复制的磁盘链610中。虽然中间差异磁盘608中的一个或多个可以被合并到在主要和/或恢复服务器处的它的基本虚拟磁盘604中,但是内容应该保持与在主要站点处的磁盘链同步。
如果其它差异磁盘像在判定块508处所确定的那样在恢复站点处被接收,则更多差异磁盘能够被接收504和布置506成保持与主要站点同步。这些复制的差异磁盘(例如,快照或其它拷贝)能够被接收器612接收,所述接收器612能够表示分立的接收器、收发器、网络接口或任何接收机制。复制管理模块614可以作为处理器可执行模块被提供在(一个或多个)恢复服务器上,诸如在服务器的管理程序、主操作系统、母体分区操作系统等上。复制管理模块614可以执行这样的任务,诸如:保持有关哪一个是要被从主要站点接收的最后一组改变(例如,差异磁盘)的信息;保持拷贝原有的类型(例如,崩溃一致、应用一致等);确定如果恢复操作被启动则在多个复制的差异磁盘中的哪一个中将开始处理;将快照或其它拷贝布置在与主要站点的链相对应的链中;以及本文中所描述的其它功能。
如在前述例子中看到的那样,在本公开中所提供的解决方案能够使用快照或其它复制特征来以周期性或其它间隔创建差异磁盘。例如,管理程序、其它虚拟化软件和/或操作系统可以包括可以被用来创建差异磁盘的快照特征。在一个实施例中,在磁盘链的顶部的差异磁盘累积改变,同时进一步沿着所述链向下的只读虚拟硬盘诸如通过网络而被转移到远程站点。在远程站点上,所接收到的差异磁盘可以通过创建并且修改快照被链接在虚拟机器的所复制的拷贝的现有磁盘链的顶部,从而使复制的虚拟机器的数据视图保持与主要服务器同步。
使用这样的特征,通过设计确保复制的数据的正确性的、运行虚拟机器的复制能够被提供。例如,用来累积对主要服务器的写的差异磁盘的使用、以及相同磁盘到远程站点上的复制的虚拟机器的链接确保即使在任一端处的电源故障或系统崩溃情况下也没有写将被复制过程丢失。这个机制提供了复制的数据的一致性,而无需再同步机制或一致性检查机制。
本文中所描述的解决方案使能实现运行虚拟机器的拷贝的创建和其数据以非破坏性方式从主要站点到恢复站点的周期性同步。例如,一种机制被提供来创建在主要站点上运行的虚拟机器到远程服务器的拷贝,其通过在网络上转移虚拟机器的配置和数据磁盘来实现。这样的机制能够允许差异磁盘在虚拟机器的虚拟硬盘链的顶部的创建、底部的(underlying)只读差异磁盘通过网络到远程服务器的转移、以及这些磁盘到远程服务器上的虚拟机器的链接。差异磁盘的创建允许数据转移在不打断运行虚拟机器的情况下发生。
应用一致的时间点可以被生成用于虚拟机器的复制的拷贝。例如,(VSS)快照可以被使用,这允许虚拟机器内部的应用冲刷和静止(quiesce)它们的写,以便直到该点的数据提供可恢复性的较高保证。一个示例性方法使用VSS快照来使能实现在恢复服务器上通过回复到(reverting to)VSS快照来从这种较高保证的恢复点中进行恢复。
本文中所描述的解决方案提供了用来自多个时间点中的一个的数据来提出(bring up)复制的虚拟机器以及若需要随后改变时间点的能力。例如,所述机制创建并且修改快照以便链接从主要服务器接收到的差异磁盘。快照表示复制的虚拟机器的数据的时间点。所述方法提供了通过创建到这个时间点的差异磁盘并且将它用于提出虚拟机器来提出所述复制的虚拟机器的机制。在恢复站点处的这些差异磁盘捕获由复制的虚拟机器所生成的任何写。如果用户选择随后改变时间点,则差异磁盘可以被丢弃,以相对于新的时间点被创建的新的差异磁盘所取代。
这些方法进一步使得当在虚拟机器的复制的拷贝上运行“测试”时复制能够被继续,而不用作出所述复制的虚拟机器的虚拟硬盘的拷贝。例如,所述方法提供了使用指向相同母体虚拟硬盘的两个(或更多)组的差异磁盘来生成复制的虚拟机器的“测试”拷贝的能力。从“测试”虚拟机器执行的写在一组差异磁盘中被捕获,所述一组差异磁盘在测试完成时被丢弃。从主要服务器到达的周期性同步改变或“增量(deltas)”可以在另一组差异磁盘中被收集,一旦测试完成所述另一组差异磁盘就能够被合并到母体中。
所述解决方案进一步提供在针对虚拟机器(例如,基本虚拟磁盘)的初始复制品正被带外传输时继续复制的能力。该机制提供用于“带外”(即,在用于将数据从主要站点传输到远程站点的网络传输通道外面)传输虚拟机器的初始复制品的支持。正指向(或者“根源到(parenting to)”)空虚拟硬盘的差异磁盘可以在远程站点上被创建,其中在复制期间从主要服务器接收的后续差异磁盘被链接在创建的差异磁盘的顶上。当带外复制品在远程站点上被接收到时,被创建成指向空虚拟硬盘的差异磁盘能够被“重作为母体”以便指向在初始复制品中接收到的虚拟硬盘。
描绘许多这些点的例子现在被提供,所述例子阐述了根据本公开的复制事件的序列的代表性的例子。图7A-7F图示了用于从第一计算环境向至少一个其它计算环境异步地复制虚拟机器或其它计算实体的储存器的代表性的例子。在适当的地方,相同的附图标记贯穿图7A-7F被用来识别相同的项目。
在这个例子中,主要计算站点700表示第一计算环境,并且第二或“恢复”计算站点750表示第二计算环境。主要站点700包括一个或多个操作计算设备(例如,服务器),恢复站点750也是如此。恢复站点750表示一个或多个计算设备/服务器,其能够接收虚拟磁盘或其它储存器文件以用于在影响主要站点700执行其义务的能力的灾难或其它事件情况下保存和可能的复活。
虽然本公开适用于使用本机计算系统来跟踪和复制任何数据设备或结构的储存器,但是一个实施例牵涉跟踪和复制对由基于管理程序的虚拟化系统所使用的虚拟磁盘的改变。在这样的系统中,为了跟踪和复制对由虚拟机器所使用的虚拟磁盘的改变,差异磁盘可以被用于运行的虚拟机器。当虚拟机器被配置用于跟踪时,与主要站点700的(一个或多个)计算设备相关联的基本虚拟磁盘702将被转移或者否则提供给在恢复站点750处的(一个或多个)计算设备。这由在恢复站点750处的复制的基本虚拟磁盘752来描绘。
当基本虚拟磁盘702已被写保护并且拷贝到恢复站点750时,第一差异磁盘D1 704被创建来捕获牵涉该虚拟磁盘的任何新的写。换句话说,对虚拟磁盘的任何改变然后将在主要站点700处对差异磁盘704作出,同时在此时,恢复站点已经将虚拟磁盘保存在复制的基本虚拟磁盘752状态。在一个实施例中,在主要站点700和恢复站点750两者上的复制(例如,复制管理模块)将存储指示基本虚拟磁盘702到复制的基本虚拟磁盘752的转移是要被转移的最近一组改变的状态信息。如果在主要站点700处的对应的虚拟机器(或其它计算系统)将故障或否则不能够此时执行其义务,则在恢复站点750处的硬件能够从与复制的基本虚拟磁盘752相对应的虚拟储存器的状态开始运作。
储存器的拷贝可以任何时间被请求,包括与时间表相结合地被请求。例如,在主要站点700处的复制管理可以在特定时间作出对在一些时间推移之后的虚拟储存器的拷贝的请求,其作为事件的发生的结果等。本公开设想了能够被创建并且发送到恢复站点750的多种类型的拷贝,它们的每一个都可以具有它自己的时间表或其它触发标准。
简要地参考图8,对基本或差异磁盘的快照或其它拷贝进行调度的例子被示出。策略800可以被存储在存储器或储存器802中,所述存储器或储存器802可以是与主计算系统相关联的或另外的储存器。在一个实施例中,策略800包括用于请求差异磁盘的拷贝以供复制到恢复服务器的规则。在所图示的实施例中,两种类型的拷贝被说明,但是较少或更多类型的拷贝能够被实施。在这个例子中,策略800包括针对崩溃一致拷贝804的指令,诸如其中拷贝应该被获得的特定时间806、获得崩溃一致拷贝之间的固定的或变化的时间间隔808、启动对崩溃一致拷贝的请求的其它事件触发810等等中的任何一个或多个。类似地,策略800可以包括针对应用一致拷贝814的类似可能性816、818、820,但是特定时间816、间隔818和/或事件触发820可以不同于其它(一个或多个)拷贝类型的那些。可以包括处理器和可执行软件的控制器824能够执行策略800。例如,控制器可以执行(一个或多个)程序,诸如先前所描述的复制管理模块,以便基于策略800来执行定时器826、事件监控828和/或快照830功能。在其它实施例中,快照能够由其它控制器可执行的程序来提供,所述程序诸如先前所描述的卷影拷贝服务(VSS)。
现返回到图7A-7F的例子,图7B假定复制管理已请求了第一类型的拷贝,在这个例子中被称为崩溃一致拷贝。这样的拷贝可以表示虚拟储存器在任何给定时刻的拷贝。例如,崩溃一致拷贝可以通过任何时候停止对差异磁盘D1 704的写活动而被作出。在一个实施例中,当虚拟磁盘的崩溃一致拷贝被请求时,该虚拟磁盘对进一步的写操作被封锁,并且新的差异磁盘D2 706被创建来捕获牵涉该虚拟磁盘的任何新的写。在差异磁盘D1 704在任何计划的或任意时刻对于新的写被封锁(例如,标记只读)而没有准备的情况下,虚拟机器(或其它计算系统)的运行工作负荷未被中断。虽然这种类型的拷贝使得工作负荷能够在没有中断的情况下并且以正常速度继续操作,但是可能的后果是:归因于在任意时刻已被获得的差异磁盘D1 704拷贝,在恢复站点750处使拷贝复活的后续尝试可能潜在地故障。
如上面所指出的那样,在D1 704已被保存以供最后转移到恢复站点750时,另一差异磁盘D2 706被创建来使得信息能够被写入虚拟磁盘。差异磁盘D1 704被使得对于复制管理是可用的以供转移到在恢复站点750处的一个或多个恢复服务器,如由在恢复站点750处的复制的差异磁盘D1 754所描绘的那样。自此以后的对主要站点700的虚拟磁盘的更新在新的差异磁盘D2 706中被捕获。
在一个实施例中,在差异磁盘D1 704中存储的信息被改变为只读,使得它可以不再被数据写修改。相反地,新的差异磁盘D2 706被配置成被写入并且因此记录对虚拟磁盘的改变。在主要站点700处的复制管理可以将只读差异磁盘D1 704合并到它的母体磁盘中,所述母体磁盘在这个例子中是基本虚拟磁盘702。这样的合并的例子在图7C中被示出,其中D1 704已被合并到基本虚拟磁盘702中以便提供新的合并的虚拟磁盘708。
对于执行合并功能的一个目的是降低读操作为了定位在虚拟磁盘上存储的数据可能经受的链接的数目。现参考图9,这种链接的例子被描述。假定基本虚拟磁盘902的拷贝901已被提供给恢复服务器950,如由复制的基本虚拟磁盘952所描绘的那样。新近创建的差异磁盘(例如,差异磁盘904)将包括到其母体磁盘的指针906或链接,所述母体磁盘同样为前一个“树梢”磁盘。在这个例子中,差异磁盘904将包括到基本虚拟磁盘902的指针906。如果读操作908在主要服务器900上针对在新的差异磁盘904中未找到的数据被发出,则读操作908可以获得在被指针906、链接或其它类似指向机制规定的磁盘链中远靠后的位置处的数据。在这个例子中,如果差异磁盘904不具有与该读请求相关联的数据,则读操作908将基于差异磁盘904中的指针906从基本磁盘902获得数据。
差异磁盘904的拷贝910被提供给恢复服务器950,如由复制的差异磁盘954所描绘的那样。当差异磁盘904被写保护并且拷贝910到恢复服务器950时,新的差异磁盘912被创建以便接受对虚拟磁盘的改变,其诸如通过写操作909来实现。新的差异磁盘912可以包括到其母体的链接或指针914,所述母体在这个例子中是差异磁盘904。读操作908可以针对在差异磁盘912或差异磁盘904中未被找到的数据被发出,在这种情况下,往回指向基本虚拟磁盘702的链接或指针914、906被提供来定位所寻址的数据。
取决于已在只读状态下被保存的差异磁盘的数目,可能存在许多链接来定位远在基本虚拟磁盘702的数据。为了降低与这种链接相关联的开销,已被提交为只读并且转移到恢复服务器950的在主要服务器900处的差异磁盘可以被与它们相应的母体磁盘合并。已被标记只读或者否则保存用于复制和转移的任何期望的差异磁盘一直到所有可以被合并。如在下面更完全地描述的那样,这种合并还可以在恢复站点950处被实施。
现返回到图7A-7F的例子,图7C假定复制管理已请求了虚拟磁盘的第二类型的拷贝,在这个例子中被称为应用一致拷贝。在这个例子中所描述的第一类型的拷贝是崩溃一致拷贝(其为运行系统的储存器的通用快照)的情况下,这个例子中的应用一致拷贝通常指的是已使它本身准备好使快照被得到的运行系统的储存器的快照。在储存器以这个方式被准备情况下,所述快照是相干的,因为它促进在复制站点750处成功复活的高可能性。尚未使它本身为要被得到的快照做好准备的拷贝(例如,崩溃一致拷贝)在复活后可能不是相干的。例如,在崩溃一致拷贝的情况下,文件系统元数据、数据库元数据和/或其它信息可能不使其到磁盘上。
在一个实施例中,诸如应用一致拷贝之类的预准备的拷贝可以结合管理模块被作出,所述管理模块向系统中的软件通知拷贝将被作出。例如,卷影拷贝服务(VSS)包括这样的过程,其中系统中的诸如数据库之类的运行软件能够可选地为向该软件通知迫切的储存器拷贝或快照的通知进行注册,所述迫切的储存器拷贝或快照提供软件时间以便将记录提供到被保存的磁盘映像的一部分中。
如果在主要站点700处的复制管理作出对这样的预准备的或“应用一致”拷贝的请求,则针对操作系统的VSS或其它管理模块可以被牵涉来生成快照集。当所述快照被创建时,图7C中所示出的差异磁盘D2 706可以被转换为只读,并且另一新的读/写差异磁盘D3710可以被创建来现在捕获正被写入虚拟磁盘的数据。在差异磁盘D3 710现在记录对虚拟磁盘的改变的情况下,在先的“树梢”差异磁盘D2 706被转移到恢复站点750,如由在图7D中所示出的复制的差异磁盘D2 758所描绘的那样。
在差异磁盘D2 706的应用一致拷贝到恢复站点750的转移的情况下,合并可以再次在主要站点700处发生。这在图7D中被描绘,其中图7C的所合并的虚拟磁盘708现在包括D2以便形成新的合并的虚拟磁盘712。在恢复站点750处的复制管理指出,现在已从主要站点700被接收到的复制的差异磁盘D2 758是来自主要站点700的磁盘的最新拷贝。因为D2758拷贝是应用一致拷贝并且还被假定为崩溃一致的,所以它用作来自主要站点700的磁盘的应用一致拷贝和崩溃一致拷贝两者。
图7D还图示了在恢复站点750处的磁盘的合并。复制的崩溃一致拷贝D1 754和复制的基本虚拟磁盘752在图7D中已被合并以便形成合并的复制的虚拟磁盘756。随着来自主要站点700的快照到达恢复站点750,所述快照可以被核对并且做好运行准备。通过以这种方式来合并和核对所接收到的快照,如果灾难在恢复站点750处的操作将被依赖的地方发生,则潜在的操作延迟能够通过在恢复站点750处合并接收到的拷贝中的所选择的拷贝(或直到全部)而被减轻或者避免。因此,一个实施例牵涉在虚拟磁盘的快照或其它拷贝到达时或者至少在复制的数据正被要求以用于在恢复站点750处使用的时间之前合并和校对它们中的至少一些。
实施例还包括存储在恢复站点750处接收到的快照或其它拷贝中的一个或多个。为了回复到特定的磁盘映像,该磁盘映像能够被保存以便从那个点使能恢复操作。在采用多种类型的快照(例如,崩溃一致拷贝、应用一致拷贝等)的实施例中,每个类型的快照中的一个或多个或其它类似拷贝可以被保存以便使能从快照类型的期望类型中恢复。例如,崩溃一致拷贝可以比应用一致拷贝更加有规律地被提供给恢复站点750,这可以通过诸如结合图8所描述的策略这样的策略而被设置。在一个实施例中,应用一致拷贝比崩溃一致拷贝较不频繁地被提供,这是归因于在获得应用一致拷贝时牵涉的潜在地更大的准备和处理时间以及后续延迟。在要求在恢复站点750处的操作的灾难或其它事件的情况下,取决于诸如从每个类型的最近复制的拷贝起的相对时间推移、在恢复站点750处重建操作时的紧迫性、多种类型的快照之间的虚拟磁盘修改的程度等之类的许多因素,恢复服务器可以试图从崩溃一致拷贝或应用一致拷贝开始操作。
图7E图示了响应于另一崩溃一致拷贝正被请求以供转移到恢复站点750的主要站点700和恢复站点750上的虚拟储存器树。在这个例子中,差异磁盘D3 710 (图7D)被转移到恢复站点750,如由图7E中的复制的差异磁盘760所示出的那样。再次,在主要站点700处的差异磁盘D3 710可以被合并到虚拟磁盘712中以便创建新的合并的差异磁盘714,并且另一新的读/写差异磁盘D4 716可以被创建来捕获对所述虚拟磁盘的改变。
在恢复站点750处,新近接收到的崩溃一致拷贝760现在是最近的拷贝(树梢)。在这个实施例中,复制的应用一致拷贝D2 758和复制的崩溃一致拷贝D3 760都可作为恢复点使用。例如,假定在主要站点700处的主要服务器故障或者否则变得不能够适当地执行其义务,并且假定这个故障发生在通常与图7E中所描绘的时间点相对应的时间点。在恢复站点750处的恢复虚拟机器(或替换地物理机器)可以使用例如最近接收到的复制的应用一致拷贝D3 760而被调用。尽管应用一致拷贝D3 760时间上较早地在恢复站点750处被接收,但是它是具有在恢复站点750处适当地复活的较高可能性的拷贝类型。如上面所指出的那样,这是归因于这种“类型”的拷贝,其在这个例子中牵涉在相应快照被得到之前向在主要站点700处的应用/软件通知迫切的快照,从而使得软件本身能够为快照做准备。
因此,在一个实施例中,在恢复站点750处的虚拟机器或其它计算系统能够使用复制的虚拟储存器的多个可用的差异磁盘、快照或其它状态中的一个而被提出。在一个实施例中,差异磁盘作为对于特定差异磁盘的孩子被创建,虚拟机器从所述特定差异磁盘被调用。在图7F的例子中,差异磁盘762以复制的应用一致差异磁盘D2 758作为其母体来创建。这个差异磁盘762然后被显现,并且存在于磁盘上的卷被回复到与D2 758相关联的应用一致(例如,VSS)快照集。
如图7F图示的一样,当保存一排差异磁盘时,使多个差异磁盘指向树中的相同只读点是可能的。例如,复制的崩溃一致差异磁盘D3 760指向应用一致差异磁盘D2 758,如在恢复站点750处被创建的差异磁盘762所做的那样。差异磁盘D3 760和差异磁盘762因此表示相对于只读差异磁盘D2 758的状态的两个不同未来。例如,用户能够选择使用虚拟磁盘在恢复站点750处引导虚拟机器,所述虚拟磁盘包括差异磁盘762、被差异磁盘762指向的只读差异磁盘758以及被差异磁盘D2 758指向的合并磁盘756。
因此,在所图示的例子中,在恢复站点750处第一虚拟磁盘的自动或手动选择可以包括只读磁盘756 (包括基本虚拟磁盘和D1)、只读应用一致差异磁盘D2 758以及读/写崩溃一致差异磁盘D3 760。替换地,第二虚拟磁盘的自动或手动选择可以包括只读磁盘756(包括基本虚拟磁盘和D1)、只读应用一致差异磁盘D2 758以及在恢复站点750处被创建的差异磁盘762。考虑到通过使多个读/写差异磁盘指向共同母体磁盘所提供的不同“未来”,不同的恢复场景是可能的。
一个或多个可用的虚拟磁盘链中的任一个都可以在恢复站点750处被选择。例如,用户可以选择保存崩溃一致磁盘D3 760,因为当虚拟机器使用应用一致磁盘D2 758被引导时它不具有所期望的数据。在这种情况下,虚拟机器可以使用崩溃一致磁盘D3 760来运行。即使恢复虚拟机器使用应用一致磁盘D2 758被复活了并且往回指向应用一致时刻的新的差异磁盘762被创建了,崩溃一致磁盘D3 760也可以被保存为另一复活链可能性。
差异磁盘762能够替换地被从不同的差异磁盘创建。例如,如果最后一个崩溃一致拷贝D3 760将被用于恢复,则差异磁盘762能够被用崩溃一致拷贝D3 760作为母体磁盘来创建。在一个实施例中,这可以通过使在差异磁盘762处存储的指针或其它链接指向D3 760或者否则将D3 760识别为其母体而被实现。例子在图9中被描绘,其中指针956指向其母体磁盘952。指针956可能需要被从它在主要服务器900中的状态改变,以便它指向在恢复服务器950处的正确映像。图7F中的恢复点将为D2 758、D3 760还是其它恢复点的判定可以基于配置被自动地确定,或者由用户手动地确定。
与在恢复站点处的差异磁盘762相关联的创建和代表性的内容的例子现在被描述。在这个代表性的实施例中,在恢复站点750处的差异磁盘762在其创建后是空的。它可以被配置成指向其母体磁盘,所述母体磁盘在这个例子中是D2 758。当虚拟(或物理)机器开始操作时,可能需要被写入的信息将被写入新的差异磁盘762。例如,新的差异磁盘762可以被连接到在恢复站点750处的复制的虚拟机器,其具有与在主要站点700处的主要虚拟机器相同的或类似的特性。当这个复制的虚拟机器被引导时,它可以考虑能够被写入和读取的它的虚拟磁盘。新的差异磁盘762能够被写入,同时取决于信息驻留在哪里,信息能够从新的差异磁盘762、其母体或较早的谱系(lineage)被读取。
附加于在相关联的(一个或多个)恢复服务器在操作中时用作读/写磁盘的差异磁盘762,该差异磁盘还可以存储在恢复站点750处的复制的储存器将被使用的时间之前的数据。例如,差异磁盘762可以存储从主要站点700接收的写入差异磁盘的、以及在快照在主要站点700处被得到的时间和差异磁盘被标记为只读的时间之间发生的数据。
作为例子,假定在主要站点700处的复制管理模块请求虚拟机器的运行工作负荷做出虚拟储存器或其它快照的应用一致拷贝,其牵涉使它本身为快照做准备的软件。作为响应,应用软件可以试图使它自己对于快照来说相干,但可能难以使在虚拟磁盘中正被得到的快照与正在应用中发生的信息“冲刷(flush)”相协调。当应用软件看起来已完成了到储存器的数据冲刷时,虚拟磁盘快照被得到。其后,经快照的差异磁盘被标记只读,并且新的差异磁盘被创建。在虚拟磁盘快照被得到的时间与对应的差异磁盘被写为只读的时间之间,一个或多个杂散数据写可能已找到它们到为快照的主体的差异磁盘上的途径。因此,差异磁盘可以不精确地与被转移到恢复站点750的差异磁盘快照758一致是可能的。在这种情况下,即使在没有故障转移到恢复站点750的情况下,差异磁盘758也能够作为实时虚拟磁盘被挂载(mount)以便定位那些杂散写,并且以便将那些杂散写退出到差异磁盘D2 758外且在在恢复站点750处创建的差异磁盘762上。以这种方式,如果故障转移最后是需要的,则这个任务已被处理了。退出杂散写的这个功能可以使用将最后被恢复或者替换地能够作为服务的一部分而被完成的虚拟机器来实现,所述服务挂载磁盘映像并且操作它以提取杂散写。
图7A-7F的例子描绘了在主要和恢复站点中的每一个处采取的示范性动作。图10是从在主要站点处的至少一个主要服务器的角度来图示代表性的特征的流程图,所述至少一个服务器将使其虚拟储存器(或其它储存器)被复制。这个例子假定虚拟储存器正被复制,并且该虚拟储存器的多种类型的拷贝被使得可用。
在这个例子中,基本虚拟磁盘像在块1000处所描绘的那样被提供给恢复站点。如在块1002处所示出的那样,差异磁盘或其它储存器结构在主要站点处被创建来记录对虚拟磁盘的改变。在这个例子中,某个数目“n”的不同类型的快照/拷贝被提供,包括拷贝类型-A、拷贝类型-B至拷贝类型-n。当复制管理或其它主要站点控制模块像在块1004处所确定的那样请求虚拟储存器的拷贝时,它可以规定哪一个类型的拷贝是期望的。拷贝类型的识别可以由用户经由用户接口被作出,或者被配置到诸如依照策略正被请求的硬件或软件中或以其它方式被配置,所述策略诸如结合图8所描述的策略。
在这个例子中,如果复制管理像在块1006处所确定的那样请求了类型-A的拷贝,则差异磁盘的快照或其它拷贝在不用软件本身为虚拟储存器拷贝发生做准备的情况下被获得,如在块1012处所示出的那样。这可以是例如VSS快照或其它应用一致快照。如果类型-B的拷贝像在块1008处所确定的那样被请求,则差异磁盘的快照或其它拷贝在软件中的至少一些为虚拟储存器拷贝发生做准备的情况下被获得,如在块1014处所示出的那样。其它类型的拷贝可以被定义,借此拷贝类型能够在块1010处被确定,并且如在块1016处所示出的那样,快照或其它拷贝可以依照针对该拷贝类型的规则被获得。
当适当的快照或其它拷贝已被获得时,它可以像在块1018处所示出的那样被转移到恢复站点。块1020图示在主要站点处被拷贝的差异磁盘被写保护,并且块1022示出了新的差异磁盘将被创建来捕获对虚拟磁盘的改变。至少出于降低储存器容量要求以及降低通过磁盘链读取数据时的延迟的原因,中间磁盘可以像在块1024处所示出的那样与它们的母体磁盘映像合并。
应认识到,本公开中的图10中以及其它流程图中所图示的特征的特定顺序不应该被解释为顺序或序列的限制。被描绘的操作的特定顺序在许多情况下可能是不相干的,除非另外描述为相干的。例如,在所拷贝的差异磁盘在块1020处被写保护之前,快照可以或者可以不在块1018处被转移。
图11是从在恢复站点处正在复制(一个或多个)虚拟机器的至少一个恢复服务器的角度来图示代表性的特征的流程图。这个例子假定虚拟储存器正被复制,并且虚拟磁盘的多种类型的拷贝被主要站点提供。如在块1100处所示出的那样,作为主要站点的基本虚拟磁盘的复制被接收到的基本虚拟磁盘被提供为在恢复站点处的虚拟磁盘链的基部。当快照或其它拷贝像在块1102处所确定的那样从主站被接收时,被接收的拷贝的类型在块1104处被确定。差异磁盘在恢复站点处的结果得到的拷贝能够被识别为拷贝原有的类型,诸如应用一致、崩溃一致等。在所接收到的拷贝中的指针或其它链接可以像在块1106中所示出的那样被修改,以便使指针指向它在恢复站点处的母体。若需要,中间差异磁盘可以被合并到它们相应的母体磁盘中,如在块1110处所示出的那样。附加地,块1108示出了差异磁盘可以被创建成指向期望的拷贝以便退出杂散写,如结合图7F被描述的那样。
如果并且当到(一个或多个)恢复服务器的故障转移像在块1112处所确定的那样发生时,存储的拷贝作为选择的恢复点的选择可以像在块1114处所示出的那样被促进。例如,促进存储的拷贝的选择可能牵涉提供用户接口以使得管理员或其它用户能够选择复制的虚拟机器在被初始化和运行时将利用哪一个存储的(以及因此未合并的)拷贝。其它实施例可能牵涉特定拷贝基于标准的自动选择。例如,标准可以自动地使虚拟机器首先试图从应用一致拷贝复活,并且随后尝试复活不是足够成功的不同拷贝。在块1116处所描绘的一个实施例中,差异磁盘被创建,或者现有差异磁盘被利用(例如,在块1108处创建的差异磁盘),以便指向所选的快照或拷贝。尤其,当复制的虚拟机器正在操作时,这个差异磁盘将读/写能力提供给复制的虚拟磁盘。
在一个实施例中,测试可以被运行在复制的虚拟机器上。在这种情况下,复制的虚拟机器继续像之前那样接收对虚拟磁盘的改变(例如,接收主要站点差异磁盘的拷贝),同时测试虚拟机器从所创建的差异磁盘的点被提出。因此,复制能够被继续,同时在虚拟机器的复制的拷贝上运行测试,而不用作出所述复制的虚拟机器的虚拟硬盘的拷贝。这提供了使用指向相同的母体虚拟硬盘的两组差异磁盘来生成复制的虚拟机器的测试拷贝的方式。从“测试”虚拟机器执行的写在一组差异磁盘中被捕获,并且一旦测试完成这些磁盘就可以被丢弃。从主要服务器到达的差异磁盘的周期性同步拷贝在另一组差异磁盘中被收集,并且一旦测试完成就可以被合并到母体中。这个选项在图11中被描绘。如果测试将像在块1112处所确定的那样被运行,则指向要被测试的恢复点的差异磁盘被创建1114,并且复制的虚拟机器可以被引导以便运行测试。
图12描绘了其中本文中所描述的原理可以被实施的代表性的计算系统1200。结合图12被描述的计算环境出于例子的目的被描述,因为用于复制储存器或虚拟储存器的结构和操作公开在任何计算环境中是适用的。图12的计算布置在一些实施例中可以跨越多个设备分布。进一步地,图12的描述可以表示在主要或恢复站点处的服务器或其它计算设备。
代表性的计算系统1200包括经由系统总线1204耦合到许多模块的处理器1202。所描绘的系统总线1204表示可以被直接地或者间接地耦合到计算环境的各种构件和模块的任何类型的(一个或多个)总线结构。在各种构件之一是存储设备,它们的任一个都可以存储对于复制的主体。
只读存储器(ROM) 1206可以被提供来存储由处理器1202所使用的固件。ROM 1206表示任何类型的只读存储器,诸如可编程ROM (PROM)、可擦PROM (EPROM)等等。主机或系统总线1204可以被耦合到存储器控制器1214,所述存储器控制器1214继而经由存储器总线1216被耦合到存储器1208。示范性存储器1208可以存储例如管理程序1210或其它虚拟化软件、操作系统1218以及模块中的全部或部分,所述模块诸如执行至少本文中所描述的那些功能的复制管理模块(RMM) 1212。RMM 1212可以被实施为例如管理程序1210和/或操作系统1218的一部分。
存储器还可以存储应用程序1220以及其它程序1222和数据1224。附加地,虚拟储存器1226中的全部或一部分可以被存储在存储器1208中。然而,归因于虚拟存储磁盘的潜在大小,一个实施例牵涉将虚拟存储磁盘存储在与存储器相对的存储设备中,如由与代表性的存储设备1234、1240、1244、1248中的任何一个或多个相关联的虚拟储存器1226B所描绘的那样。存储器1208中的虚拟储存器1226A还可以将被临时地缓存或者否则存储在存储器中的虚拟储存器的任何部分表示为要被处理、发送或者存储在(一个或多个)存储设备1234、1240、1244、1248中的中间步骤。
图12图示了其中数据可以被存储和/或虚拟储存器可以被存储的各种代表性的存储设备。例如,系统总线可以被耦合到内部储存器接口1230,所述内部储存器接口1230能够被耦合到诸如硬盘驱动器之类的(一个或多个)驱动器1232。存储媒体1234与驱动器相关联或者否则可与驱动器一起操作。这种储存器的例子包括硬盘以及其它磁或光学媒体、闪速存储器和其它固态设备等。内部储存器接口1230可以利用任何类型的易失性或非易失性储存器。包括虚拟硬盘(例如,VHD文件、AVHD文件等)的数据可以被存储在这种存储媒体1234上。
类似地,用于可移除媒体的接口1236也可以被耦合到总线1204。驱动器1238可以被耦合到可移除储存器接口1236以便接受并且作用于诸如例如软盘、光盘、存储器卡、闪速存储器、外部硬盘等之类的可移除储存器1240。虚拟存储文件或其它数据可以被存储在这种可移除储存器1240上。
在一些情况下,主适配器1242可以被提供来访问外部储存器1244。例如,主适配器1242可以经由小型计算机系统接口(SCSI)、光纤通道、串行高级技术附件(SATA)或eSATA和/或能够连接到外部储存器1244的其它类似接口与外部存储设备接口连接。通过网络接口1246,仍有其它一些远程储存器对于计算系统1200可能是可访问的。例如,与网络接口1246相关联的有线和无线收发器使能通过一个或多个网络1250与存储设备1248的通信。存储设备1248可以表示分立的存储设备或与另一计算系统、服务器等相关联的储存器。与远程存储设备和系统的通信可以经由有线局域网(LAN)、无线LAN和/或包括诸如因特网之类的全球区域网(GAN)的较大网络来实现。虚拟存储文件和其它数据可以被存储在这样的外部存储设备1244、1248上。
如本文中所描述的那样,主要和恢复服务器传送信息,诸如快照或其它拷贝。服务器之间的通信能够通过直连线、对等网络、基于局部基础设施的网络(例如,有线和/或无线局域网)、诸如城域网和其它广域网、全球区域网等之类的站外网络来实现。发送器1252和接收器1254在图12中被描绘成描绘了计算设备的在这些或其它通信方法中的任一个中发送和/或接收数据的结构能力。发送器1252和/或接收器1254设备可以是独立构件,可以被集成为(一个或多个)收发器,可以被集成到诸如网络接口1246之类的其它通信设备中或者是其已经存在的部分等。在计算系统1200表示在主要站点处的服务器或其它计算设备的情况下,要被复制的虚拟磁盘或其它存储的数据中的全部或一部分可以经由发送器1252被发送,无论其是独立设备、与接收器1254集成、为网络接口1246的不可分割的部分等。类似地,在计算系统1200表示在恢复站点处的服务器或其它计算设备的情况下,要被复制的虚拟磁盘或其它存储的数据中的全部或一部分可以经由接收器1254被接收,无论所述接收器1254是独立设备、与发送器1252集成、为网络接口1246的不可分割的部分等。因为计算系统1200能够表示在主要站点或恢复站点处的(一个或多个)服务器,所以块1256表示正与计算系统1200进行通信的(一个或多个)主要或恢复服务器,所述计算系统1200表示(一个或多个)主要或恢复服务器中的另一个。
如在前述例子中所演示的那样,本文中所描述的实施例促进灾难恢复和其它复制特征。在各种实施例中,描述了能够诸如通过提供可经由处理器(其包括物理处理器和/或逻辑处理器、控制器等)执行的软件模块而在计算设备上被执行的方法。所述方法还可以被存储在能够被处理器和/或电路访问和读取的计算机可读媒体上,所述电路准备用于经由处理器进行处理的信息。使指令被存储在如本文中所描述的计算机可读媒体上与使指令被传播或者发送是可区分的,因为传播与存储指令相对地转移指令,其诸如伴随具有存储在其上的指令的计算机可读介质能够发生。因此,除非另外指出,否则以这个或类似的形式对具有存储在其上的指令的计算机可读媒体/介质的引用参考数据可以被存储或者保持在其上的有形媒体。
尽管已经用特定于结构特征和/或方法动作的语言对本主题进行了描述,但是应当理解,在所附权利要求中限定的主题未必限于上面所描述的特定特征或动作。相反地,上面所描述的特定特征和动作作为实施权利要求的代表性的形式被公开。

Claims (8)

1.一种用于管理复制的虚拟储存器的装置,包括:
复制的虚拟机器的复制的虚拟储存器,其至少包括与要被复制的主要基本虚拟磁盘相对应的复制的基本虚拟磁盘;
接收器,其被配置成接收差异磁盘的多个拷贝类型的多个拷贝,每个都与所述主要基本虚拟磁盘相关联;以及
复制管理模块,其被配置成:
如所述差异磁盘相对于所述主要基本虚拟磁盘被布置的那样相对于所述复制的基本虚拟磁盘来布置所接收到的所述多个拷贝类型的所述差异磁盘的拷贝,
存储所述接收到的所述差异磁盘的多个拷贝,所接收到的所述差异磁盘的所述多个拷贝中的每一个可被选择作为用于启动所述复制的虚拟机器的操作的潜在恢复点,以及
当启动时创建读写差异磁盘作为对于所存储的所述差异磁盘的拷贝中的一个的孩子磁盘以便存储对所述复制的虚拟机器的改变,由所述复制的虚拟机器执行的写操作仅仅针对读写差异磁盘。
2.根据权利要求1所述的装置,其中所述多个拷贝类型中的第一个包括基于已经对所述拷贝的创建有准备的应用数据的应用一致拷贝类型,并且其中所述多个拷贝类型中的第二个包括基于尚未对所述拷贝的创建有准备的应用数据的崩溃一致拷贝类型。
3.根据权利要求1所述的装置,其中所述复制管理模块被进一步配置成促进所述复制的虚拟机器从所述潜在恢复点的选择恢复点和顺序地继承所选恢复点的所述差异磁盘的一个或多个选择的存储拷贝的启动。
4.一种在第一计算设备上的计算机实施的方法,包括:
存储与虚拟机器相关联的虚拟磁盘的基本虚拟磁盘映像;
通过将对所述虚拟磁盘的改变记录到磁盘链的顶部的当前读写差异磁盘来存储对所述虚拟磁盘的改变,所述磁盘链包括基本虚拟磁盘映像和任何介于中间的差异磁盘,由所述虚拟机器执行的写操作仅仅针对当前读写差异磁盘;
通过创建所述当前读写差异磁盘的拷贝并且禁止对其的进一步改变、在所述磁盘链的顶部创建新的当前差异磁盘、以及针对复制的储存器转移所述差异磁盘的所述拷贝到第二计算设备,来循环地针对复制的储存器创建对所述虚拟磁盘的改变的可转移拷贝;以及
在所述转移之后在第一计算设备上保持基本虚拟磁盘映像和差异磁盘,由所述虚拟机器执行的一个或多个读操作初始针对当前读写差异磁盘,并且响应于确定没有在当前读写差异磁盘中找到由所述一个或多个读操作请求的数据,由所述虚拟机器执行的一个或多个读操作继而将所述一个或多个读操作针对所述磁盘链中的一个或多个介于中间的差异磁盘和基本虚拟磁盘映像中的至少一个,直到由所述一个或多个读操作请求的数据被找到为止。
5.根据权利要求4所述的计算机实施的方法,其中创建所述当前读写差异磁盘的拷贝包括创建所述当前读写差异磁盘的至少两种类型的拷贝,其至少包括在已经对要被创建的拷贝有准备的应用数据上获得的第一拷贝类型,并且至少包括在尚未对要被创建的拷贝有准备的应用数据上获得的第二拷贝类型。
6.根据权利要求5所述的计算机实施的方法,进一步包括向一个或多个应用通知迫切的拷贝,并且其中创建所述第一拷贝类型包括从已经对要被创建的所述拷贝有准备的所述一个或多个通知的应用获得所述应用数据。
7.根据权利要求5所述的计算机实施的方法,其中创建所述第二拷贝类型包括拷贝存储所述当前读写差异磁盘的文件并且将所述文件配置为只读,而不用向应用通知迫切的拷贝。
8.一种计算机实施的方法,其包括:
创建虚拟机器的差异磁盘的只读快照的链,同时在所述链的顶端提供读和写能力的新的差异磁盘根据每个快照被创建,所述链包括在所述链上的多种类型的所述快照,其至少包括应用一致快照类型和崩溃一致快照类型;
通过仅仅访问在所述链的顶端的新差异来服务由所述虚拟机器执行的写操作;
确定由一个或多个读操作请求的数据是否在所述链的顶端的新差异磁盘中找到;
响应于确定由所述一个或多个读操作请求的数据在所述链的顶端的新差异磁盘中找到,通过在所述链的顶端的新差异磁盘来服务所述一个或多个读操作;以及
响应于确定由所述一个或多个读操作请求的数据没有在所述链的顶端的新差异磁盘中找到,继而通过所述只读快照中的一个或多个来服务所述一个或多个读操作,直到由所述一个或多个读操作请求的数据被找到为止。
CN201280030475.4A 2011-06-20 2012-06-13 在恢复站点处管理复制的虚拟储存器 Active CN103608786B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/163760 2011-06-20
US13/163,760 US9785523B2 (en) 2011-06-20 2011-06-20 Managing replicated virtual storage at recovery sites
PCT/US2012/042107 WO2012177445A2 (en) 2011-06-20 2012-06-13 Managing replicated virtual storage at recovery sites

Publications (2)

Publication Number Publication Date
CN103608786A CN103608786A (zh) 2014-02-26
CN103608786B true CN103608786B (zh) 2017-01-18

Family

ID=47354688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280030475.4A Active CN103608786B (zh) 2011-06-20 2012-06-13 在恢复站点处管理复制的虚拟储存器

Country Status (17)

Country Link
US (1) US9785523B2 (zh)
EP (1) EP2721498B1 (zh)
JP (1) JP6050342B2 (zh)
KR (1) KR101983405B1 (zh)
CN (1) CN103608786B (zh)
AU (1) AU2012273366B2 (zh)
BR (1) BR112013032923B1 (zh)
CA (1) CA2839014C (zh)
CL (1) CL2013003615A1 (zh)
CO (1) CO6852032A2 (zh)
ES (1) ES2600914T3 (zh)
IL (1) IL230035A (zh)
MX (1) MX348328B (zh)
MY (1) MY173030A (zh)
RU (1) RU2619894C2 (zh)
WO (1) WO2012177445A2 (zh)
ZA (1) ZA201308547B (zh)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863605B2 (ja) * 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US9767274B2 (en) * 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US9037901B2 (en) * 2011-08-19 2015-05-19 International Business Machines Corporation Data set autorecovery
US9372910B2 (en) * 2012-01-04 2016-06-21 International Business Machines Corporation Managing remote data replication
US8990815B1 (en) * 2012-02-01 2015-03-24 Symantec Corporation Synchronizing allocated blocks of virtual disk files across primary and secondary volumes by excluding unused blocks
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
US8966318B1 (en) * 2012-04-27 2015-02-24 Symantec Corporation Method to validate availability of applications within a backup image
US8850146B1 (en) * 2012-07-27 2014-09-30 Symantec Corporation Backup of a virtual machine configured to perform I/O operations bypassing a hypervisor
US10248619B1 (en) * 2012-09-28 2019-04-02 EMC IP Holding Company LLC Restoring a virtual machine from a copy of a datastore
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US10162873B2 (en) * 2012-12-21 2018-12-25 Red Hat, Inc. Synchronization of physical disks
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US20140201151A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods to select files for restoration from block-level backup for virtual machines
US9286110B2 (en) 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
KR101544899B1 (ko) * 2013-02-14 2015-08-17 주식회사 케이티 가상화 환경 백업 시스템 및 그 방법
US9430255B1 (en) * 2013-03-15 2016-08-30 Google Inc. Updating virtual machine generated metadata to a distribution service for sharing and backup
US9842053B2 (en) * 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9582297B2 (en) 2013-05-16 2017-02-28 Vmware, Inc. Policy-based data placement in a virtualized computing environment
US9424056B1 (en) * 2013-06-28 2016-08-23 Emc Corporation Cross site recovery of a VM
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
US11042309B1 (en) * 2013-08-23 2021-06-22 Acronis International Gmbh Recovery of virtual machine files using disk attachment
US20150067678A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus for isolating virtual machine instances in the real time event stream from a tenant data center
US20150066860A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus for utilizing virtual machine instance information from a database for software defined cloud recovery
US20150067679A1 (en) * 2013-08-28 2015-03-05 Connectloud, Inc. Method and apparatus for software defined cloud workflow recovery
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US10042579B1 (en) * 2013-09-24 2018-08-07 EMC IP Holding Company LLC Crash consistent snapshot
US9882980B2 (en) * 2013-10-22 2018-01-30 International Business Machines Corporation Managing continuous priority workload availability and general workload availability between sites at unlimited distances for products and services
US9465855B2 (en) 2013-10-22 2016-10-11 International Business Machines Corporation Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services
US9389970B2 (en) * 2013-11-01 2016-07-12 International Business Machines Corporation Selected virtual machine replication and virtual machine restart techniques
US9304871B2 (en) 2013-12-02 2016-04-05 International Business Machines Corporation Flash copy for disaster recovery (DR) testing
US9286366B2 (en) 2013-12-02 2016-03-15 International Business Machines Corporation Time-delayed replication for data archives
US9262290B2 (en) 2013-12-02 2016-02-16 International Business Machines Corporation Flash copy for disaster recovery (DR) testing
US20150154042A1 (en) * 2013-12-04 2015-06-04 Hitachi, Ltd. Computer system and control method for virtual machine
US9436489B2 (en) 2013-12-20 2016-09-06 Red Hat Israel, Ltd. Virtual machine data replication with shared resources
US10146634B1 (en) * 2014-03-31 2018-12-04 EMC IP Holding Company LLC Image restore from incremental backup
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9606873B2 (en) 2014-05-13 2017-03-28 International Business Machines Corporation Apparatus, system and method for temporary copy policy
US9619342B2 (en) 2014-06-24 2017-04-11 International Business Machines Corporation Back up and recovery in virtual machine environments
CN105446826A (zh) * 2014-06-30 2016-03-30 国际商业机器公司 虚拟机备份、恢复的方法及设备
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9639340B2 (en) 2014-07-24 2017-05-02 Google Inc. System and method of loading virtual machines
US10140303B1 (en) * 2014-08-22 2018-11-27 Nexgen Storage, Inc. Application aware snapshots
US10296320B2 (en) * 2014-09-10 2019-05-21 International Business Machines Corporation Patching systems and applications in a virtualized environment
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9836476B2 (en) * 2014-09-25 2017-12-05 Netapp, Inc. Synchronizing configuration of partner objects across distributed storage systems using transformations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9928092B1 (en) * 2014-11-25 2018-03-27 Scale Computing Resource management in a virtual machine cluster
US10120594B1 (en) * 2014-11-25 2018-11-06 Scale Computing Inc Remote access latency in a reliable distributed computing system
JP6299640B2 (ja) * 2015-03-23 2018-03-28 横河電機株式会社 通信装置
US10645164B1 (en) * 2015-10-27 2020-05-05 Pavilion Data Systems, Inc. Consistent latency for solid state drives
US11544049B2 (en) 2016-02-12 2023-01-03 Nutanix, Inc. Virtualized file server disaster recovery
JP6458752B2 (ja) * 2016-03-04 2019-01-30 日本電気株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法、および、プログラム
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
CN106445730B (zh) 2016-07-22 2019-12-03 平安科技(深圳)有限公司 一种提高虚拟机性能的方法和终端
US10521453B1 (en) 2016-09-07 2019-12-31 United Services Automobile Association (Usaa) Selective DNS synchronization
CN106569872A (zh) * 2016-09-28 2017-04-19 浪潮电子信息产业股份有限公司 一种缩短虚拟机快照链的方法
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11294777B2 (en) * 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US10318166B1 (en) * 2016-12-28 2019-06-11 EMC IP Holding Company LLC Preserving locality of storage accesses by virtual machine copies in hyper-converged infrastructure appliances
US20180276085A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Virtual machine recovery point generation
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
CN114218012A (zh) * 2017-04-17 2022-03-22 伊姆西Ip控股有限责任公司 用于在集群系统中备份和恢复数据的方法和系统
US10469518B1 (en) * 2017-07-26 2019-11-05 EMC IP Holding Company LLC Method and system for implementing cyber security as a service
US10581897B1 (en) 2017-07-26 2020-03-03 EMC IP Holding Company LLC Method and system for implementing threat intelligence as a service
WO2019112955A1 (en) * 2017-12-08 2019-06-13 Rubrik, Inc. Sharding of full and incremental snapshots
US10621046B2 (en) 2017-12-08 2020-04-14 Rubrik, Inc. Blobstore system for the management of large data objects
US11132331B2 (en) 2017-12-12 2021-09-28 Rubrik, Inc. Sharding of full and incremental snapshots
US10949306B2 (en) * 2018-01-17 2021-03-16 Arista Networks, Inc. System and method of a cloud service provider virtual machine recovery
US10789135B2 (en) * 2018-02-07 2020-09-29 Microsoft Technology Licensing, Llc Protection of infrastructure-as-a-service workloads in public cloud
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11126504B2 (en) * 2018-07-10 2021-09-21 EMC IP Holding Company LLC System and method for dynamic configuration of backup agents
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10884820B1 (en) * 2018-08-31 2021-01-05 Veritas Technologies Llc Intelligent and automatic replication load score based load balancing and resiliency of replication appliances
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US10969986B2 (en) 2018-11-02 2021-04-06 EMC IP Holding Company LLC Data storage system with storage container pairing for remote replication
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
JP6759317B2 (ja) * 2018-12-13 2020-09-23 株式会社日立製作所 コンテナ提供支援システムおよびコンテナ提供支援方法
US10809935B2 (en) * 2018-12-17 2020-10-20 Vmware, Inc. System and method for migrating tree structures with virtual disks between computing environments
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
CN111966526A (zh) * 2019-05-20 2020-11-20 中兴通讯股份有限公司 一种基于云平台数据中心的虚拟机备份方法及装置
US11429418B2 (en) 2019-07-31 2022-08-30 Rubrik, Inc. Asynchronous input and output for snapshots of virtual machines
US11429417B2 (en) * 2019-07-31 2022-08-30 Rubrik, Inc. Asynchronous input and output for snapshots of virtual machines
US11853276B2 (en) * 2020-01-07 2023-12-26 Nirvaha Corporation Incrementally updated database server database images and database cloning, using windows virtual hard drives and database server backups
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11875169B2 (en) * 2020-07-21 2024-01-16 Google Llc Optimizing replication-based migration of virtual machines
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11436097B1 (en) 2021-03-31 2022-09-06 Nutanix, Inc. Technique for efficient data failover in a multi-site data replication environment
US12072770B2 (en) 2021-08-19 2024-08-27 Nutanix, Inc. Share-based file server replication for disaster recovery
US12117972B2 (en) 2021-08-19 2024-10-15 Nutanix, Inc. File server managers and systems for managing virtualized file servers
CN114218014B (zh) * 2021-12-21 2022-07-19 中科豪联(杭州)技术有限公司 基于存储卷级的虚拟服务器备份及还原方法
US12019522B2 (en) 2022-01-20 2024-06-25 Pure Storage, Inc. Container recovery layer prioritization
WO2023141220A1 (en) * 2022-01-20 2023-07-27 Pure Storage, Inc. Containers as volumes in a container-aware storage system
US12079515B2 (en) 2022-01-20 2024-09-03 Pure Storage, Inc. Immutable nodes in a container system
US20230315530A1 (en) * 2022-04-05 2023-10-05 Google Llc Preserving and modifying virtual machine settings in replication-based virtual machine migration
WO2023212228A1 (en) * 2022-04-29 2023-11-02 Pure Storage, Inc. Container recovery layer prioritization
US11586515B1 (en) * 2022-05-18 2023-02-21 Snowflake Inc. Data ingestion replication and disaster recovery
EP4404045A1 (en) * 2023-01-19 2024-07-24 VMware LLC Stun free snapshots in virtual volume datastores using delta storage structure

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US7143307B1 (en) 2002-03-15 2006-11-28 Network Appliance, Inc. Remote disaster recovery and data migration using virtual appliance migration
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7840963B2 (en) 2004-10-15 2010-11-23 Microsoft Corporation Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption
US7899788B2 (en) 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US20070208918A1 (en) 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
US8321377B2 (en) 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US7613750B2 (en) * 2006-05-29 2009-11-03 Microsoft Corporation Creating frequent application-consistent backups efficiently
US8407518B2 (en) 2007-10-26 2013-03-26 Vmware, Inc. Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US8364643B2 (en) 2007-12-04 2013-01-29 Red Hat Israel, Ltd. Method and system thereof for restoring virtual desktops
JP2009146169A (ja) 2007-12-14 2009-07-02 Fujitsu Ltd ストレージシステム、ストレージ装置、データバックアップ方法
US8117410B2 (en) 2008-08-25 2012-02-14 Vmware, Inc. Tracking block-level changes using snapshots
US8499297B2 (en) * 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US8954645B2 (en) * 2011-01-25 2015-02-10 International Business Machines Corporation Storage writes in a mirrored virtual machine system

Also Published As

Publication number Publication date
CA2839014C (en) 2019-01-15
WO2012177445A3 (en) 2013-03-21
NZ619304A (en) 2015-12-24
US9785523B2 (en) 2017-10-10
KR20140035417A (ko) 2014-03-21
CN103608786A (zh) 2014-02-26
RU2013156675A (ru) 2015-06-27
RU2619894C2 (ru) 2017-05-19
BR112013032923B1 (pt) 2021-08-24
ES2600914T3 (es) 2017-02-13
JP6050342B2 (ja) 2016-12-21
ZA201308547B (en) 2015-02-25
KR101983405B1 (ko) 2019-05-29
MX2013015361A (es) 2014-02-11
AU2012273366B2 (en) 2016-12-08
MX348328B (es) 2017-06-07
WO2012177445A2 (en) 2012-12-27
IL230035A (en) 2017-05-29
EP2721498A4 (en) 2015-03-25
EP2721498A2 (en) 2014-04-23
CL2013003615A1 (es) 2014-08-08
US20120324183A1 (en) 2012-12-20
CA2839014A1 (en) 2012-12-27
EP2721498B1 (en) 2016-08-03
CO6852032A2 (es) 2014-01-30
NZ714756A (en) 2016-09-30
MY173030A (en) 2019-12-19
JP2014520344A (ja) 2014-08-21
BR112013032923A2 (pt) 2017-01-24

Similar Documents

Publication Publication Date Title
CN103608786B (zh) 在恢复站点处管理复制的虚拟储存器
US11513926B2 (en) Systems and methods for instantiation of virtual machines from backups
AU2012273366A1 (en) Managing replicated virtual storage at recovery sites
CN102981931B (zh) 虚拟机备份方法及装置
CN106716380B (zh) 以近似同步的频率在多个主机上的多流应用的快照和复制的方法和系统
EP3218810B1 (en) Virtual machine cluster backup
US9798792B2 (en) Replication for on-line hot-standby database
US8468313B2 (en) Asynchronous replication with write concurrency grouping
CN101501652B (zh) 检查点及一致性标记符
CN104570831B (zh) 过程控制系统和方法
CN105593829B (zh) 从原始映像备份中排除文件系统对象的方法、系统及介质
CN106062742A (zh) 用于改进快照性能的系统和方法
US10055307B2 (en) Workflows for series of snapshots
CN107885622A (zh) 处理虚拟数据移动器(vdm)故障备援情况
WO2017014814A1 (en) Replicating memory volumes
CN101999113A (zh) 存储复制的方法和系统
CN115398415A (zh) 分布式数据系统中用于写入器预选的方法、装置及系统
NZ619304B2 (en) Managing replicated virtual storage at recovery sites
NZ714756B2 (en) Managing replicated virtual storage at recovery sites
JP2006285576A (ja) 分散処理システム及び分散処理方法

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: 1195152

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150616

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

Effective date of registration: 20150616

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1195152

Country of ref document: HK