使用远程镜像创建数据的应用一致远程拷贝的系统与方法

文档序号:6560264阅读:150来源:国知局
专利名称:使用远程镜像创建数据的应用一致远程拷贝的系统与方法
技术领域
总体上,本发明涉及数据保护与备份领域,具体地,本发明涉及在包含异构主机和异构存储设备的集成系统中,通过远程镜像对数据进行保护。
背景技术
数据保护对于商务至关重要。由于规章制订方面的适应性要求,此倾向越来越为突出。美国证券交易委员会建议在系统故障之后24小时内商务恢复。对事故恢复与备份的此要求,促进了对先进的数据保护技术的需求。对于销售商以及消费者来说,这样的技术中的差别会是十分重要的。目前,市场上存在着各种传统的数据保护方案,范围从备份到远程镜像。另外,许多数据存储设备和数据存储产品包括数据保护特性。
给出的商务方案通常包括运行在异构主机和异构存储设备上的集成软件部件。这种商务方案可能使用多种不同类型的应用与系统,并且访问多种不同类型的存储设备。显著需求确保这样的商务方案的高可用性。现存方案的范围从频繁备份到远程镜像。然而,传统技术不能够向这样的方案确保应用一致的(application-consistent)远程数据拷贝。即,远程数据拷贝通常不能反映跨越所有受影响的存储资源和主机在时间上精确协调的一个以上异构软件的状态。因此,远程拷贝可能是无用的,或者即使需要该拷贝,返回到服务也是非常困难且昂贵的。
尽管已证明传统的数据保护技术是有用的,但还是希望进一步地改进。当前,信息技术环境包括越来越多跨越众多异构主机和存储设备进行操作的方案。为了能够使商务满足证券交易委员会的规定,以及快速地从系统事故或故障恢复,要求数据保护技术能够跨越众多主机和存储设备运作。还要求这些数据保护技术确保允许整个方案在故障后整体恢复的应用一致远程数据拷贝。
例如,考虑这样的软件基础结构支持多个企业之间的集成供给链或者扩展的虚拟合作,以向最终消费者,例如汽车制造商及其零件提供商和运输供应商,提供服务。当进行事务处理时,把包含虚拟供给链的所有各方的承诺写至永久性存储器,以代表应用级的一致点,即所存储的数据集合被认为对所有使用该数据的应用一致的时间点。如果远程数据拷贝不反映这样的一致点,则所述数据拷贝可能是无用的。
这样的应用一致数据保护支持要求应用的参与(participation),然而,目前尚不存在协助这样的应用协调的复制基础结构。创建远程或本地备份拷贝中的传统的一致点通常是手工或通过昂贵的服务进行的。另外,传统的复制或备份技术通常为针对特定应用的,并且依赖于存储设备。即,某些传统的技术支持可以利用特定应用的知识来生成一致点。然而,这样的方案通常不适合其它应用。应用的内部变化可能会使特定的技术支持完全无效。传统的个别存储设备可以提供镜像能力,但不存在可以提供整体应用一致性的跨越所有这些存储设备而操作的“复制基础结构管理器”。
为了解决以上问题的不同的方面,在各种镜像方案中,已进行了某些尝试。当跨越一组逻辑单元号(Logical Unit Numbers,LUN)来存储本地数据时,一种传统的技术具有从远程站点处的存储设备视点确保数据一致性的某种支持。LUN也用于指逻辑盘分区。实际上,LUN实质上为物理盘的一部分。一组LUN通常意味着一组逻辑盘分区(partition)。
一种传统的方案把这样的LUN进行分组,以使得也可以把在这些LUN处所观察到的写次序保存在远程站点处。此传统的方案保证了远程拷贝总是相应于本地站点处的某些一致时间点拷贝。然而,如果应用跨越多个这样的存储设备运行,则此传统的方案不保证应用级一致性。如果在存储虚拟化层上进行复制,则此传统的方案具有处理关于众多异构存储装置操作的问题的潜能。然而,对于此传统的方案,仍存在着与应用协调以形成一致点的需要。
因此,仍存在着对一种在包含异构主机或异构存储设备的系统中提供远程数据拷贝的应用级一致性的有效且低成本的数据保护方法的需要。因此,所需要的是一种使用远程镜像创建数据的应用一致远程拷贝的系统、计算机程序产品以及相关方法。对这样的方案的需要至今仍然没有满足。

发明内容
本发明满足了此需求,并且提供了一种确保远程数据拷贝总是相应于一致应用状态的使用远程镜像创建数据的应用一致远程拷贝的系统、计算机程序产品以及相关的方法(此处,统称为“系统”或“本系统”)。
本发明的复制方案包含应用辅助和复制无关(neutral)的镜像,用于生成应用一致的数据备份拷贝(可互换地称为远程拷贝),即,可以把远程拷贝恢复至系统,而不损失关于使用所述数据的应用的一致性。此复制方案操作在包含异构主机(此处,可互换地称为主机或应用主机)和异构存储设备的系统中,并且独立于主机或存储设备。
本系统包括驻留在一或多个应用主机和一或多个存储设备之间的虚拟化层。此虚拟化层使用复制协调协议来协助主机并协调主机之间的活动。可以把本系统并入任何虚拟化层中,以生成应用一致的远程数据拷贝。
本系统还包括一种虚拟化层中的复制协调协议和复制协调方法,以促进应用一致远程数据的创建。此复制协调协议协助给出的商务方案中的应用来建立跨越异构主机应用和异构存储设备的一致点。
在一个实施例中,复制协调协议根据请求启动跨越主机应用的一致点声明,以最小化性能(performance)影响。当远程代理器就绪或可用时,根据请求声明一致点允许远程数据处理代理器(此处,可互换地称为远程代理器)根据预先确定的系统条件处理下个一致点数据集合中的数据。根据请求声明一致点最小化了任何性能影响,同时保证了远程数据拷贝中的一致性。
本系统还包括一种盘布局和数据记录格式,使得能够在使用可用的复制技术来复制数据时保存应用一致的远程数据拷贝。在本地复制卷和远程复制卷中使用此盘布局。本地复制卷可以为现存本地存储设备或专门用于本系统的独立存储设备上的分区。远程复制卷可以为现存远程存储设备或专门用于本系统的独立存储设备上的分区。
本系统的盘布局包括仅附接(append-only)循环日志。本系统的数据记录格式包括依赖内容混杂(hash)签字和唯一可验证字段,以允许远程代理器以一致性保存方式抽取数据并生成远程拷贝,而不论在本地存储系统和远程存储系统之间使用的基础复制技术如何。
本系统是高效和低成本的。本系统提供了确保远程数据拷贝应用级一致性的一致性保证;这些保证优于已知的复制技术。本系统可以利用本地存储设备或远程存储设备中的任何基础复制技术。因此,本系统最大化了消费者的投资价值,并且最小化了销售商的开发成本。
本系统适用于范围从备份到远程镜像的各种数据保护技术。可以把整个方案施用于同步和异步镜像二者。当施用于异步镜像时,本系统组合了现存异步镜像技术的性能和成本优势,同时避免了异步镜像中固有的数据一致性问题,维持应用一致性。本系统还以最小的应用变化支持单个数据复制/备份基础结构中的异构主机应用和异构存储设备。
本系统把很少的开销施加于本地主机应用,并有效地利用了本地站点和远程站点之间的网络带宽。在一个实施例中,对本系统进行了扩展,以支持备份,并恢复要求协调应用的一致视点的应用。在另一个实施例中,对本系统进行扩展,以支持一个复制基础结构中的多个商务方案。
附图简述将参照以下的说明、权利要求以及附图,更详细地描述本发明的各种特性以及获得这些特性的方式,为了表示所参照图元之间的对应性,在相应的地方使用了相同的参照数字。


图1示意性地说明了其中可以使用本发明的应用一致远程镜像系统的示例性操作环境;图2说明了图1的应用一致远程镜像系统用来生成数据的应用一致远程拷贝的仅附接循环日志盘格式、记录格式以及一致点格式;图3是过程流程图,说明了图1的应用一致远程镜像系统的操作方法,其中把更新写至本地存储器和本地复制卷;图4包括图4A和4B,表示过程流程图,说明了图1的应用一致远程镜像系统的操作方法,其中生成一致点以标识并分隔一致的数据与更新;以及图5包括图5A和5B,表示过程流程图,说明了图1的应用一致远程镜像系统的操作方法,其中把应用一致的数据和更新写至或镜像至远程复制卷和远程存储卷。
具体实施例方式
以下的定义和解释提供了与本发明的技术领域相关的背景信息,旨在在不限制本发明的范围的情况下,促进对本发明的理解一致点数据集合与一致点相关的记录或更新的集合。
一致点更新事务处理为写至远程存储器所处理的生效一致点数据集合。
一致点一组数据对于使用该数据的所有应用主机被认为一致的时间点。
一致点记录在标识一致点数据集合的一致点处生成的记录。
图1描述了可以使用根据本发明的使用远程镜像创建数据的应用一致远程拷贝的系统(“系统10”)、计算机程序产品以及相关方法的示例性整体环境。系统10包括通常嵌入于或安装于驻留在主机和存储设备之间的计算机、交换设备、或任何层或点的软件程序设计代码或计算机程序产品。例如,可以把系统10安装在虚拟化文件系统、虚拟化层或虚拟化存储交换设备中。或者,也可以把系统10保存在诸如软盘、CD、硬盘驱动器等设备的合适的存储媒体上。
诸如应用主机1、15到应用主机N,20的主机(统称为应用主机25),通过网络35访问本地存储系统30。本地存储系统30包括诸如本地存储器1,40到本地存储器N,45的存储设备(统称为本地存储设备50)。尽管关于网络35描述了系统10,但应用主机25也可以本地而不是远程地访问本地存储系统30和系统10。
系统10把存储在本地存储设备50中的数据复制至远程存储系统55。远程存储系统55包括诸如远程存储器60的存储设备(可互换地称为远程存储设备60)。尽管把远程存储设备60示出为一个存储设备,但远程存储设备60也可以包括另外的存储设备。另外,尽管针对本地存储设备50和远程存储设备60描述了系统10,但术语“本地”和“远程”用于把本地存储设备50与远程存储设备60加以区分,并不限制系统10的应用。远程存储设备60可以与本地存储设备50驻留于本地,或者也可以与本地存储设备50相分离地远程驻留。
本地存储系统30和远程存储系统55包括系统10。本地存储系统30上的系统10包括虚拟化设备65和本地复制卷70。虚拟化设备65包括复制协调器75和拦截(intercept)代理器80。复制协调器75负责在应用主机25、本地存储设备50以及远程存储设备60之间进行协调,以生成一致点。远程存储系统55上的系统10包括远程代理器85和远程复制卷90。
根据另一个实施例,复制卷70不形成系统10的一部分。而是复制卷70可以是本地存储设备50或远程存储设备60的一部分。
在初始系统设置时间期间,注册阶段通知复制协调器75哪一应用主机25被包括在一致点的生成中;把这些应用主机25称为应用一致主机组。
在一个实施例中,本地复制卷70为从本地存储设备50所分配的存储卷。当从本地存储设备50进行分配时,本地存储设备50要求某种形式的复制或远程镜像能力,例如同步镜像或异步镜像。在另一个实施例中,本地复制卷70为独立的存储设备。在一个实施例中,远程复制卷90为从远程存储设备60所分配的存储卷。在另一个实施例中,远程复制卷90为独立的存储设备。
使用存在于本地复制卷70中的任何复制机制,把写至本地复制卷70的数据连续地复制至远程复制卷90。在一个实施例中,本地复制卷70为从本地存储设备50所分配的存储卷;在此情况下,使用存在于本地存储设备50中的任何复制机制,把写至本地复制卷70的数据连续地复制至远程复制卷90。
远程复制卷90维持从本地复制卷70所复制的数据。远程存储设备60维持远程数据拷贝。远程代理器85读取和处理远程复制卷90中的数据,以抽取有效数据。远程代理器85还在远程存储设备60中生成应用一致数据拷贝。本地存储设备50中所使用的复制机制可以以除数据被写入的次序之外的次序来复制本地复制卷70中的数据块。从而,远程复制卷90可以在较旧数据之前接收较新近的数据。系统10包括本地复制卷70和远程复制卷90中的盘布局、以及存储在本地复制卷70和远程复制卷90中的数据的记录格式,此记录格式允许远程代理器85甚至在无序数据复制的情况下抽取正确的数据。
当远程代理器85处理远程复制卷90,以抽取有效数据时,远程代理器85可能遇到空穴(hole)。空穴为包含垃圾数据的盘区;垃圾数据即将占据尚未复制的空穴的数据。本地复制卷70和远程复制卷90中的盘布局以及存储在本地复制卷70和远程复制卷90中的数据的记录格式,允许远程代理器85检测空穴,并且抽取有效数据。
本地复制卷70和远程复制卷90的盘布局使得每个能够作为仅附接循环日志而运作。图2说明了按仅附接循环日志格式配置的本地复制卷70上的本地日志202。图2还说明了按仅附接循环日志格式配置的远程复制卷90上的远程日志204。拦截代理器80把每一段数据写至本地复制卷70中的本地日志202的结尾。
本地日志202包括写记录,例如写记录1,206、写记录2,208、写记录3,210,直至写记录N,212。本地日志还包括一致点记录,例如一致点记录1,214,直至一致点记录X,216。拦截代理器80把写记录1,206写入本地日志202。然后,拦截代理器80把写记录2,208附接在写记录2,206的结尾,以及把写记录3,210附接在写记录2,208的结尾等。系统10周期性地生成一致点,例如一致点记录1,212,直至一致点记录X,216,以维持本地存储设备50和远程存储设备60之间的应用一致性,同时最小化本地复制卷70和远程复制卷90所需的存储量。
复制技术把记录从本地复制卷70上的本地日志202复制至远程复制卷204上的远程日志204。例如,该复制技术可以复制写记录1,206和写记录3,210,但延迟复制写记录2,208。因此,其中写记录2,208驻留在远程日志204中的空间反而是空穴218。在生成一致点的过程中,系统10的过程使系统10能够识别空穴,例如空穴218,并且等待,直至在一致点数据集合写至远程存储设备60之前复制了与一致点(一致点数据集合)相关的所有数据。
拦截代理器80按图示为记录格式220的远程代理器85已知的数据记录格式写数据。记录格式220包括由拦截代理器80所生成的时间戳222、以及顺序增加的序列号码224。时间戳222和序列号码224标识具体的写记录。记录格式220还包括头标混杂签字226、请求ID 228、记录ID 230、记录类型232、拦截代理器ID 234、混杂块开始偏移S,236、盘块地址238、写请求中的字节数目240、写请求中的数据242(此处,可互换地称为更新或更新请求)、以及尾标混杂签字244。记录格式220还包括请求ID 228(未示出)。
头标混杂签字226代表写请求的头标;尾标混杂签字244代表写请求的尾标。头标混杂签字226与尾标混杂签字244相匹配。把头标混杂签字226和尾标混杂签字244计算为时间戳222、序列号码224、拦截代理器ID 234、以及开始于混杂块开始偏移S,236的例如在数据242的第8字节处的数据242的某N个字节的混杂。N的值是动态可配置的,范围从0到字节数目240。头标混杂签字226和尾标混杂签字244所要求的计算量与N的值成正比。经历混杂冲突(collision)的可能性反比于N的值。在实践中,系统10可以配置N,以确保可以忽略混杂冲突的可能性。由系统10随机地生成N的值。
请求ID 228指出记录格式220所代表的写是写记录还是一致点记录。当形成了一致点数据集合时,系统10把一致点记录写至本地复制卷60,以表示已声明了一致点。拦截代理器80生成时间戳222;时间戳222总是在增加。对于应用主机25之一所启动的每一写请求,拦截代理器80生成序列号码224的序列中的下个号码;该序列号码顺序地增加。
盘块地址238是盘位置,其中当写至远程存储设备60时存储相应于写记录的数据。记录格式220使远程代理器85能够把有效数据与诸如空穴218的空穴相区别。记录格式220允许对单个记录进行多项检查,以验证记录的有效性。这样的验证使得难以把一段有效的数据错误地标识为空穴。可以使用可用的混杂函数,例如MD5或SHA-1,来计算头标混杂签字226和尾标混杂签字244。
复制协调器75与应用主机25周期性地通信,以声明应用一致点。一致点记录然后按一致点记录格式246形成,并且附接于本地复制卷70中的本地日志202的结尾。本地日志202中的示例性一致点记录为一致点记录1,214至一致点记录X,216。一致点记录格式246包括由拦截代理器80在一致点记录形成之前所生成的最后时间戳248和最后序列号码250。
最后时间戳248和最后序列号码250指示已针对在一致点之前尚未被包括在一致点数据集合中的所有写记录形成了一致点记录。出现在该一致点和紧前一致点之间的任何写记录形成一致点数据集合。所有这样的写记录均包括小于或等于最后序列号码250的序列号码。一个一致点数据集合中的所有写记录自动地施用于远程存储设备60,以确保应用一致性。
一致点记录格式246还包括一致点(CP)头标混杂签字252、记录类型232、拦截代理器ID 234、一致点(CP)时间戳254、一致点(CP)序列号码256、混杂块开始偏移S,236、以及一致点(CP)尾标混杂签字258。根据一致点中的数据,以与头标混杂签字226和尾标混杂签字244的方式相类似的方式,来计算CP头标混杂签字252和CP尾标混杂签字258。
把写记录和一致点附接于本地复制卷70中的本地日志202的结尾。从而本地复制卷70和远程复制卷90中的盘布局包括多种属性。一致点数据集合中的写记录占据本地复制卷70和远程复制卷90中的盘空间的连续区。一致点数据集合中的每个写记录的序列号码224是连续的,并且与紧前写记录的序列号码224相比是增加的。另外,跟随一致点的初始写记录中的序列号码224从先前处理的一致点数据集合中的最后序列号码递增。
以类似于本地复制卷70的方式对远程复制卷90进行配置;因此,远程复制卷90包括与本地复制卷70相类似的盘布局和盘上的数据记录。如果远程代理器85按顺序日志扫描方式处理远程复制卷90中的日志记录,则远程代理器85可以以独立于在本地复制卷70和远程复制卷90之间复制数据的方式,抽取有效数据,以生成远程数据拷贝。
图3说明了一种把更新写至本地存储设备50和本地复制卷70的系统10的操作方法300。应用主机25之一接收对于更新的写请求(步骤305)。拦截代理器80拦截由发出请求的应用主机25传送至本地存储设备50的写请求(步骤310)。当拦截代理器80拦截每个写请求时,拦截代理器80按典型的写请求的方式把写请求发送至本地存储设备50中的存储设备(步骤315)。同时,拦截代理器80把写请求的拷贝发送至本地复制卷70(步骤320)。拦截代理器80把写请求返回到主机应用,以确认写请求的完成(步骤325),从而按握手协议把I/O操作返回给发出请求的应用主机25。
可以通过任何可用的写优化技术,例如非易失性随机存取存储器(NVRAM)或组提交(group commit)等,来优化拦截代理器80向本地复制卷70的写过程。写优化或镜像技术的选择服从于消费者对恢复点目标的需求;即,如果故障出现,消费者可以容忍多少数据损失。在实践中,只要远程数据拷贝是一致的并且可以在故障出现时迅速采取动作,则相当多的消费者偏爱低成本且高效的复制方案,并且可以容忍一定量的数据损失。例如,异步镜像展示了高效且低成本的性能。然而,传统的异步镜像存在着数据一致性问题。系统10利用了异步镜像的性能与成本优势,并且确保了远程数据拷贝的应用一致性。
为了提供应用一致性,系统10包括下列协议支持RegisterConisitencyGroup(注册一致性组)、PrepareConsistencyPoint(准备一致点)、以及CompleteConsistencyPoint(完成一致点)。当启动复制会话时,属于应用一致主机组的所有应用部件使用RegisterConisitencyGroup协议向复制协调器75注册。RegisterConisitencyGroup协议使复制协调器75能够知道应用一致主机组中涉及了哪些应用部件。
图4(图4A,4B)说明了使用PrepareConsistencyPoint协议和CompleteConsistencyPoint协议而生成一致点的过程中系统10的方法400。使用PrepareConsistencyPoint协议,复制协调器75指令应用一致主机组中的应用主机25准备一致点(步骤405)。当接收到PrepareConsistencyPoint指令时,应用主机25执行一组一致点准备任务,包括停止应用更新(步骤410)、完成过渡事务处理(步骤415)以及把写缓冲器中的数据转储(flush)至本地存储设备50(步骤420),使得可以从应用视点建立跨越所有协调部件的一致状态。这样的转储机制通常存在于应用中。应用主机25使用这些转储机制来执行一致点准备任务。
当把数据转储至本地存储设备50中时,拦截代理器80把所转储的数据写至本地复制卷70(步骤425,如图3的方法300中所描述的)。一旦应用主机25完成了一致点准备任务,则应用主机25使用CompleteConsistencyPoint协议来通知复制协调器75一致点建立(步骤430)。拦截代理器80把一致点记录写至本地复制卷70(步骤435),并且通知复制协调器75一致点记录已写(步骤440)。复制协调器75把完成了生成一致点的过程的确认返回至应用主机25(步骤445)。应用主机25返回到正常的数据处理过程(步骤450)。
图5(图5A,5B)说明了应用一致数据写至远程复制卷90并且远程代理器85把数据从远程复制卷90复制到远程存储设备60的方法500。复制协调器75把一或多个写记录和一致点记录附接至本地日志202(步骤505,如图3和图4中所描述的)。本地复制卷70的盘控制器把写记录和一致点记录复制至远程复制卷90中的远程日志204(步骤510)。远程代理器85连续地扫描远程日志204,搜寻一致点(步骤515)。如果没有发现一致点(判定步骤520),则远程代理器85暂停(步骤525),并且重复步骤515~步骤525,直至发现一致点。
当发现一致点时(判定步骤520),远程代理器85检查与所发现的一致点相关的数据记录集合中的写记录的记录格式的有效性。远程代理器85针对一组条件而每次一个地验证写记录,所述条件包括有效值边界、混杂签字、以及序列号码。远程代理器85通过判断所选择的写记录的记录格式220的每个字段中的值是否处于有效值边界内,来验证该所选择的写记录的记录格式。远程代理器85计算所选择的写记录的混杂签字,并且判断混杂签字与所选择的写记录的头标混杂签字226是否相匹配。
远程代理器85判断所选择的写记录的头标混杂签字226是否与所选择的写记录的尾标混杂签字244相匹配。远程代理器85判断所选择的写记录的序列号码224是否大于先前一致点记录的最后序列号码250;如果为否,则所选择的请求已经被处理并写至远程存储设备60。所选择的写记录,具有落入预先确定的有效边界的值,具有与所计算的混杂签字相匹配的头标混杂签字226,具有与头标混杂签字226相匹配的尾标混杂签字244,以及具有大于先前所处理的一致点中的任何序列号码的序列号码224,则被认为是有效的。如果所选择的写记录不是有效的,则该所选择的写记录为空穴。
如果发现空穴(判定步骤535),则远程代理器85暂停扫描(步骤540),并且重复步骤530~540,直至在与一致点相关的写记录中无空穴发现。在预先确定的时间延迟之后,在暂停之处恢复扫描。通常,在步骤540的暂停之后,填充空穴。如果在步骤540的暂停之后不填充空穴,则远程代理器85通知复制协调器75远程复制卷90中存在持久的空穴。复制协调器75可以例如迫使应用主机25发布填充该空穴的写过程,或声明迫使应用主机25转储缓冲器从而填充该空穴的一致点。
当一致点数据集合中的所有写记录均已到达远程复制卷90时,无空穴被发现(判定步骤535)。现在,远程代理器85已使与一致点相关的写记录生效,标识一致点更新事务处理。在一个实施例中,远程代理器85还判断一个一致点的更新是否已占据连续的日志区,以及更新的序列号码是否为连续且增加的。如果为否,则远程代理器85暂停扫描,然后从最后所处理的事务处理重新扫描。
远程代理器85把一致点更新事务处理作为原子单元写至远程存储设备60(步骤545)。即,远程代理器85不释放该一致点更新事务处理的盘空间,直至已把一致点更新事务处理中的所有写记录写至远程存储设备60。因此,在所有时刻,甚至是在发生故障的情况下,远程数据拷贝也是应用一致的。远程代理器85把完成了写过程的确认传输至本地复制卷70(步骤550)。本地复制卷70释放与一致点更新事务处理相关的空间(步骤555)。远程复制卷90释放与一致点数据集合相关的空间(步骤565)。因此,把本地复制卷70和远程复制卷90的大小设置为可容纳一到数个一致点数据集合所要求的空间,从而要求相对少的盘空间。
在一个实施例中,系统10包括一致点声明的应请求式启动。在此实施例中,根据远程代理器85的请求而触发一致点声明。在远程复制卷90已积累了至少X字节的不与一致点数据集合相关的新的写记录之后,远程代理器85选择发送针对一致点的要求。为了实现一致点声明频度的最佳范围,设置X的预先确定值。当复制协调器75接收到这样的要求时,复制协调器75与应用主机25相协调,以声明一致点。此实施例最大化了系统能力,并且最小化了对应用主机25的性能影响。
应该认识到,已经描述的本发明的具体实施例,仅说明性地描述了本发明的原理的某些应用。在不背离本发明的构思与范围的情况下,可以对此处所描述的使用远程镜像来创建数据的应用一致远程拷贝的系统与方法进行多方面的修改。
权利要求
1.一种使用远程镜像创建数据的应用一致远程拷贝的方法,包括拦截来自多个应用主机中的至少一个应用主机的写请求;把所拦截的写请求作为写记录,按写记录格式附接于本地复制卷中的本地日志;指令应用主机准备一致点;生成一致点记录,以标识包括一致点数据集合的写记录集合;把写记录和一致点记录复制至远程复制卷中的远程日志;扫描远程日志,以查找一致点记录;验证远程日志中写记录的有效性,以生成生效的一致点更新事务处理;以及把生效的一致点更新事务处理写至远程存储设备,以生成一致点数据集合的应用一致远程拷贝。
2.根据权利要求1所述的方法,其中,所述写记录格式包括下列中的任何一个或多个头标混杂签字;尾标混杂签字;请求ID;记录ID;记录类型;拦截代理器ID;时间戳;序列号码;混杂块开始偏移,S;盘块地址;以及来自写请求的数据。
3.根据权利要求2所述的方法,其中,所述记录ID由远程代理器使用来标识写记录和一致点记录。
4.根据权利要求2所述的方法,其中,所述记录类型由远程代理器使用来标识写记录和一致点记录。
5.根据权利要求2所述的方法,其中,所述序列号码顺序地增加。
6.根据权利要求2所述的方法,其中,所述混杂块开始偏移是动态且随机地生成的。
7.根据权利要求2所述的方法,其中,所述头标混杂签字和尾标混杂签字被计算为时间戳、序列号码、拦截代理器ID、以及在混杂块开始偏移,S处开始的预先确定的数目N个字节的数据的混杂值。
8.根据权利要求2所述的方法,还包括把仅附接循环日志盘布局和数据记录格式与依赖于内容的头标混杂签字和尾标混杂签字、以及唯一可验证字段相组合,以允许远程数据处理代理器以一致性保存方式来抽取数据并生成远程拷贝。
9.根据权利要求8所述的方法,其中,组合仅附接循环日志盘布局包括紧接先前所附接的记录,把记录附接于循环日志的结尾。
10.根据权利要求8所述的方法,其中,所述仅附接循环日志包括一或多个一致点数据集合。
11.根据权利要求10所述的方法,还包括在从远程复制卷中的远程日志写至远程存储器之后,删除每个一致点数据集合。
12.根据权利要求1所述的方法,其中,指令应用主机准备一致点包括应用主机停止应用更新。
13.根据权利要求1所述的方法,其中,指令应用主机准备一致点包括应用主机完成过渡事务处理。
14.根据权利要求1所述的方法,其中,指令应用主机准备一致点包括应用主机把写缓冲器中的数据转储至本地存储设备。
15.根据权利要求1所述的方法,其中,一致点记录包括下列任何一个或多个针对写记录而计算的一致点头标混杂签字;针对写记录而计算的一致点尾标混杂签字;记录类型;拦截代理器ID;一致点时间戳;一致点序列号码;混杂块开始偏移,S;一致点数据集合的最后时间戳;以及一致点数据集合的最后序列号码。
16.根据权利要求1所述的方法,其中,扫描远程日志包括查找空穴。
17.根据权利要求16所述的方法,其中,扫描远程日志包括暂停,直至填充了空穴。
18.根据权利要求1所述的方法,其中,在写生效的一致点更新事务处理之后,删除一致点数据集合中的写记录和一致点更新事务处理。
19.一种计算机程序产品,具有存储在计算机可读媒体上的多个可执行指令代码,用于使用远程镜像创建数据的应用一致远程拷贝,包括第一指令代码集合,拦截来自多个应用主机中的至少一个应用主机的写请求;第二指令代码集合,把所拦截的写请求作为写记录,按写记录格式附接于本地复制卷中的本地日志;第三指令代码集合,指令应用主机准备一致点;第四指令代码集合,生成一致点记录,以标识包括一致点数据集合的写记录集合;第五指令代码集合,把写记录和一致点记录复制至远程复制卷中的远程日志;第六指令代码集合,扫描远程日志,以查找一致点记录;第七指令代码集合,验证远程日志中的写记录的有效性,以生成生效的一致点更新事务处理;以及第八指令代码集合,把生效的一致点更新事务处理写至远程存储设备,以生成一致点数据集合的应用一致远程拷贝。
20.一种使用远程镜像创建数据的应用一致远程拷贝的系统,包括拦截代理器,用于拦截来自多个应用主机中的至少一个应用主机的写请求;所述拦截代理器还把所拦截的写请求作为写记录,按写记录格式附接于本地复制卷中的本地日志;复制协调器,指令应用主机准备一致点;所述复制协调器生成一致点记录,以标识包括一致点数据集合的写记录集合;把所述写记录和一致点记录复制至远程复制卷中的远程日志;远程代理器,扫描远程日志,以查找一致点记录;所述远程代理器验证远程日志中的写记录的有效性,以生成生效的一致点更新事务处理;以及所述远程代理器还把生效的一致点更新事务处理写至远程存储设备,以生成一致点数据集合的应用一致远程拷贝。
全文摘要
一种应用一致数据保护系统,提供了确保远程数据拷贝应用一致的应用辅助和复制技术中立的镜像。该系统包括跨越异构主机和异构存储设备协调应用主机的协调协议。该系统利用了一种盘布局和数据记录格式,使得能够使用存储设备的基础复制能力,最小化了开发成本,并且利用了消费者的投入。该系统包括应请求式一致点启动,以最小化性能影响和最大化系统资源使用率。该系统可以施用于同步和异步镜像两者,并且可以并入任何虚拟化设备。
文档编号G06F11/14GK1900914SQ200610105628
公开日2007年1月24日 申请日期2006年7月17日 优先权日2005年7月21日
发明者陈滢 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1