专利名称:用于管理存储系统之间的数据拷贝的系统和方法
技术领域:
本发明涉及用于根据拷贝关系远程拷贝对主和辅助存储单元的更新的方法、系统、和程序。
背景技术:
灾难恢复系统通常可解决两种类型的故障在单个时间点处的突然灾难性故障,或者在一段时间上的数据丢失。在第二种类型的逐步灾难中,可能会丢失对卷的更新。为了帮助恢复数据更新,可在远程位置上提供数据的拷贝。一般在应用系统将新数据写入主存储设备中时构造这样的双重或者阴影(shadow)拷贝。可以使用不同的拷贝技术来在第二个地点处维护数据的远程拷贝,这些技术诸如为国际商业机器公司(“IBM”)的扩展远程拷贝(Extended Remote Copy,XRC)、耦合XRC(Coupled XRC,CXRC)、全局拷贝(Global Copy)、和全局镜像拷贝(Global Mirror Copy)等。在IBM公开出版物IBM文档第SG24-6783-00(2005年9月)的“The IBM TotalStorageDS6000 SeriesCopy Services in Open Environments”,和IBM文档第SG24-5680-04(2004年7月)的“IBM TotalStorage EnterpriseStorage ServerImplementing ESS Copy Services with IBM eServerzSeries”中,描述了这些不同的拷贝技术。
在数据镜像系统中,依照卷对来维护数据。卷对由主存储设备中的卷和辅助存储设备中的对应卷组成,其中辅助存储设备中的对应卷包括主卷中保持的数据的相同拷贝。可以使用主存储控制器和辅助存储控制器来控制对主辅存储设备的存取。在某些备份系统中,使用了系统联合体(sysplex)计时器来提供跨越系统的统一时间,以便使由不同应用写到不同主存储设备中的更新使用一致的日时(TOD)值作为时戳。当将数据集写入到主存储设备中的卷中时,应用系统对这样的数据集加上时戳。对数据更新的完整性进行关联,以便确保在卷对中的辅助卷上进行更新的次序和在主卷上进行更新的次序相同。由应用程序提供的时戳来确定数据更新的逻辑顺序。
在诸如数据库系统之类的许多应用程序中,如果没有出现先前的写入,则某些写入不能出现;否则,数据完整性将会受到危害。其完整性取决于先前数据写入的出现这样的数据写入被称为相关写入(dependent write)。当全部写入已经按照它们的逻辑次序被传送时,即在取决于其的写入之前首先传送全部相关写入时,在主和辅助存储设备中的卷是一致的。一致性(consistency)组对于其时戳等于或者早于一致性时戳的一致性组中的所有数据写入而言具有一致性的时间。一致性组是对主卷的更新的集合,以便以一致的方式确保相关写入。一致性时间是系统保证对辅助卷的更新是一致的最新时间。一致性组跨越卷和存储设备维护数据一致性。因此,当从辅助卷中恢复数据时,所恢复的数据将会是一致的。
在一个会话内形成一致性组。所有分配给一个会话的卷对将会使它们的更新被保持在相同的一致性组中。因此,会话用于确定将被一起分组在一致性组中的卷。在日志(journal)设备或者卷内形成一致性组。把被收集用以形成一致性组的更新从日志中应用到辅助卷。如果在恢复操作期间、在更新正从日志应用到辅助卷的同时系统出故障了,则可以从日志中恢复没有完全写入到辅助卷中的更新,并且将这些更新应用到辅助卷。
客户可能想要把在辅助存储设备处镜像的、对主存储设备的更新同时还拷贝到又一个远程存储设备处,以作为在主存储设备和远程存储设备之间的远程拷贝会话的一部分。如果出现了从主存储设备到辅助存储设备的切换或者交换,则必须建立一个新的远程拷贝会话,以便将现在正在辅助存储系统处接收的更新拷贝到远程存储系统。此外,在当前系统中,如果在发生故障的主存储系统和远程地点之间的远程会话是异步的,则如果作为发生故障的结果在发生故障的主存储系统高速缓存中遗留了一些数据,则将在辅助存储地点处的所有数据完全拷贝到远程地点。
为此,在本领域中需要用于处理镜像环境中的故障的改进技术。
发明内容
提供了一种根据拷贝关系远程拷贝对主和辅助存储单元的更新的方法、系统、和程序。在分别处于第一存储系统和第二存储系统中的第一和第二存储单元之间建立第一拷贝关系,其中将对第一存储单元的更新拷贝到第二存储单元。在第一拷贝关系中的第一存储单元和第三存储系统中的第三存储单元之间建立第二拷贝关系,其中在第一位图中指示对第一存储单元的更新。在第一拷贝关系中的第二存储单元和第三存储单元之间建立暂停的(suspended)第三拷贝关系,其中在第二位图中指示对第二存储单元的更新。将更新从第一或者第二存储单元拷贝到第三存储单元,其中第一或者第二位图能够用于确定要拷贝到第三存储单元的、用于第一或者第二存储单元的更新。
在进一步的实施例中,响应于创建第一存储单元和第三存储单元之间的第二拷贝关系,而创建第二存储单元和第三存储单元之间的暂停的第三拷贝关系。当第三拷贝关系被暂停时,不将对第二存储单元的更新拷贝到第三存储单元。
在进一步的实施例中,作为一个逻辑会话来管理用于第二拷贝关系的第一会话和用于第三拷贝关系的第二会话。
在进一步的实施例中,响应于根据第二拷贝关系将第一位图中指示的更新从第一存储单元传送到第三存储单元,而向第一存储系统提供触发(toggle)命令以清除该第一位图。响应于接收到触发命令,而将该触发命令传播到第二存储系统,以清除用于暂停的第三拷贝关系的第二位图。
在进一步的实施例中,在提供给第一存储系统的触发命令上设置标记,以指示第一存储系统将该触发命令传播到第二存储系统。
在进一步的实施例中,执行切换操作,以使得在第二存储系统处接收更新,其中在第二位图中指示对第二存储系统的更新。将暂停的第三拷贝关系指示为有效的,并且将第二拷贝关系指示为暂停的。响应于指示暂停的第三拷贝关系是有效的,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元。
在进一步的实施例中,检测在第一存储系统处的故障,其中该故障导致执行切换操作。响应于检测到该故障,而暂停第二拷贝关系,以暂停将更新从第一存储单元拷贝到第二存储单元。
在进一步的实施例中,第一存储系统执行切换,以使得在第二存储单元处接收更新。第二存储系统向数据移动器系统传递指示暂停第二拷贝关系的信息。数据移动器系统指示第三拷贝关系是有效的,并且响应于指示第三拷贝关系是有效的,而将在第二位图中指示的更新从第二存储单元拷贝到第三存储单元。
在进一步的实施例中,切换操作包含第一切换操作。响应于确定第一存储系统被恢复了,而执行第二切换操作。响应于执行第二切换操作,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元。将有效的第三拷贝关系指示为暂停的,并且将第二拷贝关系指示为有效的。在第一存储单元处接收更新,然后根据第一拷贝关系将其从第一存储单元拷贝到第二存储单元。
在进一步的实施例中,接收用于将第一存储单元和第二存储单元添加到第一拷贝关系中的命令,其中将对所添加的第一存储单元的更新拷贝到所添加的第二存储单元。将所添加的第一存储单元和相应的第三存储单元添加到第二拷贝关系中,其中当第二拷贝关系有效时,将对所添加的第一存储单元的更新拷贝到相应的第三存储单元。将所添加的第二存储单元和相应的第三存储单元添加到暂停的第三拷贝关系中。
在进一步的实施例中,接收用于从第一拷贝关系中删除第一存储单元和第二存储单元的命令,其中不将对所删除的第一存储单元的更新拷贝到所删除的第二存储单元。响应于该删除命令,从第二拷贝关系中删除所删除的第一存储单元,其中不将对所删除的第一存储单元的更新拷贝到第三存储单元。响应于该删除命令,将所删除的第二存储单元从暂停的第三拷贝关系中删除。
图1说明了网络计算环境的实施例。
图2说明了在主和辅助存储单元以及第三存储单元之间建立拷贝关系的操作的实施例。
图3说明了将更新从主或者辅助存储单元拷贝到第三存储单元的操作的实施例。
图4说明了在主存储系统上处理触发命令的操作的实施例。
图5说明了响应于主存储系统处的故障而进行切换、以便将更新发送到辅助存储系统的操作的实施例。
图6说明了将主存储单元和相应的辅助存储单元添加到主和辅助存储设备之间的拷贝关系中的操作的实施例。
具体实施例方式
图1说明了网络计算环境的实施例。网络2包括存储系统4a、4b、4c(也称为控制单元或者存储控制器);存储设备6a、6b、6c;系统数据移动器(SDM)8,其用于对更新从主存储系统4a到第三存储系统4c的拷贝进行管理;主机14,其将更新写入到主存储设备6a或者辅助存储设备6b中;以及监控器程序16,用于监控在主存储系统4a的可用性方面的故障。部件4a、4b、4c、6a、6b、6c、8、10、14、和16连接到网络2,而且网络2允许在这些部件当中进行通信。网络2可以包括一个或多个交换机,以在网络2的不同单元之间提供一条或多条通信路径。如图1所示,可以在诸如主机之类的、在其它系统之外的一个系统中实现监控器16。作为选择,监控器6可以在系统4a、4b、4c和8之一中实现。
可以被维护在主存储系统4a和辅助存储系统4b中的第一拷贝关系30将主存储设备6a中的主存储单元和辅助存储设备6b中的相应辅助存储单元相关联,以便将对主存储设备6a的单元的更新拷贝到相应的辅助存储设备6b的单元处。在将对主存储设备6a的单元的更新写入到主存储设备6a中之前,可以将该更新拷贝到相应的辅助存储设备6b的单元。第二拷贝关系32将主存储单元和第三存储设备6c中的相应第三存储单元相关联,而第三拷贝关系34将与主存储单元相对应的辅助存储单元和第三存储设备6c中的第三存储单元相关联。通过第二拷贝关系32和第三拷贝关系34将主存储单元和相关联的辅助存储单元关联到相同的相应第三存储单元,以便将对主存储单元或者根据第一拷贝关系的相关联的辅助存储单元的更新拷贝到相同的相应第三存储单元。在一个实施例中,第一拷贝关系30包含对等拷贝关系,其中主和辅助存储设备6a、6b处于邻近的位置,而且第二拷贝关系32和第三拷贝关系34包含远程拷贝关系,其中第三存储设备6c可能距离主和辅助存储设备6a、6b相当大的距离,例如一千或更多英里。可以由SDM 8维护有关第二拷贝关系32和第三拷贝关系34的信息。第一拷贝关系30、第二拷贝关系32、和第三拷贝关系34可以包含多个拷贝关系,其中一个拷贝关系用于一个或多个存储单元对(例如,主和辅助存储单元对、主和第三存储单元对、以及辅助和第三存储单元对)。作为选择,可以通过单个拷贝关系来维护这些对之间的关系。
主机14包括操作系统18以及用于将更新写入到主存储设备6a或者辅助存储设备6b中的应用20。主存储系统4a和辅助存储系统4b包括存储管理软件22a和22b,用以管理数据镜像操作。分别在第一位图24a和第二位图24b中指示对主存储设备6a和辅助存储设备6b的更新。当SDM 8将位图24a或者24b中所指示的更新拷贝到第三存储设备4c中的相应第三存储单元时,清除位图24a和24b。第三存储系统4c包括存储管理代码22c,用于相对于从主存储系统4a或者辅助存储系统4b接收的更新执行存储管理关联。
系统数据移动器(SDM)程序8存取对主(第一)存储设备6a或者辅助(第二)存储设备6b的更新,并且形成对主存储设备6a或者辅助存储设备6b的更新的一致性组,以便将其写入到第三存储设备6c中的相应第三存储单元处。在主存储系统4a和辅助存储系统4b处,可以将更新写入到高速缓存中的侧文件(side file)中。然后可以将更新传送到由SDM 8所维护的日志10。在日志10内,将更新整理为一致性组。日志10可以存储一个或多个一致性组。一致性组对于在其时戳等于或者早于一致性时戳的一致性组中的所有数据写入具有一致性时间。一致性组是对主卷的更新的集合,以便以一致的方式确保相关写入。一致性时间是系统保证对辅助卷的更新是一致的最新时间。一致性组跨越卷和存储设备维护数据一致性。因此,当从辅助卷中恢复数据时,所恢复的数据将会是一致的。
在一个会话内形成一致性组。会话可以包含由SDM 8管理的卷对的操作。在所描述的实施例中,会话包含主存储设备6a中的主存储单元(例如,卷)或者辅助存储设备6b中的辅助存储单元(例如,卷)以及第三存储设备6c中的相应第三存储单元。可以作为单个逻辑会话来管理用于在主存储单元和第三存储单元之间的卷对和在辅助存储单元和第三存储单元之间的卷对的第二和第三拷贝关系32和34的会话(其中主和辅助存储单元对应于第一拷贝关系)。所有分配给一个会话的卷对将使它们的更新维护在同一个一致性组中。因此,会话用于确定将被一起分组在一致性组中的卷。如果在恢复操作期间在将(对主存储设备6a或者辅助存储设备6b的)更新从日志10应用到第三存储设备6c的同时系统出现故障了,则可以从日志10中恢复没有完全写入到第三存储设备6c中的更新,并且将其应用到第三存储设备6c。
SDM 8可以包含在主机系统中实现的程序,该主机系统可以处于第三存储系统4c的地点处,或者在第一存储系统4a和第二存储系统4b的地点处。
监控器程序16可以监控主存储系统4a,并且当检测到故障事件时,可以导致交换操作以便使更新从主机14发送到辅助存储设备系统4b。
存储系统4a、4b、4c可以包含诸如IBM Enterprise StorageServer(ESS)之类的企业存储服务器。管理第一拷贝关系30的存储管理代码22a、22b可以使用诸如对等远程拷贝(PPRC)程序之类的同步拷贝操作实现。PPRC程序的一个示例是IBM GeographicallyDispersed Parallel Sysplex(GDPS)/PPRC拷贝程序,其允许将对主存储设备6a的更新切换到辅助存储设备6b。SDM 8和存储管理代码22a、22b、和22c可以实现异步的远程拷贝操作。异步远程拷贝程序的一个示例是IBM GDPS/XRC程序,其中将对主存储设备6a或者辅助存储设备6b的更新镜像到第三存储设备6c中的相应单元。可以利用其它全局恢复程序来实现所描述的操作。
网络2可以包含存储区域网络(SAN)、局域网(LAN)、内部网、互联网、广域网(WAN)、对等网络、无线网络、判优环状网络等。存储设备6a、6b、6c可以包含存储设备阵列,诸如仅仅一串盘(Just a Bunch of Disks,JBOD)、直接存取存储设备(DASD)、独立盘冗余阵列(RAID)阵列、虚拟化设备、磁带存储设备、闪速存储设备等。
图2说明了由用户(在块100)启动以实现用于主和辅助存储系统的远程备份拷贝环境的操作。调用存储管理代码22a、22b,以便建立(在块102)在分别位于第一存储系统和第二存储系统中的第一和第二存储单元之间的第一拷贝关系30。作为诸如同步拷贝操作之类的、第一种类型拷贝操作的一部分,将对第一存储单元的更新拷贝到第二存储单元。在第一拷贝关系30中的第一存储设备6a的单元和第三存储系统中的第三存储设备6c的单元之间建立第二拷贝关系32(在块104)。在第一位图24a中指示对第一存储单元的更新。在第一拷贝关系30中的第二存储设备6b的单元和第三存储设备6c的单元之间建立暂停的第三拷贝关系34(在块106)。在第二位图24b中指示对第二存储设备6b的单元的更新。可以由存储管理代码22a、22b或者用于实现异步远程拷贝操作的SDM 8代码执行块104和106处的操作。在一个实施例中,可以响应于创建主和辅助存储单元之间的第一拷贝关系,而自动地创建第二拷贝关系32和第三拷贝关系34。
图3说明了当把对主存储设备6a或者辅助存储设备6b的更新拷贝到第三存储设备6c时,可以由SDM 8执行的操作的实施例。一旦在日志10中缓冲了更新或者将更新实际拷贝到第三存储系统4c,就可以执行图3中的操作。拷贝到第三存储设备6c上的、对主存储设备6a或者辅助存储设备6b的更新可以被保持在高速缓存中,并在以后的时间上降级到第三存储设备6c中。响应于启动(在块150)远程拷贝操作,SDM 8确定(在块152)第二拷贝关系32是否有效,其中第二拷贝关系32有效意味着第三拷贝关系34是暂停的。如果(在主存储设备6a和第三存储设备6c之间的)第二拷贝关系32无效且(在辅助存储设备6b和第三存储设备6c之间的)第三拷贝关系34是有效的(在块152),则SDM 8将在第二位图24b中指示的更新从辅助存储单元6b拷贝到第三存储单元6c(在块154)。SDM 8还发送(在块156)触发命令到辅助存储系统4b,以清除指示更新的第二更新位图24b。如果第二拷贝关系是有效的(在块152),则SDM 8根据第二拷贝关系,将在第一位图24a中指示的、对主存储单元的更新拷贝(在块158)到相应的第三存储单元。如果存在用于与第二拷贝关系32相同的会话的无效的(第三)拷贝关系34(在块160),则SDM 8将触发命令发送(在块162)到主存储系统4a,该触发命令中设置了传播标记,以使得主存储系统4a将该触发命令转发到辅助存储系统4b以便清除用于暂停的会话的第二位图24b。否则,如果没有用于与有效的第二拷贝关系32相同会话的第三暂停的拷贝关系34(在块160),则SDM将触发命令发送(在块164)到主存储系统4a而不设置传播标记。
在一个实施例中,存在用于存储设备6a和6b中的每个卷的两个位图,即“n”和“n-1”位图。在从主机14对主存储设备6a的卷进行更新时,在“n”位图中为所修改的轨道位置将某一位设置为一。在将相同的更新发送到作为第一拷贝关系30的一部分的相应辅助存储设备6b的卷时,诸如象为主存储设备6a的卷所执行的操作那样,在辅助存储系统的卷“n”位图中将某一位设置为“一”。SDM 8发送作为用于主存储设备6a的卷的第二拷贝关系32的一部分的触发命令(假定一直还没有出现故障)。这个触发命令导致主存储设备6a的卷“n”位图将其内容传送给“n-1”位图,然后清除该“n”位图。如果设置了传播标记,则主存储系统4a将该触发命令发送到辅助存储系统4b以执行相同的触发功能。在其中第二拷贝关系32是异步拷贝操作、而且在主存储系统4a的高速缓存中可能有还没有被记入日志但是在位图中标注了的更新的实施例中,使用了这个用于每个卷的双位图设计。将在出现故障转移(failover)期间使用“n-1”位图中的这个信息,以便把先前已经被更新但是还没有由SDM 8传送到日志10的数据从辅助存储设备4b的卷发送到第三存储设备4c的卷。
图4说明了分别由主和辅助存储管理代码22a和22b执行以处理来自SDM 8的触发命令的操作的实施例。在存储管理代码22a在主存储系统4a处收到(在块200)触发命令时,存储管理代码22a清除(在块202)第一位图24a。如果存储管理代码22a确定在所接收的触发命令中设置了传播标记(在块204),则存储管理代码22a将该触发命令发送(在块206)到第二存储系统4b;否则,控制结束。响应于对触发命令的接收,第二存储系统4b清除第二更新位图24b。
在其中每个卷有两个位图、例如“n”和“n-1”位图的实施例中,把“n-1”位图中指示的、还没有被SDM 8日志记录到日志10中的更新从辅助存储设备6b拷贝到第三存储设备6c。此外,利用这个实施例,通过仅仅拷贝在第二和第三存储设备之间不同步的数据(其是由用于辅助存储设备6b的“n”和“n-1”位图所表示的数据),第三拷贝关系变为完全可操作的,即双向的。
图5说明了用于处理在需要交换到辅助存储系统4b的主存储系统4a处的错误事件的操作的实施例。错误事件可以包含主存储系统4a中的故障或者在主存储系统4a处的网络2的连接中的故障。检测在主存储系统4a处的故障(在块250)。可以由监控器部件16或者由SDM 8检测该故障。在检测到故障时,发出(在块252)用于第一拷贝关系30的故障转移(failover)(或者执行某些其它动作),以使得主机20将进一步的更新写入到辅助存储设备6b而不是主存储设备6a中。监控器代码16可以向SDM 8进行通信以通知(在块254)主存储系统4a已经出故障了或者第二拷贝关系32被暂停了。作为选择,SDM 8可以在从监控器代码16接收这种故障的指示之前获悉主存储系统4a的故障(或者第二拷贝关系32的暂停)。响应于对第一存储系统4a已经出故障了的确定(或者与来自监控器16的通信无关地,或者响应于该通信),SDM 8指示(在块256)第二拷贝关系32为暂停的且第三拷贝关系34为有效的。
图6说明了用于将被添加到在主和辅助存储单元之间的第一拷贝关系30中的存储单元(例如,卷)添加到第二拷贝关系32和第三拷贝关系34中的操作的实施例。可以响应于接收到存储单元被添加到第一拷贝关系中的指示,而由SDM 8自动地执行图6中的操作,或者可以响应于用户调用而执行图6中的操作。响应于用户或者存储管理代码22a、22b将主存储单元和相应的辅助存储单元添加(在块300)到第一拷贝关系30中,调用(在块302)(自动地或者通过用户调用来进行)SDM 8以将所添加的主存储单元和相应的第三存储单元添加到第二拷贝关系32中。如果存在用于与第二拷贝关系32相同会话的暂停的第三拷贝关系(在块304),则SDM 8将所添加的辅助存储单元和相应的第三存储单元添加(在块306)到暂停的第三拷贝关系中。以这种方式,主存储设备6a和辅助存储设备6b之间的拷贝关系将彼此镜像到相同的相应第三存储设备6c的单元中。如果在辅助存储设备6b和第三存储设备6c之间没有第三拷贝关系34(在块304),则控制结束。
可以应用图6中的逻辑来从第一拷贝关系30中删除主和辅助存储单元(例如,卷)对,其中从第二拷贝关系32和第三拷贝关系34中删除相应的主和辅助存储单元以及相应的第三存储单元。
在进一步的实施例中,当主存储系统4a恢复时可以执行故障恢复(failback)操作。在故障恢复的情况下,将更新从辅助存储设备6b拷贝到主存储设备6a,并且发布禁止操作(quiesce)以停止将更新发送到第二存储设备6b的单元,并暂停第三拷贝关系34。此外,重新激活第一拷贝关系30,以允许将更新从主存储设备6a拷贝到辅助存储设备6b,并且激活第二拷贝关系32以允许将更新拷贝到第三存储设备6c。
所描述的实施例提供了这样的技术,其允许通过从使主存储系统4a向第三存储设备6c提供更新切换到使有效的辅助存储系统4b向第三存储系统4c提供更新,来完成到辅助存储设备的故障转移或者切换,以便即使主存储系统4a出现故障,也可让第三存储系统4c保持更新是当前的。此外,因为通过让第二更新位图24b维持更新的当前反映来维持暂停的第三拷贝关系,所以可以通过使暂停的第三拷贝关系有效而立即进行在第三存储系统处的镜像。在某些实施例中,SDM8维持同一逻辑会话中的第二和第三拷贝关系部分,以便SDM 8可以容易地确定当从主存储系统4a切换到辅助存储系统4b时要使用的拷贝关系,并且反之亦然。更进一步地,通过仅仅拷贝在第二和第三存储设备之间不同步的数据而不是拷贝全部数据,第三拷贝关系可以变为可操作的,即双向的。以这种方法,触发保持第二位图24b是最新的,以便在可以使用第三拷贝关系之前、可使用该第二位图24b来仅仅将已改变的数据拷贝到第三存储设备以进行同步。
补充实施例细节所描述的操作可以被实现为使用标准的编程和/或工程设计技术来产生软件、固件、硬件、或它们的任意组合的方法、设备或者制品。所描述的操作可以被实现为在“计算机可读介质”中保持的代码,其中处理器可以从该计算机可读介质中读取并执行代码。计算机可读介质可以包含诸如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储设备(CD-ROM、DVD、光盘等)、易失和非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程序逻辑等)等之类的介质。可以用硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)进一步实现用于实现所述操作的代码。更进一步地,可以用“传输信号”实现用于实现所述操作的代码,其中该传输信号可以通过空间传播或者通过诸如光纤、铜线等之类的传输介质进行传播。其中编码了代码或逻辑的传输信号还可以包含无线信号、卫星传输、无线电波、红外信号、蓝牙等。其中编码了代码或逻辑的传输信号能够通过发送站传输并且由接收站接收,其中在该传输信号中编码的代码或逻辑可以在接收和发送站或设备处被解码并存储在硬件或者计算机可读介质中。“制品”包含其中可以实现代码的计算机可读介质、硬件逻辑、和/或传输信号。其中编码了用于实现所述操作实施例的代码的设备可以包含计算机可读介质或者硬件逻辑。当然,本领域的技术人员将会认识到,可以对这个配置进行许多修改而不背离本发明的范围,而且该制品可以包含本领域中已知的适当的信息承载介质。
除非明确说明,否则术语“一实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”、以及“一个实施例”意指本发明(一个或多个)中的一个或多个(而不是全部)实施例。
除非明确说明,否则术语“包括”、“包含”、“具有”及它们的变体意指“包括但不局限于”。
除非明确说明,否则项目的列举列表不暗指任何这些项目或者全部项目是互斥的。
除非明确说明,否则术语“一”和“该”意指“一个或者多个”。
除非明确说明,否则彼此进行通信的设备不必彼此连续通信。此外,彼此进行通信的设备可以直接地或者通过一个或多个中间方进行通信。
对具有几个部件彼此通信的实施例的描述不意味着需要所有这样的部件。相反,描述了各种可选的部件以说明本发明的可能实施例的大量变体。
此外,虽然处理步骤、方法步骤、算法等可以按照顺序次序进行描述,但是这样的处理、方法和算法可以被配置为以替换的次序工作。换句话说,任何描述的步骤顺序或者次序未必指示步骤需要以该次序执行。此处描述的处理步骤可以按照任何实际的次序执行。此外,一些步骤可以同时执行。
当此处描述了单个设备或者物品时,显然可以得知,可以使用一个以上的设备/物品(无论它们是否协作)来代替单个设备/物品。类似地,当在此处描述了一个以上的设备或者物品(无论它们是否协作)时,显然可以得知,可以使用单个设备/物品来代替该一个以上的设备或者物品,或者可以使用不同数目的设备/物品来代替所示数目的设备或者程序。设备中的功能和/或特征可以作为选择由一个或多个没有被明确描述为具有这样的功能/特征的其它设备所实现。因此,本发明的其它实施例不必包括该设备本身。
图2-6中所述的操作示出了以某个次序出现的某些事件。在替换实施例中,可以按照不同的次序执行某些操作,或者修改或删除某些操作。此外,可以将步骤添加到上述逻辑中并仍然符合所述实施例。此外,此处描述的操作可以顺序地发生,或者某些操作可以被并行地处理。此外,操作可以由单个处理单元或者由分布式处理单元所执行。
为了说明和描述的目的,已经给出了本发明的各种实施例的上述描述。其并不是穷举的,并且也不打算将本发明限制为所公开的精确形式。根据上述示教,许多修改和改变都是可能的。本发明的范围不受该详细说明的限制,而是由所附的权利要求书所限定。上述说明书、示例和数据提供了对制造和使用本发明的组成部分的完整描述。因为可以构造本发明的许多实施例而不背离本发明的精神和范围,所以本发明存在于所附的权利要求中。
权利要求
1.一种与网络进行通信的系统,包含第一存储系统;第二存储系统;第三存储系统,其中第一、第二和第三存储系统经由网络进行通信;至少一个计算机可读介质,其包括被执行用以执行操作的代码,所述操作包含在分别处于第一存储系统和第二存储系统中的第一和第二存储单元之间建立第一拷贝关系,其中将对所述第一存储单元的更新拷贝到所述第二存储单元;在所述第一拷贝关系中的第一存储单元和第三存储系统中的第三存储单元之间建立第二拷贝关系,其中在第一位图中指示对所述第一存储单元的更新;在所述第一拷贝关系中的第二存储单元和所述第三存储单元之间建立暂停的第三拷贝关系,其中在第二位图中指示对所述第二存储单元的更新;以及将更新从所述第一或者第二存储单元拷贝到所述第三存储单元,其中所述第一或者第二位图能够用来确定要拷贝到所述第三存储单元的用于所述第一或者第二存储单元的更新。
2.如权利要求1所述的系统,其中,响应于创建所述第一存储单元和第三存储单元之间的第二拷贝关系,而创建所述第二存储单元和第三存储单元之间的暂停的第三拷贝关系,以及其中,当所述第三拷贝关系被暂停时,不将对所述第二存储单元的更新拷贝到所述第三存储单元。
3.如权利要求1所述的系统,其中所述操作还包含作为一个逻辑会话,管理用于所述第二拷贝关系的第一会话和用于所述第三拷贝关系的第二会话。
4.如权利要求1所述的系统,其中所述操作还包含响应于根据第二拷贝关系把第一位图中指示的更新从第一存储单元传送到第三存储单元,而向所述第一存储系统提供触发命令,以清除所述第一位图;以及响应于接收到该触发命令,而将该触发命令传播到所述第二存储系统,以清除用于暂停的第三拷贝关系的第二位图。
5.如权利要求4所述的系统,其中所述操作还包含在提供给所述第一存储系统的触发命令上设置标记,以指示第一存储系统将该触发命令传播到第二存储系统。
6.如权利要求1所述的系统,其中所述操作还包含执行切换操作,以使得在第二存储系统处接收更新,其中在所述第二位图中指示对所述第二存储系统的更新;指示所述暂停的第三拷贝关系为有效的,并且指示所述第二拷贝关系为暂停的;以及响应于指示所述暂停的第三拷贝关系是有效的,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元。
7.如权利要求6所述的系统,其中所述操作还包含检测在第一存储系统处的故障,其中所述故障导致执行所述切换操作;响应于检测到该故障,而暂停第二拷贝关系,以暂停将更新从第一存储单元拷贝到第二存储单元。
8.如权利要求6所述的系统,其中,所述第一存储系统执行切换,以使得在第二存储单元处接收更新,其中所述操作还包含利用第二存储系统向数据移动器系统传递指示第二拷贝关系被暂停了的信息,其中所述数据移动器系统指示第三拷贝关系是有效的,并且响应于指示第三拷贝关系是有效的,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元。
9.如权利要求6所述的系统,其中,所述切换操作包含第一切换操作,其中所述操作还包含响应于确定第一存储系统被恢复了,而执行第二切换操作;响应于执行第二切换操作,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元;以及指示有效的第三拷贝关系为暂停的,并且指示第二拷贝关系为有效的,其中在第一存储单元处接收更新,然后根据第一拷贝关系将更新从第一存储单元拷贝到第二存储单元。
10.一种方法,包含在分别处于第一存储系统和第二存储系统中的第一和第二存储单元之间建立第一拷贝关系,其中将对所述第一存储单元的更新拷贝到所述第二存储单元;在所述第一拷贝关系中的第一存储单元和第三存储系统中的第三存储单元之间建立第二拷贝关系,其中在第一位图中指示对所述第一存储单元的更新;在所述第一拷贝关系中的第二存储单元和所述第三存储单元之间建立暂停的第三拷贝关系,其中在第二位图中指示对所述第二存储单元的更新;以及将更新从所述第一或者第二存储单元拷贝到所述第三存储单元,其中所述第一或者第二位图能够用来确定要拷贝到所述第三存储单元的、用于所述第一或者第二存储单元的更新。
11.如权利要求10所述的方法,其中,响应于创建所述第一存储单元和第三存储单元之间的第二拷贝关系,而创建所述第二存储单元和第三存储单元之间的暂停的第三拷贝关系,以及其中,当所述第三拷贝关系被暂停时,不将对所述第二存储单元的更新拷贝到所述第三存储单元。
12.如权利要求10所述的方法,还包含作为一个逻辑会话,管理用于所述第二拷贝关系的第一会话和用于所述第三拷贝关系的第二会话。
13.如权利要求10所述的方法,还包含响应于根据第二拷贝关系将第一位图中指示的更新从第一存储单元传送到第三存储单元,而向所述第一存储系统提供触发命令,以清除所述第一位图;以及响应于接收到触发命令,而将该触发命令传播到所述第二存储系统,以清除用于暂停的第三拷贝关系的第二位图。
14.如权利要求13所述的方法,还包含在提供给所述第一存储系统的触发命令上设置标记,以指示第一存储系统将该触发命令传播到第二存储系统。
15.如权利要求10所述的方法,还包含执行切换操作,以使得在第二存储系统处接收更新,其中在所述第二位图中指示对所述第二存储系统的更新;指示所述暂停的第三拷贝关系为有效的,并且指示所述第二拷贝关系为暂停的;以及响应于指示所述暂停的第三拷贝关系是有效的,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元。
16.如权利要求15所述的方法,还包含检测在第一存储系统处的故障,其中所述故障导致执行所述切换操作;响应于检测到该故障,而暂停第二拷贝关系,以暂停将更新从第一存储单元拷贝到第二存储单元。
17.如权利要求15所述的方法,其中,所述第一存储系统执行切换以使得在第二存储单元处接收更新,所述方法还包含利用第二存储系统向数据移动器系统传递指示第二拷贝关系被暂停了的信息,其中所述数据移动器系统指示第三拷贝关系是有效的,并且响应于指示第三拷贝关系是有效的,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元。
18.如权利要求15所述的方法,其中,所述切换操作包含第一切换操作,而且该方法还包含响应于确定第一存储系统被恢复了,而执行第二切换操作;响应于执行第二切换操作,而将第二位图中指示的更新从第二存储单元拷贝到第三存储单元;以及指示有效的第三拷贝关系为暂停的,并且指示第二拷贝关系为有效的,其中在第一存储单元处接收更新,然后根据第一拷贝关系将更新从第一存储单元拷贝到第二存储单元。
19.如权利要求10所述的方法,还包含接收用于将第一存储单元和第二存储单元添加到第一拷贝关系中的命令,其中将对所添加的第一存储单元的更新拷贝到所添加的第二存储单元;将所添加的第一存储单元和相应的第三存储单元添加到第二拷贝关系中,其中当第二拷贝关系有效时,将对所添加的第一存储单元的更新拷贝到相应的第三存储单元;以及将所添加的第二存储单元和相应的第三存储单元添加到暂停的第三拷贝关系中。
20.一种制品,包括用于执行上述方法权利要求中的任何一种方法的代码。
全文摘要
提供了一种用于管理存储系统之间的数据拷贝的方法、系统和程序。在分别处于第一存储系统和第二存储系统中的第一和第二存储单元之间建立第一拷贝关系,其中将对第一存储单元的更新拷贝到第二存储单元。在第一拷贝关系中的第一存储单元和第三存储系统中的第三存储单元之间建立第二拷贝关系,其中在第一位图中指示对第一存储单元的更新。在第一拷贝关系中的第二存储单元和所述第三存储单元之间建立暂停的第三拷贝关系,其中在第二位图中指示对第二存储单元的更新。将更新从第一或者第二存储单元拷贝到第三存储单元,其中第一或者第二位图能够用于确定要拷贝到第三存储单元的、用于第一或者第二存储单元的更新。
文档编号G06F12/00GK101038565SQ20071000723
公开日2007年9月19日 申请日期2007年1月25日 优先权日2006年3月17日
发明者罗伯特·弗雷德里克·科恩, 利萨·J.·纲迪, 艾伦·乔治·麦克卢尔, 戴维·B.·彼德森, 盖尔·安德里亚·斯匹尔, 格里高里·艾德华·迈克布里奇, 肯尼思·韦恩·博伊德, 尼尔斯·T.·卡文, 沃伦·K.·斯坦利, 威廉·弗朗克·米卡 申请人:国际商业机器公司