用于从主存储卷的故障中恢复的方法和系统的制作方法

文档序号:6547415阅读:169来源:国知局
用于从主存储卷的故障中恢复的方法和系统的制作方法
【专利摘要】主存储控制器从主机接收输入/输出(I/O)命令,其中主机时间戳与所述I/O命令相关联。在存储卷到辅助存储控制器的镜像期间,所述主存储控制器将与所述I/O命令相关联的所述主机时间戳传送到所述辅助存储控制器,其中所述存储卷的镜像副本至少基于所述主机时间戳和自上次主机I/O命令以来的经过时间来加时间戳。通过使用存储卷的加有时间戳的镜像副本,从主存储控制器中的存储卷中的一个或多个存储卷的故障中进行恢复。
【专利说明】用于从主存储卷的故障中恢复的方法和系统

【技术领域】
[0001]实施例涉及通过使用以主机时间戳维护的镜像数据来从主存储卷的故障中恢复。

【背景技术】
[0002]某些类型的数据镜像提供两个站点之间的远距离的数据复制以用于业务连续性和灾难恢复。这种数据镜像可以在远距离的两个站点之间提供低至1-5秒或更少的恢复点目标(RPO),这对主站点处的应用有微小的或没有性能影响。这种镜像异步地复制数据,并且还以常规间隔形成一致性群组,从而允许应用的完全恢复。
[0003]在某些情况下,这种镜像可以通过远距离的异步远程复制和时间点复制的组合来实现。在异步远程复制中,将存储卷从主存储控制器异步复制到辅助存储控制器。一旦在异步远程复制期间形成一致性群组,就在辅助存储控制器中执行时间点复制操作。时间点复制是对所定义的包含数据在它出现在单个时间点时的镜像的数据汇集的完全可用副本。该副本被认为已在该时间点处逻辑上发生。只要结果是该数据在它出现在该时间点时的一致性副本,实施方式就可以在其它时间执行该副本的部分或全部。


【发明内容】

[0004]提供了一种方法、系统和计算机程序,其中,主存储控制器从主机接收输入/输出(I/O)命令,其中主机时间戳与所述I/O命令相关联。在存储卷到辅助存储控制器的镜像期间,所述主存储控制器将与所述I/o命令相关联的所述主机时间戳传送到所述辅助存储控制器,其中所述存储卷的所述镜像副本至少基于所述主机时间戳和自上次主机I/o命令以来的经过时间来加时间戳。通过使用所述存储卷的加有时间戳的镜像副本,从所述主存储控制器中的所述存储卷中的一个或多个存储卷的故障中进行恢复。
[0005]在某些实施例中,所述主机中的时钟和所述主存储控制器指示不同的时间。
[0006]在进一步的实施例中,相比于具有仅基于所述主存储控制器的时钟的时间戳,当所述镜像副本至少基于所述主机时间戳来加时间戳时,从所述主存储控制器的故障中恢复是更快的。
[0007]在再进一步的实施例中,所述镜像包括从所述主存储控制器到所述辅助存储控制器的异步复制操作以形成一致性群组,以及响应于在所述辅助存储控制器中形成一致性群组的同步时间点复制操作。
[0008]在附加实施例中,对所述存储卷的所述镜像副本加时间戳还基于包括在所述主存储控制器中测量的所述经过时间的误差的漂移,并且其中由所述主存储控制器指示的时间被传送到所述辅助存储控制器。
[0009]在进一步的实施例中,所述主机未被查询以确定所述主机上的时间,并且所述主机的所述时间是通过与所述I/o命令相关联的所述主机时间戳来提供的。

【专利附图】

【附图说明】
[0010]现在参照附图,其中自始至终同样的附图标记表示对应的部件:
[0011]图1示出根据某些实施例的包括与辅助存储控制器成镜像关系的主存储控制器的计算环境的框图;
[0012]图2示出根据某些实施例的说明如何在数据镜像期间生成异步远程副本和时间点副本以及如何施加时间戳的框图;
[0013]图3示出根据某些实施例的说明如何将主机时间戳与I/O操作相关联以及镜像会话如何指示哪个主机拥有该镜像会话的框图;
[0014]图4示出根据某些实施例的说明第一操作的流程图;
[0015]图5示出根据某些实施例的说明第二操作的流程图;
[0016]图6示出根据某些实施例的说明如何对时间点副本加时间戳的框图;
[0017]图7示出根据某些实施例的说明第三操作的流程图;
[0018]图8示出根据某些实施例的说明可以包括在图1的主存储控制器或辅助存储控制器或任一主机中的某些元件的计算系统的框图。

【具体实施方式】
[0019]在下面的描述中,参照构成说明书的一部分并且示出几个实施例的附图。应当理解,可以利用其它实施例并且可以进行结构和操作上的改变。
[0020]主机与主存储控制器之间的不匹配时间
[0021 ] 在某些实施例中,与主存储控制器交互的主机可以指示不同于该主存储控制器所指示时间的时间。在某些情况下,由辅助存储控制器存储的备份副本(即,该主存储控制器中存储的数据的镜像副本)可以以主存储控制器的时钟所指示的时间来加时间戳。如果镜像副本以主存储控制器的时钟所指示的时间来加时间戳,则在灾难恢复方案的情况下,主机可能不能从镜像副本上的时间戳确定从哪个时间点执行已经丢失的I/o操作。结果是,灾难恢复可要求检查存储已经被执行的I/o操作的日志文件。
[0022]在某些实施例中,对辅助存储控制器中存储的数据的镜像副本加时间戳,以提供主机时间的指示而不是辅助存储控制器时间。在这些实施例中,由于主机知道I/o操作不得不再次从其执行的时间,因此从数据的镜像副本进行灾难恢复明显更快。
[0023]示例性实施例
[0024]图1示出根据某些实施例的包括与辅助存储控制器104成镜像关系的主存储控制器102的计算环境100的框图。
[0025]根据某些实施例,主存储控制器102被耦合到多个主机106a…106η,并且辅助存储控制器104被耦合到多个主机108a…108m。
[0026]存储控制器102、104和主机106a…106n、108a…108m可以包括任何适当的计算设备,包括本领域中目前已知的计算设备,诸如个人计算机、工作站、服务器、大型机、手持计算机、掌上计算机、电话设备、网络家电、刀片式计算机等。主存储控制器102可以被耦合到存储设备110并且辅助存储控制器104可以被耦合到存储设备112,其中,这些存储设备可以包括任何适当的存储设备,包括本领域中目前已知的存储设备,诸如磁盘、光盘、磁带等。在某些实施例中,主机106a…106n、108a...108m、存储控制器102、104和存储设备110、112可以通过网络耦合,诸如因特网、内联网、存储区域网、局域网等。
[0027]主存储控制器102和辅助存储控制器104可以控制多个存储卷,其中,这些存储卷是存储设备110、112中维护的物理存储的逻辑表示。这些存储卷中存储的数据可以以磁道、区段或一些其它存储单位来表示。
[0028]辅助存储控制器102包括存储镜像应用116,其中该存储镜像应用还可以被称为镜像应用。
[0029]在某些实施例中,主机106a可以将标记有时间戳118的I/O操作发送到主存储控制器102,以执行由主存储控制器102控制的对存储卷的I/O操作(例如,读取或写入)。存储镜像应用116可以通过将存储卷从主存储控制器102异步复制到辅助存储控制器104来执行存储镜像。异步复制意味着存储卷到辅助存储控制器104的复制并未等待主机I/O操作在复制之前完成,即,存储卷从主存储控制器102到辅助存储控制器104的复制独立于主机I/O操作的完成。
[0030]在某些实施例中,当一致性群组在辅助存储控制器104中于一时间点形成时,辅助存储控制器104执行时间点复制应用122以同步复制一致性群组的存储卷。数据恢复可以从一致性群组形成时的时间点处的一致性群组的存储卷来实现。形成一致性群组以防止来自主机106a的无序写入在异步复制120期间创建存储卷的不一致副本。
[0031]主存储控制器102具有主存储控制器时钟或一些其它机构所指示的时间,并且该时间被称为主存储控制器时间124。主存储控制器时间124可以不同于主机106a中的时间。例如,在同一时刻,主机106a的时间可以是12:03:13PM,而主存储控制器102的时间可以是12:03:43PM。此外,在主存储控制器102内可存在时钟漂移。换句话说,主存储控制器时钟124不能保证100%准确。事实上,大多数数字时钟都有一些“漂移”,即使很小。因此,如果主机时钟和主存储控制器时钟在某一天同步,则由于主存储控制器时钟的时钟漂移,它们会在自那天起的6个月后有轻微的不同步。
[0032]在某些实施例中,在已经丢失主存储卷的灾难恢复场景中,来自辅助存储控制器104的时间点副本可以被用来将这些存储卷的状态恢复到一致性群组形成时的时间点。在某些实施例中,在于一时间点形成一致性群组的镜像会话期间,辅助存储控制器104中存储的这些时间点副本以基于主机106a的时间(通过一致性群组形成中包括的上次主机I/O操作的时间来指示)、辅助存储控制器104的经过时间和主存储控制器102的漂移的时间戳来标记。
[0033]图2示出根据某些实施例的、说明如何在数据镜像期间生成异步远程副本和时间点副本以及如何施加时间戳的框图200。
[0034]图2示出三个卷,被称为卷A202、卷B204和卷C206。卷A202由主存储控制器102控制,而卷B204和C206由辅助存储控制器104控制。
[0035]在某些实施例中,在主存储控制器102中执行的存储镜像应用116将卷A202异步复制到卷B204。当存储卷集合的一致性副本已经在辅助存储控制器104中通过异步复制208生成时,时间点复制应用122将卷B204的时间点副本(g卩,瞬时同步副本)生成到卷C206中。时间点副本是以基于上次I/O的主机时间的时间来加时间戳的,上次I/O的主机时间是根据主存储控制器102中测量的经过时间调整过的并且根据主存储控制器102的时间的潜在漂移(附图标记210)进一步调整过的。因此,该时间点副本是至少基于主机时间来加时间戳的。
[0036]图3示出根据某些实施例的、说明如何将主机时间戳与I/O操作相关联以及镜像会话如何指示哪个主机拥有镜像会话的框图300。
[0037]在某些实施例中,当主机106a将I/O操作302发送到辅助存储控制器102时,主机时间戳304还与I/O操作302相关联,并且这些类型的I/O命令可以被称为增强的I/O操作306。
[0038]当镜像会话开始时,主存储控制器102中的指示符308将镜像会话与拥有该镜像会话的主机相关联。由于这些I/o标记有主机时间戳,因此镜像会话知道来自主机106a的上次I/O的时间,并且来自主机106a的上次I/O的时间用于对辅助存储控制器104中存储的时间点副本加时间戳。
[0039]图4示出根据某些实施例的说明第一操作400的流程图。图4中所示的操作可以在计算环境100中执行。
[0040]控制开始于框402,其中,主机106a将补充有指示主机时间的时间戳的I/O请求发送到主存储控制器102。在主存储控制器102中执行的存储镜像应用116将一个或多个存储卷从主存储控制器102异步复制(框404处)到辅助存储控制器104。
[0041]控制进行到框406,其中,一旦主存储控制器102知道辅助存储控制器104中的各卷于一时间点与主存储控制器102中的各卷一致,辅助存储控制器104就执行对一致性群组的存储卷的时间点复制。时间点复制操作将作为所计算出的、根据主存储控制器102的潜在漂移调整过的主机时间的时间与这些时间点副本相关联(框408处)。
[0042]图5示出根据某些实施例的说明第二操作500的流程图。图5中所示的操作可以在计算环境100中执行。
[0043]控制开始于框502,其中,主存储控制器102中的一个或多个存储卷出现故障。主机106a通过使用辅助存储控制器104中存储的时间点副本来尝试(框504处)恢复处理。由于这些时间点副本标记有反映主机时间的时间戳,因此主机106a重新生成(框506处)自这些时间点副本中所指示的时间戳以来完成的全部操作。
[0044]图6示出根据某些实施例的说明如何确定对辅助存储控制器104中存储的这些时间点副本加时间戳时的时间的框图600。
[0045]上次主机I/O操作上的主机时间戳(附图标记602)是已知的(附图标记604),并且由于镜像会话具有拥有该镜像会话的相关联主机,因此各主机I/o以该信息加时间戳。自上次主机I/O操作以来的主存储控制器102中的经过时间604也是已知的,其中,经过时间是通过主存储控制器102的时钟来测量的。主存储控制器的时钟还可能具有漂移606 (例如,时钟所示的时间可能在经过时间期间潜在地漂移即偏离.05秒)。为了计算对时间点副本加时间戳时的时间,将上次主机I/O操作上的主机时间戳602与自上次主机I/O操作以来主存储控制器102中的经过时间604相加,并且减去漂移606。因此,保证实际的主机时间为至少等于或先于所计算的用于对时间点副本加时间戳的时间。例如,所计算的时间可以是7PM,而实际主机时间可以是7:01PM。然而,当所计算的时间是7PM时,实际主机时间不能是6:55PM。应当注意,在镜像期间,主存储控制器102可以将时间信息发送到辅助存储控制器104以对辅助存储控制器104中存储的这些镜像副本加时间戳。
[0046]图7示出根据某些实施例的说明第三操作700的流程图。图7中所示的操作可以在计算环境100中执行。
[0047]控制开始于框702,其中,主存储控制器102从主机106a接收输入/输出(I/O)命令,其中主机时间戳与I/o命令相关联。在存储卷到辅助存储控制器104的镜像期间,主存储控制器102将与I/O命令相关联的主机时间戳传送到辅助存储控制器104,其中,这些存储卷的镜像副本是至少基于主机时间戳和自上次主机I/O命令以来的经过时间来加时间戳的(框704)。
[0048]控制进行到框706,其中,通过使用存储卷的加有时间戳的镜像副本,从主存储控制器中的存储卷中的一个或多个的故障中进行恢复。
[0049]因此,图1-7示出了某些实施例,其中通过使用主机时间来对镜像副本加时间戳,相比于其中镜像副本以存储控制器的时间来加时间戳的情况,从主存储卷的故障中恢复得更快。
[0050]某些实施例的进一步细节
[0051]在一些z/OS*配置中,期望使用Global Mirror*(全局镜像,GM),即存储镜像,也被称为镜像。在出现灾难的情况下,为了重新同步工作负荷的副本,控制软件需要理解一致性群组是何时形成的。问题是,来自镜像的一致性群组时间戳是相对于系统综合体(sysplex)时钟的,而全局镜像一致性时间戳是相对于DS8K*(—类存储控制器)时钟的,并且这两者之间没有关联。
[0052]为了使全局镜像一致性时间对管理存储有意义,当形成一致性群组时,全局镜像可以使用估计的系统综合体时间。该时间可以作为可以在灾难恢复站点处查询的Flashcopy* (即,时间点副本)序列号来分配。为了实现这一点,需要下列各项:
[0053]DGlobal Mirror会话需要知道要将它绑定到哪个系统综合体;以及
[0054]2) Global Mirror会话需要知道当前的系统综合体时间。
[0055]系统综合体时间是在来自系统综合体中的主机系统的1/0中提供的。大多数1/0已经携带系统综合体时间戳。这些I/o中的时间戳被用于保持DS8K与系统综合体时钟同步。没有方法来保证进入特定DS8K的每个1/0来自同一系统综合体。因此,随机选择哪些1/0来检查系统综合体时间是不安全的。为了确定1/0是否携带了正确的系统综合体时间,DS8K需要验证时间戳是否由预期的系统综合体生成的方式。为了实现这一点,系统综合体可以在设定系统特性(SSC)数据结构中提供系统综合体名称。基于每一个1/0,可以将SSC中的系统综合体名称与提供给GM会话的系统综合体名称相比较以判断1/0中的时间是否可以被用作会话的系统综合体时间。
[0056]在由存储控制器计算序列号(时间戳)时,它绝不应当大于主机上同一时刻的时间(由它的时钟指示)。稍微较早的时间是可以的,因为它将仅要求可能不必恢复的一些数据被恢复。这通过总是假定存储控制器的最大漂移和主机时钟而在存储控制器计算期间在存储控制器中实现。
[0057]某些实施例处理DS8K与系统综合体时钟之间的漂移。某些实施例即使在任一长时间内没有从系统综合体接收到时,也继续估计系统综合体时间。此外,考虑到主机可以提供对给定主机而言唯一的时钟格式,某些实施例动态计算DS8K时钟格式。
[0058]考虑到某些实施例能够具有多个GM会话,存在每个GM会话可以具有拥有它的唯一主机的要求。每个会话可以存储并且独立地仅仅基于从拥有的主机接收的时间戳来计算时间戳。
[0059]在某些实施例中,当客户定义Global Mirror会话时,要求它们通过开始命令提供指示它们是想要使用主机的时间戳还是旧有的DS8K时间戳用于它们的副本序列号(即时间戳)的标记。这些FlashCopy序列号指示数据与什么时间一致。如果它们指示它们想要使用主机的时间戳,则还要求客户输入Global Mirror会话将从其接受时间戳的主机名。
[0060]附加实施例细节
[0061]所描述的操作可以实施为使用标准编程和/或工程技术以产生软件、固件、硬件或其中的任何组合的方法、装置或计算机程序产品。因此,这些实施例的各方面可以采取整体为硬件的实施例、整体为软件的实施例(包括固件、常驻软件、微代码等)或组合有软件和硬件方面的实施例的形式,在此这些可以被全部统称为“电路”、“模块”或“系统”。此夕卜,这些实施例的各方面可以采取包含在具有包含于其的计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。
[0062]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是,例如但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者前述的任何适当组合。计算机可读存储介质的更具体的例子(非穷举的列表)可包括下列:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、只读光盘(CD-ROM)、光存储器件、磁存储器件、或者前述的任何适当组合。在本文献的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0063]计算机可读信号介质可以包括在基带中或者作为载波的一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0064]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0065]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0066]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0067]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
[0068]计算机程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备中以使一系列操作步骤在计算机、其它可编程装置或其它设备上执行而产生计算机实施的处理,以致在计算机、其它可编程装置上执行的这些指令提供用于实施流程图和/或框图中的一个或多个框中指定的功能/动作的处理。
[0069]图8示出根据某些实施例的、说明可以包括在存储控制器102、104或主机106a...106n、108a…108m中的某些元件的的框图。系统800可以包括电路802,在某些实施例中电路802可以包括至少一个处理器804。系统800还可以包括存储器806 (例如,易失性存储器件)和存储设备808。存储设备808可以包括非易失性存储器设备(例如,EEPR0M、R0M、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)、磁盘驱动、光盘驱动、磁带驱动等。存储设备808可以包括内部存储设备、附接存储设备和/或网络可接入存储设备。系统800可以包括程序逻辑810,程序逻辑810包括可以被加载到存储器806中并且由处理器804或电路802执行的代码812。在某些实施例中,包括代码812的程序逻辑810可以被存储于存储设备808。在某些实施例中,程序逻辑810可以在电路802中实施。因此,虽然图8示出程序逻辑810独立于其它元件,但是程序逻辑810可以在存储器806和/或电路802中实施。
[0070]某些实施例可以针对一种用于通过人或自动化处理集成计算机可读代码将计算指令部署到计算系统中的方法,其中,所述代码与计算系统一起能够执行所描述实施例的这些操作。
[0071]除非另有明确说明,否则术语“一实施例”、“实施例”、“各实施例”、“所述实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”意味着“本(各)发明的一个或多个(并非全部)实施例”。
[0072]除非另有明确说明,否则术语“包括”、“包含”、“具有”及其类似术语意味着“包括但不限于”。
[0073]除非另有明确说明,否则所枚举的项目列表并未暗示任何或全部项目是互相排斥的。
[0074]除非另有明确说明,否则术语“一个(a) ”、“一个(an) ”和“所述(the) ”意味着“一个或多个”。
[0075]除非另有明确说明,否则彼此通信的设备不必连续地彼此通信。另外,彼此通信的设备可以通过一个或多个媒介直接或间接通信。
[0076]对具有彼此通信的几个部件的实施例的描述并未暗示全部这些部件是必要的。相反,描述了各种可选部件来说明本发明的各种可能的实施例。
[0077]进一步,尽管按顺序描述了各处理步骤、方法步骤、算法等,但是这些处理、方法和算法可以以可替代的顺序配置来工作。换句话说,所描述的任何步骤序列或顺序并不一定地指示这些步骤以那个顺序执行。这里描述的这些处理步骤可以以任何实用的顺序执行。进一步,一些步骤可以同时执行。
[0078]当这里描述了单个设备或物品时,显而易见的是,可以使用多个设备/物品(无论它们是否协作)来取代单个设备/物品。类似地,在这里描述了一个以上设备或物品(无论它们是否协作)的情况下,显而易见的是,可以使用单个设备/物品来取代多个设备或物品,或者,可以使用不同数目的设备/物品来取代所示数目的设备或程序。设备的功能和/或特征可以可替代地被没有明确描述为具有这种功能/特征的一个或多个其它设备包含。因此,本发明的其它实施例不必包括设备本身。
[0079]可能已经在图中示出的至少某些操作说明某些事件以某一顺序发生。在可替代的实施例中,某些操作可以以不同的顺序被执行、被修改或被移除。此外,可以将步骤添加到上面描述的逻辑,并且仍然符合所描述的实施例。进一步,这里描述的操作可以顺序发生,或某些操作可以被并行处理。再次,各操作可以由单个处理单元或由分布式处理单元来执行。
[0080]已呈现了对本发明各种实施例的前述描述以用于说明和描述的目的。并未意图穷尽或将本发明限制到所公开的准确形式。根据上面的教导,很多修改和改变是可能的。意图是,本发明的范围不是由详细的描述来限制,而是由所附的权利要求来限制。上面的指定、示例和数据提供了对本发明构成的制造和使用的完整描述。由于本发明的很多实施例可以实施而不背离本发明的精神和范围,本发明存在于其后所附的权利要求中。
[0081]*Java是Oracle和/或其附属公司的商标或注册商标。
[0082]*z/0S、Global Mirror、Flashcopy、DS8K 是 IBM 公司的商标或注册商标。
【权利要求】
1.一种用于从主存储卷的故障中恢复的方法,包括: 在主存储控制器中,从主机接收输入/输出(I/o)命令,其中主机时间戳与所述I/O命令相关联; 在存储卷到辅助存储控制器的镜像期间,通过所述主存储控制器将与所述I/o命令相关联的所述主机时间戳传送到所述辅助存储控制器,其中所述存储卷的所述镜像副本至少基于所述主机时间戳和自上次主机I/o命令以来的经过时间来加时间戳;以及 通过使用所述存储卷的加有时间戳的所述镜像副本,从所述主存储控制器中的所述存储卷中的一个或多个存储卷的故障中恢复。
2.根据权利要求1所述的方法,其中所述主机中的时钟和所述主存储控制器指示不同的时间。
3.根据权利要求2所述的方法,其中相比于具有仅基于所述主存储控制器的时钟的时间戳,当所述镜像副本至少基于所述主机时间戳来加时间戳时,从所述主存储控制器的故障中恢复是更快的。
4.根据权利要求1所述的方法,其中所述镜像包括: 从所述主存储控制器到所述辅助存储控制器的异步复制操作,以形成一致性群组;以及 响应于在所述辅助存储控制器中形成一致性群组的同步时间点复制操作。
5.根据权利要求1所述的方法,其中对所述存储卷的所述镜像副本加时间戳还基于包括在所述主存储控制器中测量的所述经过时间的误差的漂移。
6.根据权利要求1所述的方法,其中所述经过时间基于所述主存储控制器的时钟,并且其中所述主存储控制器所指示的时间被传送到所述辅助存储控制器。
7.根据权利要求1所述的方法,其中未查询所述主机以确定所述主机上的时间,并且所述主机的所述时间是通过与所述I/o命令相关联的所述主机时间戳来提供的。
8.一种用于从主存储卷的故障中恢复的系统,包括: 被配置为在主存储控制器中接收输入/输出(I/O)命令的模块,其中主机时间戳与所述I/O命令相关联;被配置为在存储卷到辅助存储控制器的镜像期间、通过所述主存储控制器将与所述I/O命令相关联的所述主机时间戳传送到所述辅助存储控制器的模块,其中所述存储卷的镜像副本至少基于所述主机时间戳和自上次主机I/o命令以来的经过时间来加时间戳;以及被配置为通过使用所述存储卷的加有时间戳的所述镜像副本来从所述主存储控制器中的所述存储卷中的一个或多个存储卷的故障中恢复的模块。
9.根据权利要求8所述的系统,其中所述主机中的时钟和所述主存储控制器指示不同的时间。
10.根据权利要求9所述的系统,其中相比于具有仅基于所述主存储控制器的时钟的时间戳,当所述镜像副本至少基于所述主机时间戳来加时间戳时,从所述主存储控制器的故障中恢复是更快的。
11.根据权利要求8所述的系统,其中所述镜像包括: 从所述主存储控制器到所述辅助存储控制器的异步复制操作,以形成一致性群组;以及 响应于在所述辅助存储控制器中形成一致性群组的同步时间点复制操作。
12.根据权利要求8所述的系统,其中对所述存储卷的所述镜像副本加时间戳还基于包括在所述主存储控制器中测量的所述经过时间的误差的漂移。
13.根据权利要求8所述的系统,其中所述经过时间基于所述主存储控制器的时钟,并且其中所述主存储控制器所指示的时间被传送到所述辅助存储控制器。
14.根据权利要求8所述的系统,其中未查询所述主机以确定所述主机上的时间,并且所述主机的所述时间是通过与所述I/O命令相关联的所述主机时间戳来提供的。
【文档编号】G06F3/06GK104182297SQ201410220136
【公开日】2014年12月3日 申请日期:2014年5月22日 优先权日:2013年5月23日
【发明者】J·J·克劳福德, T·T·小哈里斯, M·J·卡洛斯, G·A·斯皮尔, J·G·汤普森, M·J·沃德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1