CN115485664A - 基于异步主机文件系统的数据复制 - Google Patents
基于异步主机文件系统的数据复制 Download PDFInfo
- Publication number
- CN115485664A CN115485664A CN202180031735.9A CN202180031735A CN115485664A CN 115485664 A CN115485664 A CN 115485664A CN 202180031735 A CN202180031735 A CN 202180031735A CN 115485664 A CN115485664 A CN 115485664A
- Authority
- CN
- China
- Prior art keywords
- file
- storage device
- computer
- differences
- program instructions
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
将在第一存储设备中存储数据的写入操作复制到第一复制文件。确定在第一时间确定的第一复制文件的第一版本和在第二时间确定的第一复制文件的第二版本之间的一组差异,该组差异包括在第一时间与第二时间之间发生的复制的写入操作的一组结果。在第二文件系统处导致将该组差异存储在第二存储设备中,在第二存储设备中创建存储在第一存储设备中的数据的副本。
Description
背景技术
本发明总体上涉及一种用于数据复制的方法、系统和计算机程序产品。更具体地,本发明涉及用于基于异步主机文件系统的数据复制的方法、系统和计算机程序产品。
如果存储设备之一发生故障,其中相同数据存储在多个存储设备中的数据复制对于恢复是重要的。此外,如果数据中心变得不可用(例如,由于电力故障或自然灾难),则为了提供冗余,通常在通过网络连接的多个站点处的多个存储设备中存储重复数据。
数据复制解决方案已经在软件应用程序与物理存储设备之间的不同组件中实现。可以在应用程序级、客户端虚拟机级或在存储子系统内复制数据。
虚拟机或逻辑分区是仿真物理计算设备(如处理器、存储器和存储设备)的软件。管理程序是创建和管理虚拟机的计算机软件。在一些基于管理程序的环境中,每个虚拟机虚拟化其自身的物理输入/输出(I/O)资源,诸如存储和网络设备。在其他环境中,每个虚拟机不虚拟化其自身的I/O资源。相反,位于一个虚拟机或逻辑分区中的软件(例如,虚拟I/O服务器(VIOS))虚拟化用于其他客户端、逻辑分区的物理I/O资源。因为来自客户端虚拟机的所有I/O行进通过VIOS,所以也可以在VIOS中实现数据复制。
异步数据复制是一种数据备份的方法,其中,在将累积的数据存储在另外设备中之前,数据首先被存储在主存储设备中并且然后被累积在单独的位置(如存储器或基于盘的日志)中。异步地复制数据消除了I/O延迟,因为存储数据的应用程序不必等待数据存储在多于一个位置中,尤其是如果备份设备位于网络上从主设备的其他位置。
发明内容
说明性实施例提供了一种方法、系统和计算机程序产品。实施例包括一种方法,该方法将在第一存储设备中存储数据的写入操作复制到第一复制文件。实施例确定在第一时间确定的第一复制文件的第一版本和在第二时间确定的第一复制文件的第二版本之间的一组差异,该组差异包括在第一时间与第二时间之间发生的复制的写入操作的一组结果。实施例在第二文件系统处导致将该组差异存储在第二存储设备中,在第二存储设备中创建存储在第一存储设备中的数据的副本。
实施例包括计算机可用程序产品。计算机可用程序产品包括一个或多个计算机可读存储设备以及存储在一个或多个存储设备中的至少一个上的程序指令。
实施例包括一种计算机系统。计算机系统包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读存储设备,以及存储在一个或多个存储设备中的至少一个上的用于由一个或多个处理器中的至少一个经由一个或多个存储器中的至少一个执行的程序指令。
附图说明
在所附权利要求书中阐述了被认为是本发明特征的某些新颖特征。然而,当结合附图阅读时,通过参考说明性实施例的以下详细描述,将最好地理解本发明本身以及使用的优选模式、其进一步的目的和优点,其中:
图1示出了可以实现说明性实施例的数据处理系统网络的框图;
图2示出了可以实现说明性实施例的数据处理系统的框图;
图3示出了根据说明性实施例的基于异步主机文件系统的数据复制的示范性配置的框图;
图4示出了根据说明性实施例的用于基于异步主机文件系统的数据复制的示范性配置的框图;
图5示出了根据说明性实施例的基于异步主机文件系统的数据复制的示例配置;
图6示出了根据说明性实施例的基于异步主机文件系统的数据复制的示例配置;
图7示出了根据说明性实施例的用于基于异步主机文件系统的数据复制的示范性过程的流程图;
图8示出了根据本发明的实施例的云计算环境;以及
图9示出了根据本发明的实施例的抽象模型层。
具体实施方式
说明性实施例认识到,在应用程序层级上实现数据复制要求每个应用程序负责其自身的复制。然而,为了保留写入被执行的顺序并消除潜在的数据损坏,应用程序层级的复制必须以串行方式完成。串行复制不能利用可以从并行执行多个写入中获得的性能改进,并且因此比期望的过程更慢。
说明性实施例认识到,数据复制可以在客户端虚拟机层级处实现,通过在本地高速缓存正被复制的数据,并且周期性地(例如,每五毫秒)将一组写入提交并发送至远程站点。然而,每次应用程序写入到等待窗口内的同一存储位置时,就要创建数据的多个副本。因此,必须缓存和发送多于必要的数据。当本地和远程站点之间的网络连接与新数据被写入的速率相比较慢时,该问题变得复杂,因为较慢的网络速度必须适应附加的高速缓存容量。此外,如果应用程序等待直到提交了整个数据组,则这可能导致应用程序中的执行延迟。同样,如果到一个本地存储设备的I/O独立于到另一个本地存储设备的I/O被复制和缓存,则不能保证跨相应的远程复制的一致性。然而,如果单个高速缓存用于跟踪跨所有设备的所有I/O,如果高速缓存由于比所需的网络连接更慢而填充,则异步复制的速度益处丢失。出于安全原因,客户端通常还限制对所需虚拟机的访问。
说明性实施例认识到,数据复制也可以在存储子系统内实现,但是这种解决方案对于一种类型的存储子系统实现方式和应用程序接口是特定的,并且也不适于在多站点环境中实现,在所述多站点环境中,站点以云配置连接。结果,说明性实施例认识到,存在以这样的方式实现数据复制的需要:跨所有客户端虚拟机的存储设备有效地保持数据一致性,并提供一种基于网络速度和其他参数来改变承诺间隔的方法。
说明性实施例认识到,目前可用的工具或解决方案没有解决这些需要或为这些需要提供足够的解决方案。用于描述本发明的说明性实施例通常提出并解决上述问题以及与基于异步主机文件系统的数据复制相关的其他问题。
实施例可以实现为软件应用程序。可以将实施实施例的应用程序配置为对现有VIOS或者其他基于系统管理程序的系统的修改、配置为结合现有VIOS或者其他基于系统管理程序的系统操作的单独应用程序、独立应用程序或者其某种组合。
具体地,一些说明性实施例提供了一种向复制文件复制将数据存储在存储设备中的写入操作的方法。该方法确定在不同时间确定的复制文件的第一和第二版本之间的一组差异,并且导致将该组差异存储在第二存储设备中的第二文件系统处。因此,该方法在第二存储设备中创建存储在第一存储设备中的数据的副本。
实施例是虚拟化一个或多个存储设备(包括用于客户端虚拟机或逻辑分区)的应用程序的组件。一个实施例在一个或多个VIOS或虚拟机内实现。另一实施例部分地在VIOS或虚拟机内并且部分地在使用VIOS的逻辑分区内实现。
实施例从客户端接收一个或多个写入操作。写入操作旨在被存储在该实施例为客户端虚拟化的物理存储设备中并且正在复制。物理存储设备可以是单个存储设备、存储区域网络(SAN)配置的一部分(SAN是可以被多个计算机访问的存储设备的网络)、或另一当前已知的存储设备配置的一部分。
在VIOS或虚拟机内实现的实施例向复制文件复制一个或多个写入操作。因为对复制文件的写入与对物理存储装置的写入基本上同时发生,所以作为写入源的应用程序不受提交延迟的影响,提高了应用程序执行速度。在一个实施例中,复制文件被维护在块级别,使得对于由到物理设备的写入操作而改变的每个块,块的编号和改变的内容被存储在复制文件内。在其他实施例中,复制文件被保持在物理设备的不同组织级别。复制文件存储在由实施例的VIOS可使用的文件系统中。在一个实施例中,复制文件是瘦文件,直到需要它们存储数据才为其分配块的文件。在另实施例中,复制文件是厚文件,当创建文件时分配块的文件。然而,使用厚文件比使用瘦文件在文件系统内需要更多的空间。如果实施例的VIOS正在虚拟化多于一个物理存储装置,则实施例针对每个物理存储装置维护复制文件。此外,如果两个或更多个VIOS正在并行配置中虚拟化单个物理存储装置,则为虚拟化的物理存储装置维护公共复制文件,并且VIOS中的每个实施例将其接收的写入操作复制到公共复制文件中。
一个实施例周期性地拍摄该复制文件的快照,在一个或多个特定时间保持该复制文件的状态。实施例使用任何当前可用的文件比较技术来确定两个快照之间的一组差异。因此,该组差异包括在复制文件的快照之间发生的一组写入操作的结果。在复制文件被维持在块级别的实施例中,该组差异包括用于每个改变的块的标签和该块的最终值。通过确定两个周期性快照之间的差异,一实施例确保该组差异仅包括块的最终值或其他位置,即使该块在快照之间被写入多次。在一个实施例中,在VIOS中实施快照功能。在另一实施例中,快照功能在逻辑分区中而不是虚拟化存储设备的VIOS中实现。当用于存储复制文件的文件系统是集群文件系统时在逻辑分区中实施快照功能允许在虚拟化存储设备的VIOS或虚拟机发生故障的情况下快照功能保持不受影响。
实施例通过网络将该组差异传输至另站点。仅将块的最终值或其他位置包括在该组差异中使所传输的数据量最小化。在一个实施例中,源站点和目的地站点是并置排列的。在另一实施例中,源和目的地站点不是并置排列的。相反,源站点被认为是本地站点,而目的站点被认为是远程站点。将两个站点分离有助于灾难恢复,因为如果本地站点变得不可用于使用(例如,由于电源故障、地震或天气事件),则远程站点不太可能受到同一事件的影响并且保持可用。实施例以任何合适的形式传输该组差异。一个实施例在一个包中传输该组差异和数据的校验和。
在目的地站点,另实施例(接收实施例)接收该组差异,并且将其存储在第二复制文件中。该接收实施例然后执行一组写入操作以将该组差异存储在物理存储装置中。由此,该实施例在新的存储设备中创建存储在原始存储设备中的数据的副本。通过在将差异的完整集合应用于存储设备之前等待直到接收到该完整集合,一实施例防止由于部分复制而导致的失败,例如如果仅接收到差异的集合的一部分。在VIOS内实现接收实施例。另一接收实施例在不使用VIOS的情况下在虚拟化其自身的物理设备的虚拟机内实现。
因为实施例在新的存储设备中创建存储在原始存储设备中的数据的副本,如果原始存储设备发生故障,则使用那个存储设备的客户端虚拟机或逻辑分区可以被移动到目的地站点并在那里使用复制的存储设备。在必要时,例如如果要重新配置或重新目的化原始存储设备,使用复制的存储设备而不是原始存储设备也促进数据中心的重新配置。
本文描述的基于异步主机文件系统的数据复制的方式在与数据复制有关的努力技术领域中的当前可用的方法中是不可用的。本文描述的实施例的方法,当被实现为在装置或数据处理系统上执行时,包括在向复制文件复制在存储装置中存储数据的写入操作时该装置或数据处理系统的功能的实质性进步。该方法确定在不同时间确定的复制文件的第一和第二版本之间的一组差异,并且导致将该组差异存储在第二存储设备中的第二文件系统处,由此在第二存储设备中创建存储在第一存储设备中的数据的副本。
仅作为实例,相对于某些类型的存储装置、文件系统、复制文件、逻辑分区、虚拟机、VIOS、传输、延迟、周期、装置、数据处理系统、环境、组件和应用程序来描述说明性实施例。这些和其他类似产物的任何特定表现不旨在限制本发明。在说明性实施例的范围内,可以选择这些和其他类似产物的任何合适的表现。
此外,可以相对于任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备可以在数据处理系统本地或通过数据网络将数据提供给本发明的实施例。在说明性实施例的范围内,在使用移动装置描述实施例的情况下,适于与移动装置一起使用的任何类型的数据存储装置可在移动装置本地或通过数据网络将数据提供到此实施例。
仅使用特定代码、设计、架构、协议、布局、示意图、和工具作为实例来描述说明性实施例,并且不限于说明性实施例。此外,为了描述的清楚,在一些实例中使用特定软件、工具和数据处理环境仅作为实例来描述说明性实施例。说明性实施例可以结合其他可比较的或相似用途的结构、系统、应用程序或架构使用。例如,在本发明的范围内,其他类似的移动设备、结构、系统、应用程序或架构可以与本发明的这种实施例结合使用。说明性实施例可以在硬件、软件或其组合中实现。
本公开中的实例仅用于描述的清晰性,并且不限于说明性实施例。另外的数据、操作、动作、任务、活动和操纵将从本公开想到,并且在说明性实施例的范围内设想相同的数据、操作、动作、任务、活动和操纵。
本文列出的任何优点仅是实例并且不旨在限制这些说明性实施例。通过具体的说明性实施例可以实现另外的或不同的优点。此外,特定说明性实施例可具有上文所列的优点中的一些、全部或无优点。
应当理解,尽管本公开包括关于云计算的详细描述,但本文所叙述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用程序、虚拟机和服务)的共享池,所述可配置计算资源可以用最小的管理努力或与所述服务的提供者的交互来快速配设和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助服务:云消费者可以根据需要自动地单方面地配设计算能力,如服务器时间和网络存储,而无需与服务的提供商进行人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上计算机、和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需要动态地分配和重新分配。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:可以快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量服务:云系统通过在适合于服务类型(例如,存储、处理、带宽、和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供商的应用程序。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用程序。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用程序能力的底层云基础设施,可能的例外是有限的用户特定应用程序配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用程序部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用程序和可能的应用程序托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络、和其他基本计算资源,其中消费者能够部署和运行任意软件,其可以包括操作系统和应用程序。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用程序的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础设施由若干组织共享并且支持具有共享关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础设施对一般公众或大型行业组可用并且由出售云服务的组织拥有。
混合云:云基础设施是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用程序能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,专注于状态性、低耦合、模块性和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
参考附图并且具体地参见图1和2,这些图是可以在其中实现说明性实施例的数据处理环境的示例图。图1和2仅是示例并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实现方式可以基于以下描述对所描绘的环境做出许多修改。
图1示出了可以实现说明性实施例的数据处理系统网络的框图。数据处理环境100是其中可以实施说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于提供在数据处理环境100内连接在一起的不同设备和计算机之间的通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤电缆之类的连接。
客户端或服务器仅是连接至网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106与存储单元108一起耦合到网络102。软件应用程序可以在数据处理环境100中的任何计算机上执行。客户端110、112和114也耦合到网络102。数据处理系统(诸如服务器104或106或客户端110、112或114)可以包含数据并且可以具有在其上执行的软件应用程序或软件工具。
仅作为示例,并且不暗示对这种架构的任何限制,图1示出了在实施例的示例实现方式中可用的某些部件。例如,服务器104和106以及客户端110、112、114仅作为示例被描绘为服务器和客户端,而不是暗示对客户端-服务器架构的限制。作为另示例,实施例可以跨所示的若干数据处理系统和数据网络分布,而另一实施例可以在说明性实施例的范围内的单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示集群、分区和适于实现实施例的其他配置中的示例节点。
设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用程序可被配置成以类似方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置成以类似方式在设备132中存储或产生。
应用程序105实施本文描述的实施例。应用程序105在服务器104和106、客户端110、112和114以及设备132中的任一个中执行。例如,如果服务器104和106各自包括物理存储设备,则在服务器104中执行的应用程序105在服务器106中复制服务器104的物理存储设备。
服务器104和106、存储单元108、以及客户端110、112和114、以及设备132可以使用有线连接、无线通信协议、或其他合适的数据连接性耦合至网络102。客户端110、112和114可以是例如个人计算机或网络计算机。
在所描绘的示例中,服务器104可以向客户端110、112和114提供数据,如引导文件、操作系统映像和应用程序。在该示例中,客户端110、112和114可以是服务器104的客户端。客户端110、112、114或其某种组合可以包括它们自己的数据、引导文件、操作系统映像和应用程序。数据处理环境100可以包括附加的服务器、客户端和未示出的其他设备。
在所描绘的示例中,数据处理环境100可以是互联网。网络102可以表示使用传输控制协议/互联网协议(TCP/IP)和其他协议来彼此通信的网络和网关的集合。互联网的核心是主节点或主计算机(包括路由数据和消息的数千个商业、政府、教育和其他计算机系统)之间的数据通信链路的骨架。当然,数据处理环境100还可以被实现为许多不同类型的网络,诸如例如内联网、局域网(LAN)或广域网(WAN)。图1旨在作为实例,而不是作为对于不同说明性实施例的架构限制。
除了其他用途之外,数据处理环境100可以用于实现可以在其中实现说明性实施例的客户端-服务器环境。客户机-服务器环境使得软件应用程序和数据能够跨网络分布,以使得应用程序通过使用客户机数据处理系统和服务器数据处理系统之间的交互来发挥功能。数据处理环境100还可以采用面向服务的架构,其中,跨网络分布的可互操作的软件组件可以被一起封装为一致的业务应用程序。数据处理环境100还可以采取云的形式,并且采用服务递送的云计算模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用程序、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互被快速供应和释放。
参见图2,该图示出了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的实例,诸如图1中的服务器104和106或客户端110、112和114,或者对于说明性实施例实施过程的计算机可用程序代码或指令可以位于其中的另一类型的设备。
数据处理系统200还表示数据处理系统或其中的配置,如图1中实现说明性实施例的过程的计算机可用程序代码或指令可以位于其中的数据处理系统132。数据处理系统200仅作为示例被描述为计算机,而不限于此。呈其他装置(例如,图1中的装置132)的形式的实施例可例如通过添加触摸接口来修改数据处理系统200,且甚至从数据处理系统200消除某些所描绘的组件,而不脱离本文中所描述的数据处理系统200的操作和功能的一般描述。
在所描绘的示例中,数据处理系统200采用包括北桥和存储器控制器中枢(NB/MCH)202和南桥和输入/输出(I/O)控制器中枢(SB/ICH)204的中枢架构。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器中心(NB/MCH)202。处理单元206可以包含一个或多个处理器并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现方式中,图形处理器210可以通过加速图形端口(AGP)耦合到NB/MCH202。
在所描绘的示例中,局域网(LAN)适配器212耦合至南桥和I/O控制器中枢(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其他端口232、以及PCI/PCIe设备234通过总线238耦合到南桥和I/O控制器中枢204。硬盘驱动器(HDD)或固态驱动器(SSD)226和CD-ROM230通过总线240耦合到南桥和I/O控制器中心204。PCI/PCIe设备234可包括例如以太网适配器、插入卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以是例如闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM230可以使用例如集成驱动电子器件(IDE)、串行高级技术附件(SATA)接口或诸如外部SATA(eSATA)和微SATA(mSATA)的变体。超级I/O(SIO)设备236可以通过总线238耦合到南桥和I/O控制器中枢(SB/ICH)204。
存储器(如主存储器208、ROM 224或闪存(未示出))是计算机可用存储设备的一些实例。硬盘驱动器或固态驱动器226、CD-ROM230和其他类似可用的装置是包括计算机可用存储介质的计算机可用存储装置的一些实例。
操作系统在处理单元206上运行。操作系统协调并提供图2中的数据处理系统200内的不同组件的控制。操作系统可以是用于任何类型的计算平台的市售操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象的或其他类型的编程系统可以与操作系统结合操作,并且提供从在数据处理系统200上执行的程序或应用程序对操作系统的调用。
用于操作系统、面向对象的编程系统、和应用程序或程序(如图1中的应用程序105)的指令位于存储装置上(如以硬盘驱动器226上的代码226A的形式),并且可以被加载到一个或多个存储器(如主存储器208)中的至少一个中以便由处理单元206执行。示例性实施方式的处理可以通过使用计算机实施的指令由处理单元206执行,这些指令可以位于存储器中,诸如,例如,主存储器208、只读存储器224、或者一个或多个外围设备中。
此外,在一种情况下,代码226A可以通过网络201A从远程系统201B下载,其中,类似的代码201C被存储在存储设备201D上。在另一情况下,代码226A可通过网络201A被下载到远程系统201B,其中所下载的代码201C被存储在存储设备201D上。
图1-2中的硬件可以取决于实现方式而变化。除了或代替图1-2中所描绘的硬件,可使用其他内部硬件或外围设备,例如快闪存储器、等效非易失性存储器或光盘驱动器等。此外,示例实施例的过程可以应用程序于多处理器数据处理系统。
在某些说明性例子中,数据处理系统200可以是个人数字助理(PDA),其通常配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可包括一条或多条总线,诸如系统总线、I/O总线和PCI总线。当然,总线系统可以使用在附接到结构或架构的不同组件或设备之间提供数据传送的任何类型的通信结构或架构来实现。
通信单元可包括用于传输和接收数据的一个或多个装置,如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器中心202中发现的高速缓存。处理单元可包含或以上处理器或CPU。
图1-2中所描绘的示例和上述示例不意味着暗示架构限制。例如,数据处理系统200除了采取移动或可穿戴设备的形式之外还可以是平板计算机、膝上型计算机或电话设备。
在计算机或数据处理系统被描述为虚拟机、虚拟装置、或虚拟部件的情况下,该虚拟机、虚拟装置、或虚拟部件以数据处理系统200的方式使用数据处理系统200中描绘的一些或全部部件的虚拟化表现来操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206表现为主机数据处理系统中可用的所有或某些数量的硬件处理单元206的虚拟化实例,主存储器208表现为主机数据处理系统中可用的主存储器208的所有或某个部分的虚拟化实例,并且磁盘226表现为主机数据处理系统中可用的磁盘226的所有或某个部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。
参见图3,此图示出了根据说明性实施例的用于基于异步主机文件系统的数据复制的示例配置的框图。应用程序300是图1中的应用程序105的示例并且在图1中的服务器104和106、客户端110、112和114以及设备132中的任何中执行。
写入拦截模块310从客户端接收一个或多个写入操作。写入操作旨在被存储在该实施例为客户端虚拟化的物理存储设备中并且正在复制。模块310将一个或多个写入操作复制到复制文件。在模块310的一个实现方式中,复制文件被维护在块级别,使得对于由到物理设备的写入操作而改变的每个块,块的编号和改变的内容被存储在复制文件内。在模块310的其他实现方式中,复制文件被维持在物理设备的不同组织级别。复制文件存储在可由模块310的VIOS使用的文件系统中。在模块310的一个实现方式中,该复制文件是一个瘦文件。在模块310的另实现方式中,该复制文件是厚文件。如果模块310的VIOS正在虚拟化多于一个物理存储装置,则模块310维护用于每个物理存储装置的复制文件。另外,如果两个或更多个VIOS正在并行配置中虚拟化单个物理存储装置,则为虚拟化物理存储装置维护公共复制文件,并且VIOS中的模块310的每个实例将其接收的写入操作复制到公共复制文件中。
复制管理器320周期性地拍摄复制文件的快照,从而保留复制文件在一个或多个特定时间的状态。模块320使用任何当前可用的文件比较技术来确定两个快照之间的一组差异。因此,该组差异包括在复制文件的快照之间发生的一组写入操作的结果。如果复制文件被维持在块级别,则该组差异包括用于每个改变的块的标签和该块的最终值。通过确定两个周期性快照之间的差异,一实施例确保该组差异仅包括块的最终值或其他位置,即使该块在快照之间被写入多次。模块320的一个实现方式是在VIOS中实现。模块320的另一实现方式是在逻辑分区中而不是虚拟化存储设备的VIOS中实现。
复制管理器320通过网络以任何合适的形式将该组差异传输到另站点。模块320的一个实现方式在一个包中传输该组差异和数据的校验和。
参见图4,该图示出了根据说明性实施例的基于异步主机文件系统的数据复制的示例性配置的框图。应用程序400是图1中的应用程序105的示例并且在图1中的服务器104和106、客户端110、112和114以及设备132中的任何中执行。
复制管理器410接收该组差异,并将它们存储在第二复制文件中。写入模块420接着执行一组写入操作以将所述一组差异存储在物理存储装置中。由此,应用程序400在新的存储设备中创建存储在原始存储设备中并由应用程序300发送的数据的副本。
参见图5,该图示出了根据说明性实施例的基于异步主机文件系统的数据复制的示例性配置。该示例可以使用图3中的应用程序300和图4中的应用程序400来执行。网络102与图1中的网络102相同。写入拦截模块310和复制管理器320与图3中的写入拦截模块310和复制管理器320相同。复制管理器410和写入拦截模块420与图4中的复制管理器410和写入拦截模块420相同。
在站点510处,源VIOS 516从客户端接收针对本地存储设备512的写入数据530。如所描绘的,在源VIOS 516内实现写入拦截模块310和复制管理器320。然而,复制管理器320还可以在使用源VIOS 516的单独逻辑分区内实现。在532,模块310将数据530存储在本地存储装置512中。模块310复制写入数据530,并且在534,在复制文件514中存储该数据。如果复制文件被保持在块级别,对于通过对本地存储装置512的写入操作而改变的每个块,块的编号和改变的内容被存储在复制文件514内。
在536,复制管理器320周期性地拍摄复制文件514的快照,从而保留文件514在一个或多个特定时间的状态。模块320使用任何当前可用的文件比较技术来确定两个快照之间的一组差异。因此,该组差异包括在复制文件的快照之间发生的一组写入操作的结果。如果文件514被维护在块级别,则该组差异包括用于每个改变的块的标签和该块的最终值。
在538,模块320通过网络102向站点520传输该组差异。仅将块的最终值或其他位置包括在该组差异中使所传输的数据量最小化。在站点520处,在目标VIOS 526中实施的复制管理器410接收该组差异,并且在540处将它们存储在复制文件524中。在542,写入模块420执行一组写入操作以将该组差异存储在远程存储设备522中,从而在存储设备522中复制存储在本地存储设备512中的数据。
参见图6,该图示出了根据说明性实施例的用于基于异步主机文件系统的数据复制的示例性配置。该示例可以使用图3中的应用程序300和图4中的应用程序400来执行。网络102与图1中的网络102相同。写入拦截模块310和复制管理器320与图3中的写入拦截模块310和复制管理器320相同。复制管理器410和写入拦截模块420与图4中的复制管理器410和写入拦截模块420相同。本地存储器512和复制文件514与图5中的本地存储器512和复制文件514相同。
在站点600,VIOS 620和630从客户端610接收旨在用于本地存储512的写入数据650。如所描绘的,VIOS620和630以并行配置实现,两者均为客户端610虚拟化存储装置512。写入拦截模块310的一个实例是在VIOS620内实施的,并且写入拦截模块310的另一个实例是在VIOS630内实施的。复制管理器320被描绘为在逻辑分区640中实现。然而,复制管理器320也可以在VIOS620和630中的任一个中实现。在652处,VIOS 620中的模块310将数据650存储在本地存储装置512中,复制写入数据650,并且在656处将数据存储在复制文件514中。可替代地,在654处,VIOS 630中的模块310将数据650存储在本地存储装置512中,并且在658处将数据存储在复制文件514中。如果复制文件以块级维护,则对于由任意VIOS对本地存储设备512的写入操作改变的每个块,将块的编号和改变的内容存储在复制文件514内。
在660,复制管理器320周期性地拍摄复制文件514的快照,从而保留文件514在一个或多个特定时间的状态。模块320使用任何当前可用的文件比较技术来确定两个快照之间的一组差异。因此,该组差异包括在复制文件的快照之间发生的一组写入操作的结果。如果文件514被维护在块级别,则该组差异包括用于每个改变的块的标签和该块的最终值。
在662处,模块320将该组差异传输至另一个站点(例如,图5中的站点520)以用于远程存储。
参见图7,该图示出了根据说明性实施例的用于基于异步主机文件系统的数据复制的示例性过程的流程图。过程700可以在图3中的应用程序300中实现。
在框702中,该应用程序将在第一存储装置中存储数据的写入操作复制到第一复制文件。在框704中,应用程序确定在第一时间确定的第一复制文件的第一版本和在第二时间确定的第一复制文件的第二版本之间的一组差异(在第一时间与第二时间之间发生的复制的写入操作的结果)。在框706中,该应用程序导致在第二文件系统处将该组差异写入到的第二复制文件中。在框708中,该应用程序导致一组写入操作,该组写入操作在第二文件系统处根据该组差异将数据存储在第二存储设备中。然后应用程序结束。
现在参见图8,示出了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,所描绘的计算设备54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参见图9,示出了由云计算环境50(图8)提供的一组功能抽象层。应当提前理解,所描绘的部件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用程序和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用程序软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;事务处理95;以及基于累积弱点风险评估96的应用程序选择。
因此,在说明性实施例中,提供了一种用于基于异步主机文件系统的数据复制和其他相关特征、功能或操作的计算机实现的方法、系统或设备以及计算机程序产品。其中关于装置的类型描述实施例或其部分,计算机实施的方法、系统或设备、计算机程序产品或其部分被适配或配置用于与该类型装置的合适且可比较的表现一起使用。
在实施例被描述为在应用程序中实现的情况下,在示意性实施例的范围内设想在软件即服务(SaaS)模型中递送应用程序。在SaaS模型中,通过在云基础设施中执行应用程序来将实现实施例的应用程序的能力提供给用户。用户可通过诸如web浏览器(例如,基于web的电子邮件)或其他轻量级客户机应用程序之类的瘦客户机接口使用各种客户机设备来访问应用程序。用户不管理或控制包括网络、服务器、操作系统或云基础设施的存储的底层云基础设施。在一些情况下,用户甚至可能不管理或控制SaaS应用程序的能力。在一些其他情况下,应用程序的SaaS实现可允许有限的用户特定应用程序配置设置的可能例外。
本发明可以是在任何可能的技术细节集成水平下的系统、方法、和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可以是有形设备,该有形设备可以保留和存储供指令执行设备使用的指令。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载至对应的计算/处理设备或下载至外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
本文参照根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,这样使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
这些计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置、或其他设备上,以便使得在该计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而使得在该计算机、其他可编程装置、或其他设备上执行的指令实现流程图和/或框图的或多个框中所指定的功能/动作。
附图中的流程图和框图展示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
Claims (20)
1.一种计算机实现方法,包括:
将在第一存储设备中存储数据的写入操作复制到第一复制文件中;
确定在第一时间确定的所述第一复制文件的第一版本与在第二时间确定的所述第一复制文件的第二版本之间的一组差异,该组差异包括在所述第一时间与所述第二时间之间发生的复制的写入操作的一组结果;以及
导致在第二文件系统处将该组差异存储在第二存储设备中,在所述第二存储设备中创建存储在所述第一存储设备中的所述数据的副本。
2.根据权利要求1所述的计算机实现的方法,其中所述第一复制文件由集群文件系统维护。
3.根据权利要求1所述的计算机实现的方法,其中所述第一复制文件包括瘦文件。
4.根据权利要求1所述的计算机实现的方法,进一步包括:
将该组差异从所述第一文件系统传输到所述第二文件系统。
5.根据权利要求1所述的计算机实现的方法,其中,导致在第二文件系统处将该组差异存储在第二存储设备中进一步包括:
导致在所述第二文件系统处将该组差异写入第二复制文件;以及
导致在所述第二文件系统处对所述第二存储设备的一组写入操作,该组写入操作根据该组差异将数据存储在第二存储设备中。
6.根据权利要求1所述的计算机实现的方法,其中,所述第一存储设备包括本地存储设备,并且其中,所述第二存储设备包括远程存储设备。
7.一种用于基于异步主机文件系统的数据复制的计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质,以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:
用于将在第一存储设备中存储数据的写入操作复制到第一复制文件中的程序指令;
用于确定在第一时间确定的所述第一复制文件的第一版本与在第二时间确定的所述第一复制文件的第二版本之间的一组差异的程序指令,该组差异包括在所述第一时间与所述第二时间之间发生的复制的写入操作的一组结果;以及
用于导致在第二文件系统处将该组差异存储在第二存储设备中的程序指令,在所述第二存储设备中创建存储在所述第一存储设备中的所述数据的副本。
8.根据权利要求7所述的计算机程序产品,其中所述第一复制文件由集群文件系统维护。
9.根据权利要求7的计算机程序产品,其中所述第一复制文件包括瘦文件。
10.根据权利要求7所述的计算机程序产品,进一步包括:
将该组差异从所述第一文件系统传输到所述第二文件系统的程序指令。
11.根据权利要求7所述的计算机程序产品,其中,用于导致在第二文件系统处将该组差异存储在第二存储设备中的程序指令进一步包括:
导致在所述第二文件系统处将该组差异写入第二复制文件的程序指令;以及
导致在所述第二文件系统处对所述第二存储设备的一组写入操作的程序指令,该组写入操作根据该组差异将数据存储在第二存储设备中。
12.根据权利要求7所述的计算机程序产品,其中,所述第一存储设备包括本地存储设备,并且其中,所述第二存储设备包括远程存储设备。
13.根据权利要求7所述的计算机程序产品,其中,所述存储的程序指令被存储在本地数据处理系统的所述一个或多个存储介质中的至少一个中,并且其中,所述存储的程序指令通过网络从远程数据处理系统传输。
14.根据权利要求7所述的计算机程序产品,其中,所述存储的程序指令被存储在服务器数据处理系统的所述一个或多个存储介质中的至少一个中,并且其中,所述存储的程序指令通过网络被下载到远程数据处理系统,以用于与所述远程数据处理系统相关联的计算机可读存储设备中。
15.根据权利要求7所述的计算机程序产品,其中,所述计算机程序产品作为云环境中的服务提供。
16.一种计算机系统,包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读存储设备,以及存储在所述一个或多个存储设备中的至少一个上的用于由所述一个或多个处理器中的至少一个经由所述一个或多个存储器中的至少一个执行的程序指令,所存储的程序指令包括:
用于将在第一存储设备中存储数据的写入操作复制到第一复制文件的程序指令;
用于确定在第一时间确定的所述第一复制文件的第一版本与在第二时间确定的所述第一复制文件的第二版本之间的一组差异的程序指令,该组差异包括在所述第一时间与所述第二时间之间发生的复制的写入操作的一组结果;以及
用于导致在第二文件系统处将该组差异存储在第二存储设备中的程序指令,在所述第二存储设备中创建存储在所述第一存储设备中的所述数据的副本。
17.根据权利要求16所述的计算机系统,其中所述第一复制文件由集群文件系统维护。
18.根据权利要求16所述的计算机系统,其中所述第一复制文件包括瘦文件。
19.根据权利要求16所述的计算机系统,进一步包括:
将该组差异从所述第一文件系统传输到所述第二文件系统的程序指令。
20.根据权利要求16所述的计算机系统,其中,用于导致在第二文件系统处将该组差异存储在第二存储设备中的程序指令进一步包括:
导致在所述第二文件系统处将该组差异写入第二复制文件的程序指令;以及
导致在所述第二文件系统处对所述第二存储设备的一组写入操作的程序指令,该组写入操作根据该组差异将数据存储在第二存储设备中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/880,298 | 2020-05-21 | ||
US16/880,298 US20210365411A1 (en) | 2020-05-21 | 2020-05-21 | Asynchronous host file system based data replication |
PCT/CN2021/094597 WO2021233332A1 (en) | 2020-05-21 | 2021-05-19 | Asynchronous host file system based data replication |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115485664A true CN115485664A (zh) | 2022-12-16 |
Family
ID=78609022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180031735.9A Pending CN115485664A (zh) | 2020-05-21 | 2021-05-19 | 基于异步主机文件系统的数据复制 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210365411A1 (zh) |
JP (1) | JP2023527683A (zh) |
CN (1) | CN115485664A (zh) |
DE (1) | DE112021001640T5 (zh) |
GB (1) | GB2610985A (zh) |
WO (1) | WO2021233332A1 (zh) |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206910B2 (en) * | 2002-12-17 | 2007-04-17 | Oracle International Corporation | Delta object replication system and method for clustered system |
US7320009B1 (en) * | 2003-03-28 | 2008-01-15 | Novell, Inc. | Methods and systems for file replication utilizing differences between versions of files |
JP2005258850A (ja) * | 2004-03-12 | 2005-09-22 | Hitachi Ltd | 計算機システム |
US20060047713A1 (en) * | 2004-08-03 | 2006-03-02 | Wisdomforce Technologies, Inc. | System and method for database replication by interception of in memory transactional change records |
US7310716B2 (en) * | 2005-03-04 | 2007-12-18 | Emc Corporation | Techniques for producing a consistent copy of source data at a target location |
US8380686B2 (en) * | 2005-03-14 | 2013-02-19 | International Business Machines Corporation | Transferring data from a primary data replication appliance in a primary data facility to a secondary data replication appliance in a secondary data facility |
US8086569B2 (en) * | 2005-03-30 | 2011-12-27 | Emc Corporation | Asynchronous detection of local event based point-in-time state of local-copy in the remote-copy in a delta-set asynchronous remote replication |
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 |
US8805847B2 (en) * | 2010-05-06 | 2014-08-12 | Ca, Inc. | Journal event consolidation |
US10162722B2 (en) * | 2010-07-15 | 2018-12-25 | Veritas Technologies Llc | Virtual machine aware replication method and system |
US8949182B2 (en) * | 2011-06-17 | 2015-02-03 | International Business Machines Corporation | Continuous and asynchronous replication of a consistent dataset |
US8689047B2 (en) * | 2011-07-22 | 2014-04-01 | Microsoft Corporation | Virtual disk replication using log files |
US8972678B2 (en) * | 2011-12-21 | 2015-03-03 | Emc Corporation | Efficient backup replication |
CN103810058B (zh) * | 2012-11-12 | 2017-02-22 | 华为技术有限公司 | 虚拟机备份方法、设备及系统 |
US8983961B2 (en) * | 2012-11-29 | 2015-03-17 | International Business Machines Corporation | High availability for cloud servers |
US9323764B2 (en) * | 2013-11-12 | 2016-04-26 | International Business Machines Corporation | Copying volumes between storage pools |
US9881018B2 (en) * | 2014-08-14 | 2018-01-30 | International Business Machines Corporation | File management in thin provisioning storage environments |
US9817734B2 (en) * | 2015-06-29 | 2017-11-14 | Vmware, Inc. | Virtual machine recovery on non-shared storage in a single virtual infrastructure management instance |
US9697092B2 (en) * | 2015-08-27 | 2017-07-04 | International Business Machines Corporation | File-based cluster-to-cluster replication recovery |
US10733161B1 (en) * | 2015-12-30 | 2020-08-04 | EMC IP Holding Company LLC | Atomically managing data objects and assigned attributes |
US10409776B1 (en) * | 2016-03-30 | 2019-09-10 | EMC IP Holding Company LLC | Space-efficient persistent block reservation |
US10097634B1 (en) * | 2016-04-29 | 2018-10-09 | Veritas Technologies, LLC | Storage tier selection for replication and recovery |
US10503426B2 (en) * | 2017-07-12 | 2019-12-10 | International Business Machines Corporation | Efficient space allocation in gathered-write backend change volumes |
-
2020
- 2020-05-21 US US16/880,298 patent/US20210365411A1/en not_active Abandoned
-
2021
- 2021-05-19 GB GB2218627.4A patent/GB2610985A/en active Pending
- 2021-05-19 CN CN202180031735.9A patent/CN115485664A/zh active Pending
- 2021-05-19 JP JP2022567734A patent/JP2023527683A/ja active Pending
- 2021-05-19 WO PCT/CN2021/094597 patent/WO2021233332A1/en active Application Filing
- 2021-05-19 DE DE112021001640.7T patent/DE112021001640T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023527683A (ja) | 2023-06-30 |
DE112021001640T5 (de) | 2023-02-16 |
GB2610985A (en) | 2023-03-22 |
GB202218627D0 (en) | 2023-01-25 |
WO2021233332A1 (en) | 2021-11-25 |
US20210365411A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6722277B2 (ja) | コピーリダイレクト・オン・ライト | |
US10936423B2 (en) | Enhanced application write performance | |
JP6837414B2 (ja) | 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム | |
US10216431B2 (en) | Consistent data retrieval in a multi-site computing infrastructure | |
US11163728B2 (en) | Sharing container images utilizing a shared storage system | |
US10061665B2 (en) | Preserving management services with self-contained metadata through the disaster recovery life cycle | |
US20120323850A1 (en) | Continuous and asynchronous replication of a consistent dataset | |
US20200026786A1 (en) | Management and synchronization of batch workloads with active/active sites using proxy replication engines | |
US10169174B2 (en) | Disaster recovery as a service using virtualization technique | |
US11341032B1 (en) | Testing in a disaster recovery computer system | |
CN116648692A (zh) | 迁移复杂的传统应用 | |
JP2023054777A (ja) | コンテナオーケストレーションシステムをテストする方法、システムおよびコンピュータプログラム(コンテナオーケストレーションシステムをテストするためのテストクラスタの生成) | |
CN114424180A (zh) | 增加跨帧实时更新的性能 | |
AU2021236350B2 (en) | Virtual machine perfect forward secrecy | |
US20200073771A1 (en) | Determining which target is most ahead in a multi-target mirroring environment | |
US10831621B2 (en) | Policy-driven high availability standby servers | |
JP2021513137A (ja) | 階層型ストレージ管理システムにおけるデータ・マイグレーション | |
WO2021233332A1 (en) | Asynchronous host file system based data replication | |
US11372636B2 (en) | Live updating a virtual machine virtualizing physical resources | |
CN115485677A (zh) | 在分布式数据存储环境中的安全数据复制 | |
US20230015103A1 (en) | Live updating a virtual machine virtualizing physical resources | |
US11960917B2 (en) | Live migration and redundancy for virtualized storage | |
US11799945B2 (en) | Pipelined file server based data transmission | |
US20200409556A1 (en) | Enhanced cascaded global mirror | |
KR20230034319A (ko) | 직접 메모리 액세스(dma) 매핑된 페이지를 마이그레이션하는 동안 지연 최소화 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |