非同步远程复制系统以及存储控制方法.pdf

上传人:111****112 文档编号:972601 上传时间:2018-03-22 格式:PDF 页数:49 大小:1.46MB
返回 下载 相关 举报
摘要
申请专利号:

CN201080008833.2

申请日:

2010.04.07

公开号:

CN102326152A

公开日:

2012.01.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 12/00申请日:20100407|||公开

IPC分类号:

G06F12/00

主分类号:

G06F12/00

申请人:

株式会社日立制作所

发明人:

近藤修次; 奥元胜博

地址:

日本东京都

优先权:

专利代理机构:

北京银龙知识产权代理有限公司 11243

代理人:

许静;郭凤麟

PDF下载: PDF下载
内容摘要

在第一存储装置停止的情况下,判断在第二存储装置中最近反映的日志所具有的更新序号和在第三存储装置中最近反映的日志所具有的更新序号中的哪一个新。判断在具有被判断为新的更新序号的新存储装置中是否有从具有没有被判断为新的更新序号的下一个更新序号的日志开始到具有被判断为新的更新序号的日志为止的一个以上的差分日志。在该判断的结果为肯定的情况下,从新存储装置向第二以及第三存储装置中不是新存储装置的一方、即旧存储装置复制一个以上的差分日志。在旧存储装置中,一个以上的差分日志按更新序号的顺序被反映到旧存储装置内的数据卷。

权利要求书

1: 一种非同步远程复制系统, 是进行非同步远程复制的存储系统, 该非同步远程复制 系统的特征在于, 具有 : 第一存储装置, 其具有第一存储资源组, 且与第一主机装置连接 ; 第二存储装置, 其具有第二存储资源组, 且与第二主机装置连接 ; 和 第三存储装置, 其具有第三存储资源组, 所述第一存储资源组具有作为被写入数据的逻辑卷的第一数据卷、 以及作为被写入数 据的日志的存储资源的第一日志存储资源, 所述第二存储资源组具有作为被写入数据的逻辑卷的第二数据卷、 以及作为被写入数 据的日志的存储资源的第二日志存储资源, 所述第三存储资源组具有作为被写入数据的逻辑卷的第三数据卷、 以及作为被写入数 据的日志的存储资源的第三日志存储资源, 在从所述主机装置向所述第一数据卷写入数据时, 所述第一存储装置更新更新序号, 制作包含该更新序号和该数据的日志, 并将该日志写入所述第一日志存储资源, 其中, 该更 新序号是每次在所述第一存储资源组内的数据卷中写入数据时被更新的序号, 进行多目标方式的非同步远程复制, 在该非同步远程复制中, 所述日志被从所述第一 存储装置转发到所述第二存储装置, 并被反映到所述第二数据卷, 由此把所述第一数据卷 内的数据写入所述第二数据卷, 而且所述日志被从所述第一存储装置转发到所述第三存储 装置, 并被反映到所述第三数据卷, 由此把所述第一数据卷内的数据写入所述第三数据卷, (X) 在所述第一存储装置停止时, (x1) 判断在所述第二存储装置中最近反映的日志所具有的更新序号和在所述第三存 储装置中最近反映的日志所具有的更新序号中的哪一个新 ; (x2) 判断在所述第二以及第三存储装置中、 作为具有在所述 (x1) 中判断为新的更新 序号的存储装置的新存储装置中是否有一个以上的差分日志, 该一个以上的差分日志是从 具有在所述 (x1) 中没有判断为新的更新序号的下一个更新序号的日志开始到具有在所述 (x1) 中判断为新的更新序号的日志为止的一个以上的日志 ; (x3) 在所述 (x2) 的判断结果为肯定的情况下, 从所述新存储装置向旧存储装置复制 所述一个以上的差分日志, 所述旧存储装置是所述第二以及第三存储装置中不是所述新存 储装置的存储装置 ; (x4) 所述旧存储装置按照更新序号的顺序向所述旧存储装置内的数据卷反映所述一 个以上的差分日志。
2: 根据权利要求 1 所述的非同步远程复制系统, 其特征在于, 所述第二存储装置是所述旧存储装置, 所述第三存储装置是所述新存储装置, 所述第二数据卷处于禁止来自所述第二主机装置的数据的写入的写入禁止状态, 在所述 (x2) 的判断结果为肯定的情况下, 所述第二存储装置使所述第二数据卷成为 可以进行来自所述第二主机装置的数据的写入的写入许可状态, 所述第二存储装置, 在使所述第二数据卷成为写入许可状态后, 从所述第二主机装置 接收到指定了所述第二数据卷中的写入目的地的写入请求时, (w1) 将按照所述写入请求的数据写入所述写入目的地, (w2) 将所述写入目的地作为差分日志的非反映目的地来管理, 2 在所述 (x4) 中, 所述第二存储装置进行如下操作 : (x41) 判断所述第二日志存储资源内的差分日志的反映目的地是否是非反映目的地 ; (x42) 如果所述 (x41) 的判断结果为否定, 则反映所述差分日志 ; (x43) 如果所述 (x41) 的判断结果为肯定, 则不反映所述差分日志。
3: 根据权利要求 1 所述的非同步远程复制系统, 其特征在于, 所述第二存储装置是所述旧存储装置, 所述第三存储装置是所述新存储装置, 所述第二数据卷处于禁止从所述第二主机装置读取数据的读取禁止状态, 在所述 (x2) 的判断结果为肯定的情况下, 所述第二存储装置使所述第二数据卷成为 可以从所述第二主机装置读取数据的读取许可状态, 所述第二存储装置, 在使所述第二数据卷成为读取许可状态之后, 从所述第二主机装 置接收到指定了所述第二数据卷中的读取源的读取请求时, (R) 将对象日志所具有的数据发送给所述第二主机装置, 所述对象日志是读取源成为 反映目的地的差分日志中的、 具有最新的更新序号的差分日志。
4: 根据权利要求 3 所述的非同步远程复制系统, 其特征在于, 在所述 (R) 中, 所述第二存储装置进行如下操作 : (r1) 判断所述第二以及第三日志存储资源中的、 读取源成为反映目的地的差分日志 中, 作为具有最新的更新序号的差分日志的对象日志是否在所述第二日志存储资源中 ; (r2) 如果所述 (r1) 的判断结果为肯定, 则向所述第二数据卷反映所述对象日志, 且向 所述第二主机装置发送所述对象日志所具有的数据 ; (r3) 如果所述 (r1) 的判断结果为否定, 则与其他日志相比优先从所述第三存储装置 取得所述对象日志, 将所述对象日志写入所述第二日志存储资源中, 向所述第二数据卷反 映所述对象日志, 并将所述对象日志所具有的数据发送给所述第二主机装置。
5: 根据权利要求 1 所述的非同步远程复制系统, 其特征在于, (P) 所述第二或第三存储装置判断在所述旧存储装置内的日志存储资源中是否有相当 于所述差分日志的未反映的日志 ; (Q) 如果所述 (P) 的判断结果为肯定, 则所述旧存储装置向自身的数据卷反映相当于 所述差分日志的未反映的日志 ; 针对与在所述 (Q) 中被反映的未反映的日志相对应的差分日志, 代替所述 (x3) 以及 (x4), 进行所述 (Q)。
6: 根据权利要求 1 所述的非同步远程复制系统, 其特征在于, 所述第一存储装置进行如下操作 : (H) 从所述第一日志存储资源中清除关于所述第二以及第三存储资源组共同的可清除 的日志 ; (I) 判断所述第一日志存储资源的使用率是否超过预定的阈值 ; (J) 在所述 (I) 的判断结果为肯定的情况下, 在第一关系以及第二关系中, 解除从所述 第一日志存储资源中可清除的日志的数量少的一方的关系, 所述第一关系是所述第一存储 资源组和所述第二存储资源组的关系, 所述第二关系是所述第一存储资源组和所述第三存 储资源组的关系 ; (K) 从所述第一日志存储资源中清除关于所述第二以及第三存储资源组中与未被解除 3 的关系相关的存储资源组的可清除的日志, 所述第一日志存储资源的使用率是所述第一日志存储资源内的一个以上的 JNL 的总 容量相对于所述第一日志存储资源的容量的比例。
7: 根据权利要求 6 所述的非同步远程复制系统, 其特征在于, (L) 所述第一存储装置关于被挂起的对, 在所述第一数据卷内的写入目的地写入了数 据的情况下, 对于不制作具有该数据的 JNL, 而在该写入目的地中进行了更新的情况进行管 理, (M) 所述第一存储装置应答预定的命令, 制作包含位于进行了更新的写入目的地的数 据的日志, 并将该日志发送给具有与所述作为瓶颈的对相关的数据卷的存储装置, (N) 该存储装置将该日志写入自身的日志存储资源中, 并将该日志存储资源内的日志 反映到自身的数据卷。
8: 根据权利要求 1 所述的非同步远程复制系统, 其特征在于, 在所述 (x) 的情况下, 从所述第一主机装置向所述第二主机装置进行故障切换, 所述 第二主机装置向所述第二存储装置发送预定的命令, 所述第二存储装置接收所述预定的命令, 应答所述预定的命令, 执行所述 (x1) 以及 (x2)。
9: 根据权利要求 1 所述的非同步远程复制系统, 其特征在于, 所述第二数据卷处于禁止从所述第二主机装置写入数据的写入禁止状态, 在完成所述 (x4) 之后, 所述第二存储装置使所述第二数据卷成为可以从所述第二主 机装置写入数据的写入许可状态。
10: 根据权利要求 1 所述的非同步远程复制系统, 其特征在于, 所述第二以及第三存储资源组共用所述第一日志存储资源, 在所述 (D1) 中, 所述第二存储装置从所述第一存储装置读取具有在所述第二日志存 储资源中最新的更新序号的下一个更新序号的日志, 并将读取的日志写入所述第二日志存 储资源中, 在所述 (D2) 中, 所述第三存储装置从所述第一存储装置读取具有在所述第三日志存 储资源中最新的更新序号的下一个更新序号的日志, 并将读取的日志写入所述第三日志存 储资源中。
11: 一种存储控制方法, 是作为进行非同步远程复制的存储系统的非同步远程复制系 统中的存储控制方法, 其特征在于, 所述非同步远程复制系统具有 : 第一存储装置, 其具有第一存储资源组, 且与第一主机装置连接 ; 第二存储装置, 其具有第二存储资源组, 且与第二主机装置连接 ; 以及 第三存储装置, 其具有第三存储资源组, 且与第三主机装置连接, 所述第一存储资源组具有作为被写入数据的逻辑卷的第一数据卷、 以及作为被写入数 据的日志的存储资源的第一日志存储资源, 所述第二存储资源组具有作为被写入数据的逻辑卷的第二数据卷、 以及作为被写入数 据的日志的存储资源的第二日志存储资源, 所述第三存储资源组具有作为被写入数据的逻辑卷的第三数据卷、 以及作为被写入数 4 据的日志的存储资源的第三日志存储资源, 在从所述主机装置向所述第一数据卷写入数据时, 所述第一存储装置更新更新序号, 制作包含该更新序号和该数据的日志, 并将该日志写入所述第一日志存储资源中, 其中, 该 更新序号是每次在所述第一存储资源组内的数据卷中写入数据时被更新的序号, 进行多目标方式的非同步远程复制, 在该非同步远程复制中, 所述日志被从所述第一 存储装置转发到所述第二存储装置, 并被反映到所述第二数据卷, 由此把所述第一数据卷 内的数据写入所述第二数据卷, 而且所述日志被从所述第一存储装置转发到所述第三存储 装置, 并被反映到所述第三数据卷, 由此把所述第一数据卷内的数据写入所述第三数据卷, 在所述第一存储装置停止时, 所述存储控制方法执行如下步骤 : (x1) 判断在所述第二存储装置中最近反映的日志所具有的更新序号和在所述第三存 储装置中最近反映的日志所具有的更新序号中的哪一个新 ; (x2) 判断在所述第二以及第三存储装置中、 作为具有在所述 (x1) 中判断为新的更新 序号的存储装置的新存储装置中, 是否有一个以上的差分日志, 该一个以上的差分日志是 从具有在所述 (x1) 中没有判断为新的更新序号的下一个更新序号的日志开始到具有在所 述 (x1) 中判断为新的更新序号的日志为止的一个以上的日志 ; (x3) 在所述 (x2) 的判断结果为肯定的情况下, 从所述新存储装置内的日志存储资源 向旧存储装置内的日志存储资源复制所述一个以上的差分日志, 所述旧存储装置是所述第 二以及第三存储装置中不是所述新存储装置的存储装置 ; (x4) 在所述旧存储装置中, 按照更新序号的顺序向所述旧存储装置内的数据卷反映所 述一个以上的差分日志。

说明书


非同步远程复制系统以及存储控制方法

    【技术领域】
     本发明涉及进行作为存储装置间的数据的复制的远程复制的存储系统中的存储控制。 背景技术 已知有作为第一以及第二存储装置之间的数据复制的远程复制 (remote copy)。 作为远程复制, 例如有同步远程复制以及非同步远程复制。当第一存储装置从主机接收了 写请求时, 如果采用了同步远程复制, 则按照该写请求的数据从第一存储装置被转发到第 二存储装置后, 向主机装置发送写结束应答, 但如果采用了非同步远程复制, 则即使按照该 写请求的数据没有从第一存储装置被转发到第二存储装置, 也向主机装置发送写结束应 答。
     在采用了非同步远程复制的远程复制系统 ( 以下称为非同步远程复制系统 ) 中, 例如第一存储装置除了第一 DVOL( 存储了数据的逻辑卷 ) 之外还具有第一 JVOL( 存储日志 ( 以下称为 JNL) 的逻辑卷 )。同样, 第二存储装置除了第二 DVOL 之外还具有第二 JVOL。第
     一存储装置在接收了写请求时, 在第一 DVOL 中存储按照写请求的数据, 而且在第一 JVOL 中 存储该数据的 JNL。第一存储装置向第二存储装置转发第一 JVOL 内的 JNL, 第二存储装置 将来自第一存储装置的 JNL 写入第二 JVOL。之后, 第二存储装置将第二 JVOL 内的 JNL 所具 有的数据写入第二 DVOL。由此, 写入第一 DVOL 的数据被复制到第二 DVOL。
     在专利文献 1 中公开了多目标 (multi target) 方式的非同步远程复制系统。在 多目标方式中对于一个复制源存在多个复制目的地。具体地说, 在专利文献 1 中公开了例 如以下内容。
     (*) 有第一存储装置、 第二存储装置以及第三存储装置。
     (*) 第一存储装置是复制源, 第二以及第三存储装置是从第一存储装置的复制目 的地。
     (*) 第一存储装置与第一主机装置连接, 第二存储装置与第二主机装置连接, 第三 存储装置与第三主机装置连接。
     (*) 第一存储装置具有第一 DVOL、 第一个第一 JVOL 以及第二个第一 JVOL。
     (*) 第二存储装置具有第二 DVOL 以及第二 JVOL。
     (*) 第一以及第二 DVOL 成对。第一 DVOL 是主 DVOL, 第二 DVOL 是副 DVOL。
     (*) 第三存储装置具有第三 DVOL 以及第三 JVOL。
     (*) 第一以及第三 DVOL 成对。第一 DVOL 是主 DVOL, 第三 DVOL 是副 DVOL。
     (*) 第一主机装置在第一 DVOL 中写入数据。
     (*) 第一存储装置在第一个第一 JVOL 和第二个第一 JVOL 的双方中写入已被写入 第一 DVOL 的数据的 JNL。JNL 除主机装置的输入输出对象数据以外, 还包含更新序号。
     (*) 第一个第一 JVOL 内的 JNL 被复制到第二 JVOL。
     (*) 第二存储装置向第二 DVOL 反映第二 JVOL 内的一个以上的未反映的 JNL 中的、具有最旧的更新序号的 JNL( 在第二 DVOL 中写入 JNL 所具有的数据 )。
     (*) 第二个第一 JVOL 内的 JNL 被复制到第三 JVOL。
     (*) 第三存储装置向第三 DVOL 反映第三 JVOL 内的一个以上的未反映的 JNL 中的、 具有最旧的更新序号的 JNL( 在第三 DVOL 中写入 JNL 所具有的数据 )。
     而且, 根据专利文献 1, 在第一存储装置中发生了故障时, 第二存储装置成为复制 源, 第三存储装置成为复制目的地。
     现有技术文献
     专利文献
     专利文献 1 : 日本特开 2006-65629 号公报 发明内容 发明要解决的课题
     当第二存储装置成为复制源后, 第二主机装置在第二 DVOL 中写入数据, 第二存储 装置对更新序号进行更新, 并将包含更新序号和数据的 JNL 写入第二 JVOL。 JNL 从第二 JVOL 被复制到第三 JVOL, 第三存储装置将第三 JVOL 内的 JNL 所具有的数据写入第三 DVOL。
     在此, 考虑了在第二存储装置中的更新序号的起点是在第二存储装置中已反映的 JNL 中的最新的更新序号。 这是由于第二 DVOL 具有到该最新的更新序号所表示的顺序为止 的数据。
     但是其存在不理想的情形。该情形例如是在第二存储装置中已反映的 JNL 中的最 新的更新序号比在第三存储装置中已反映的 JNL 中的最新的更新序号旧的情形。这是由 于在该情形中, 第二 DVOL 的状态比第三 DVOL 的状态旧, 从旧的状态的 DVOL 向新的状态的 DVOL 复制数据。
     这样, 在第一存储装置中发生了故障时存在不能恰当地继续业务的情形。
     在第一存储装置因故障以外的原因而停止时 ( 例如因用于维护的所谓计划停止 而停止第一存储装置时 ) 存在这样的问题。
     因此, 本发明的目的是在多目标方式的非同步远程复制系统中, 即使第一存储装 置停止也恰当地继续进行业务。
     用于解决课题的手段
     具有 : 第一存储装置, 其具有第一存储资源组, 且与第一主机装置连接 ; 第二存储 装置, 其具有第二存储资源组, 且与第二主机装置连接 ; 和第三存储装置, 其具有第三存储 资源组, 且与第三主机装置连接。
     第一存储资源组具有作为被写入数据的逻辑卷的第一数据卷、 以及作为被写入数 据的日志的存储资源的第一日志存储资源。
     第二存储资源组具有作为被写入数据的逻辑卷的第二数据卷、 以及作为被写入数 据的日志的存储资源的第二日志存储资源。
     第三存储资源组具有作为被写入数据的逻辑卷的第三数据卷、 以及作为被写入数 据的日志的存储资源的第三日志存储资源。
     在从主机装置向第一数据卷写入数据时, 第一存储装置更新更新序号, 制作包含 该更新序号和该数据的日志, 并将该日志写入第一日志存储资源, 其中, 该更新序号是每次
     在第一存储资源组内的数据卷中写入数据时被更新的序号。
     进行多目标方式的非同步远程复制, 在该非同步远程复制中, 日志被从第一存储 装置转发到第二存储装置, 并被反映到第二数据卷, 由此把第一数据卷内的数据写入第二 数据卷, 而且日志被从第一存储装置转发到第三存储装置, 并被反映到第三数据卷, 由此把 第一数据卷内的数据写入第三数据卷。
     具体来说, 例如在非同步远程复制中进行以下处理 :
     (A1) 日志被从第一日志存储资源复制到第二日志存储资源。
     (B1) 第二存储装置按照更新序号的顺序向第二数据卷反映第二日志存储资源中 的一个以上的未反映的日志。
     (A2) 日志被从第一日志存储资源复制到第三日志存储资源。
     (B2) 第三存储装置按照更新序号的顺序向第三数据卷反映第三日志存储资源中 的一个以上的未反映的日志。
     在第一存储装置停止时, 进行以下处理 :
     (x1) 判断在第二存储装置中最近反映的日志所具有的更新序号和在第三存储装 置中最近反映的日志所具有的更新序号中的哪一个新。 (x2) 判断在第二以及第三存储装置中的新存储装置 ( 具有在 (x1) 中判断为新的 更新序号的存储装置 ) 中是否有一个以上的差分日志。一个以上的差分日志是从具有在 (x1) 中没有判断为新的更新序号的下一个更新序号的日志开始到具有在 (x1) 中判断为新 的更新序号的日志为止的一个以上的日志。
     (x3) 在 (x2) 的判断结果为肯定的情况下, 从新存储装置向旧存储装置 ( 第二以及 第三存储装置中不是新存储装置的存储装置 ) 复制一个以上的差分日志。
     (x4) 旧存储装置按照更新序号的顺序向旧存储装置内的数据卷反映一个以上的 差分日志。
     附图说明
     图 1 表示本发明的实施例 1 的非同步远程复制系统的结构。
     图 2 表示存储装置之间的路径。
     图 3 表示图 6 中的 JNL 组 112A、 112B 以及 112C 的状态以及镜像的有效 / 无效。
     图 4 表示图 7 中的 JNL 组 112B 以及 112C 的状态以及镜像的有效 / 无效。
     图 5 表示图 10 中的 JNL 组 112B 以及 112C 的状态以及镜像的有效 / 无效。
     图 6 表示多目标方式的非同步远程复制的概要。
     图 7 表示在第一存储器 105A 中发生故障时进行的处理的一部分。
     图 8 表示从第三存储器 105C 到第二存储器 105B 的差分远程同步 (rsync) 的概要。
     图 9 表示从第二存储器 105B 到第三存储器 105C 的差分远程同步的概要。
     图 10 表示结束差分远程同步后的业务的继续的概要。
     图 11 表示第一存储器 105A 的概要。
     图 12 表示 JNL 的结构。
     图 13 表示 JVOL115A 的结构。
     图 14 表示元信息的结构。图 15 表示各存储器所具有的控制信息。
     图 16 表示 JVOL 有效位图 701A 的结构。
     图 17 表示 DVOL 有效位图 702A 的结构。
     图 18 表示 JVOL 管理表 703A 的结构。
     图 19 表示 JNL 组管理表 704A 的结构。
     图 20 表示对管理表 705A 的结构。
     图 21 表示差分管理以及形成复制的流程。
     图 22 表示第一存储器 105A 中的写处理的流程。
     图 23 表示 JNL 的读处理的流程。
     图 24 表示 JNL 的反映处理的流程。
     图 25 表示与第一 JVOL115A 的使用率的核对相关的处理的流程。
     图 26 表示在第一存储器 105A 中发生故障时进行的处理的流程。
     图 27 表示可进行差分远程同步的情形的一例。
     图 28 表示不能进行差分远程同步的情形的一例。
     图 29 表示许可从第二主机 103B 向第二 DVOL113B 写入数据的定时。
     图 30 表示在本发明的实施例 2 中许可从第二主机 103B 向第二 DVOL113B 写入数 据的定时。
     图 31 表示在本发明的实施例 2 中, 从第三存储器 105C 向第二存储器 105B 进行差 分远程同步时的、 第二存储器 105B 中的写处理的流程。
     图 32 表示在本发明的实施例 2 中, 从第三存储器 105C 向第二存储器 105B 进行差 分远程同步时的、 第二存储器 105B 中的 JNL 反映处理的流程。
     图 33 表示在本发明的实施例 3 中, 从第三存储器 105C 向第二存储器 105B 进行差 分远程同步时的、 第二存储器 105B 中的读处理的流程。
     图 34 表示在本发明的实施例 4 中与是否需要转发差分 JNL 的判断相关的处理的 流程。
     图 35 表示存在不需要转发的差分 JNL 的情形的一例。 具体实施方式
     以下, 参照附图说明本发明的几个实施例。
     另外, 在以下的说明中, 有时通过 “××× 表” 、 “××× 位图” 的表述来说明各种 信息, 但也可以用表或位图以外的数据结构来表现各种信息。 为了表示不依赖于数据结构, 可以把 “××× 表” 、 “××× 位图” 称为 “××× 信息” 。
     此外, 在以下的说明书中, 作为各种对象识别信息主要使用了序号, 但可以代替序 号而采用其它种类的识别信息 ( 例如名称 )。
     实施例 1
     图 1 表示本发明的实施例 1 的非同步远程复制系统的结构。另外, 在以下的说明 中, 将日志记载为 “JNL” , 将作为被写入数据的逻辑卷的数据卷记载为 “DVOL” , 将作为被写 入 JNL 的逻辑卷的 JNL 卷记载为 “JVOL” , 将主机装置记载为 “主机” , 将存储装置记载为 “存 储器” 、 将控制器记载为 “DKC” 。有三个以上的站点 (site), 例如第一站点 101A、 第二站点 101B 以及第三站点 101C。以下为使说明易于理解, 第一站点 101A 具有的要素的参照符号是主序号和子符号 “A” 的组合, 第二站点 101B 具有的要素的参照符号是主序号和子符号 “B” 的组合, 第三站点 101B 具有的要素的参照符号是主序号和子符号 “C” 的组合。
     第一站点 101A 具有第一存储器 105A 以及与第一存储器 105A 连接的第一主机 103A。第一存储器 105A 具有第一 DKC111A 以及第一 JNL 组 112A。一个 JNL 组 112A 包含 DVOL113A 以及 JVOL1115A。
     第二以及第三站点 101B 以及 101C 具有与第一站点 101A 相同的结构。
     存储器 105A 以及 105B 彼此经由专用线 ( 或通信网络 ) 物理地连接。存储器 105B 以及 105C 彼此也经由专用线 ( 或通信网络 ) 物理地连接。存储器 105A 以及 105C 彼此也 经由专用线 ( 或通信网络 ) 物理地连接。
     作为连接存储器彼此的路径, 如图 2 所示, 有控制路径以及数据转发路径。控制路 径是差分远程同步 ( 后述 ) 所需要的路径。具体地说, 例如在差分远程同步处理中, 是时序 (sequence) 序号取得请求 ( 后述 ) 流过的路径。数据转发路径是 JNL 流过的路径。控制路 径以及数据转发路径都是可双向通信的路径。 再次参照图 1。
     有 “镜像 (mirror)” 这样的 JNL 组彼此的逻辑连接。根据图 1, JNL 组 112A 以及 112B 彼此的连接是镜像 #0( 被分配了序号 “0” 的镜像 (M0)), JNL 组 112A 以及 112C 彼此 的连接是镜像 #1( 被分配了序号 “1” 的镜像 (M1)), JNL 组 112B 以及 112C 彼此的连接是镜 像 #2( 被分配了序号 “2” 的镜像 (M2))。
     以下说明本实施例的处理的概要。另外, 在以下说明中, JNL 组 112A、 112B 以及 112C 只要不特殊说明则分别是一个。
     在本实施例的远程复制系统中进行多目标方式的非同步远程复制, 第一站点 101A 是运用站点。此时, 如图 3 所示, 第一 JNL 组 112A 的状态是 “主 (Master)” , 第二以及第三 JNL 组 112B 以及 112C 的状态是 “还原 (Restore)” 。状态 “主” 表示是复制源。状态 “还原” 表示是复制目的地。 另外, 在图 3( 以及此后的图 4 以及图 5) 中, 虚线的镜像是无效的镜像, 实线的镜像是有效的镜像。
     从 而, 如 图 6 所 示, 第 一 DVOL113A 是 主 DVOL( 以 下 称 为 PVOL), 第二以及第三 DVOL113B 以及 113C 是副 DVOL( 以下称为 SVOL)。
     如图 6 所示, 在作为运用站点的第一站点 101A 中, 第一主机 103A 伴随业务的执行 而在 PVOL113A 中写入数据 (S11)。第一存储器 105A 更新时序序号 ( 以下称为 SEQ#), 制作 具有更新后的 SEQ# 和在 PVOL113A 中写入的数据的 JNL, 将制作的 JNL 写入第一 JVOL115A 中 (S12)。SEQ# 是每次在第一 JNL 组 112A( 第一 JNL 组 112A 内的 DVOL) 中写入数据时被 更新 ( 例如增加 1( 或减小 1)) 的序号。
     第二存储器 105B 从第一 JVOL115A 读出 JNL, 并将读出的 JNL 写入第二 JVOL115B 中 (S21)。第二存储器 105B 按 SEQ# 从小到大的顺序向 SVOL113B 反映第二 JVOL115B 内的 一个以上的未反映的 JNL(S22)。具体地说, 第二存储器 105B 将第二 JVOL115B 内的未反映 的 JNL 所具有的数据写入 SVOL113B 中。 由此, 在 PVOL113A 中写入的数据被复制到 SVOL113B 中。
     第三存储器 105C 从第一 JVOL115A 读出 JNL, 并将读出的 JNL 写入第三 JVOL115C 中 (S31)。第三存储器 105C 按 SEQ# 从小到大的顺序向 SVOL113C 反映第三 JVOL1115C 内的 一个以上未反映的 JNL(S32)。具体地说, 第三存储器 105C 将第三 JVOL115C 内的未反映的 JNL 所具有的数据写入 SVOL113C 中。由此, 在 PVOL113A 中写入的数据被复制到 SVOL113C 中。
     也可以对于一个复制源 JNL 组存在多于两个的复制目的地 JNL 组。
     根据本实施例, 在多个复制目的地 JNL 组中共用在一个复制源 JNL 组中所包含的 JVOL。换言之, 在一个复制源 JNL 组中包含的 JVOL 的数量不依赖于复制目的地 JNL 组的数 量。 这存储装置之间的 JNL 的复制 ( 转发 ), 通过复制目的地的存储装置从复制源的存储装 置内的 JVOL 读出 JNL 来实现。根据该特征, 能够节约在第一存储器 105A 中消耗的存储容 量。
     如图 7 所示, 假设在作为运用站点的第一站点 101A 中, 在第一存储器 105A 中发生 了故障 (S40)。此时, 运用站点从第一站点 101A 切换到第二站点 101B。具体地说, 进行从 第一主机 103A 向第二主机 103B 的故障切换 (failover)(S41)。第二主机 103B 向第二存储 器 105B 发送预定的命令 (S42)。
     第二存储器 105B 接收预定的命令。 此时如图 4 所示, 通过存储器 105B 和 / 或 105C 将镜像 #2 设为有效, 第二以及第三 JNL 组 112B 以及 112C 的状态暂时成为 “主 / 还原” 。为 了 S43 的判断, 在第二存储器 105B 和第三存储器 105C 之间交换 SEQ#。状态 “主 / 还原” 表 示是复制源, 也是复制目的地。到差分远程同步 ( 后述 ) 结束为止, 第二以及第三 JNL 组 112B 以及 112C 的状态是 “主 / 还原” 。
     第二存储器 105B 应答预定的命令, 向第三存储器 105C 请求在第三存储器 105C 中 最近反映的 JNL 所具有的 SEQ#( 以下称为 SEQ#(3))( 发送时序序号取得请求 ), 应答该请 求, 从第三存储器 105C 接收 SEQ#(3)。 第二存储器 105B 判断 SEQ#(3) 和在第二存储器 105B 中最近反映的 JNL 所具有的 SEQ#( 以下称为 SEQ#(2)) 哪个新。根据该判断的结果, 进行图 8 以及图 9 中所示的差分远程同步。
     即, 在 SEQ#(3) 比 SEQ#(2) 新 的 情 况 下, 如 图 8 所 示, 第 二 存 储 器 105B 从 第 三 JVOL115C 读出一个以上的差分 JNL, 并写入第二 JVOL115B 中 (S44-1)。这里所说的 “一个 以上的差分 JNL” 是从具有 SEQ#(2) 的下一个 SEQ# 的 JNL 到具有 SEQ#(3) 的 JNL 为止的一 个以上的 JNL。第二存储器 105B 从具有 SEQ#(2) 的下一个 SEQ# 的日志开始, 先按 SEQ# 从 小到大的顺序向第二 DVOL113B 反映第二 JVOL115B 内的一个以上的差分 JNL(S45-1)。由 此, 第二 DVOL113B 内的数据与开始差分远程同步时的第三 DVOL113C 内的数据一致。
     另一方面, 在 SEQ#(2) 比 SEQ#(3) 新的情况下, 如图 9 所示, 第二存储器 105B 在第 三 JVOL115C 中写入第二 JVOL115B 内的一个以上的差分 JNL(S44-1)。这里所说的 “一个以 上的差分 JNL” 是从具有 SEQ#(3) 的下一个 SEQ# 的 JNL 到具有 SEQ#(2) 的 JNL 为止的一个 以上的 JNL。第三存储器 105C 从具有 SEQ#(3) 的下一个 SEQ# 的日志开始, 先按 SEQ# 从小 到大的顺序向第三 DVOL113C 反映第三 JVOL113C 内的一个以上的差分 JNL(S45-2)。由此, 第三 DVOL113C 内的数据与开始差分远程同步时的第二 DVOL113B 内的数据一致。
     此后, 第二站点 101B 成为运用站点, 继续业务。具体地说, 如图 5 所示, 第二 JNL 组 112B 的状态变为 “主” , 第三 JNL 组 112C 的状态变为 “还原” 。从而如图 10 所示, 第二DVOL113B 成为 PVOL, 第三 DVOL113C 成为 SVOL。第二主机 103B 在 PVOL113B 中写入数据 (S51)。第二存储器 105B 更新 SEQ#, 制作具有 SEQ# 和在 PVOL113B 中写入的数据的 JNL, 并 将制作的 JNL 写入第二 JVOL115B 中 (S52)。第三存储器 105C 从第二 JVOL115B 读出 JNL, 并将读出的 JNL 写入第三 JVOL115C 中 (S53)。第三存储器 105C 按 SEQ# 从小到大的顺序向 SVOL113C 反映第三 JVOL115C 内的 JNL(S54)。
     根据本实施例, 第二存储器 105B 从第三存储器 105C 取得 SEQ#(3), 判断 SEQ#(3) 和 SEQ#(2) 中的哪个新, 根据该判断的结果控制从第二以及第三存储器 105B 以及 105C 中 的哪一个向哪一个转发一个以上的差分 JNL。由此, 即使在第一存储器 105A 中发生了故 障也能够恰当地继续业务。此外, 转发的一个以上的差分 JNL 不超过第二以及第三存储器 105B 以及 105C 之间的差分, 因此能够把所转发的 JNL 的数量抑制得较少。
     以下详细说明本实施例。此时, 以第一站点 101A 内的要素为例进行了说明, 但是 没有特别说明的话, 第二以及第三站点 101B 以及 101C 内的要素实质上与第一站点 101A 内 的要素相等。
     图 11 表示第一存储器 105A 的结构。
     第 一 存 储 器 105A 具 有 第 一 DKC111A、多 个 RAID(Redundant Array of Independent(or inexpensive)Disk) 组 ( 以 下 称 为 RG)900A。RG900A 由 多 个 HDD(Hard Disk Drive) 构成。也可以采用闪速存储器等其他物理存储设备来代替 HDD。一个或多个 逻辑卷基于一个 RG900A。逻辑卷是例如前述的 DVOL 或 JVOL, 其中的哪一个都可以是作 为 RG900A 的存储空间的一部分的实体的逻辑卷, 也可以是从基于一个以上的 RG900 构成 的池 ( 由多个实际区域构成的存储区域 ) 动态分配实际区域的虚拟的逻辑卷 ( 遵从 Thin Provisioning 的技术的虚拟的逻辑卷 )。
     DKC111A 具有多个前端接口装置 ( 以下称为 FE-IF)610A、 后端接口装置 ( 以下称 为 BE-IF)150A、 高速缓冲存储器 ( 以下称为 CM)620A、 共享存储器 ( 以下称为 SM)640A 以及 与它们连接的一个以上的 CPU(Central Processing Unit)630A。DKC111A 的处理可以通过 CPU630A 执行一个以上的计算机程序来进行, 但也可以通过硬件电路来执行该处理中的至 少一部分。
     在多个 FE-IF610A 上连接了第一主机 103A、 第二以及第三存储器 105B 以及 105C。 DKC111A(CPU630A) 经由 FE-IF610A 与第一主机 103A、 第二以及第三存储器 105B 以及 105C 进行通信。
     在 BE-IF150A 上连接了多个 RG900A。 DKC111A(CPU630A) 经由 BE-IF150A 在成为写 入目的地逻辑卷 ( 例如第一 DVOL113A 或第一 JVOL115A) 的基础的 RG900A 中写入数据 ( 或 JNL)。
     CM620A 对在 RG900A 中写入的数据 ( 以及 JNL)、 从 RG900A 读出的数据 ( 以及 JNL) 进行存储。
     SM640A 对在 DKC111A 的处理的控制中使用的各种控制信息进行存储。
     CPU630A 控制 DKC111A 进行的处理。
     以上说明了第一存储器 105A 的结构。另外, DKC111A 并不限于图 11 中所示的结 构, 也可以具有其他结构。此外, 第二以及第三存储器 105B 以及 105C 的结构与第一存储器 105A 的结构实质上相同。DKC111B 或 111C 的结构也可以与 DKC111A 的结构不同。图 12 表示 JNL 的结构, 图 13 表示 JVOL115A 的结构。
     JNL 由元 (meta) 信息和数据构成。
     JVOL115A 由元区域 1201A 和数据区域 1203A 构成。元区域 1201A 存储元信息, 数 据区域 1203A 存储数据。另外, 元区域 1201A 也可以存在于 CM620A 等与 RG900A 不同的存 储资源中。
     图 14 表示元信息的结构。
     元信息是与在 JNL 中包含的数据有关的管理信息。元信息例如包含以下的信息 :
     (*)SEQ#、
     (*) 写目的地信息 ( 表示在 DVOL 的哪个部分写入数据的信息 )、
     (*)PVOL#( 复制源的 DVOL 的序号 )、
     (*)SVOL#( 复制目的地的 DVOL 的序号 )、
     (*) 表示与该元信息对应的数据的 JVOL 中的位置的信息 ( 在 JVOL 中写入 JNL 时 包含该信息 )。
     通常, 第一 DKC111A 管理 SEQ#。 在每个 JNL 组 112A 中有 SEQ#。 在某个 JNL 组 112A 内的 DVOL113A 中写入了数据时, 第一 DKC111A 更新与该 JNL 组 112A 相对应的 SEQ#。SEQ# 例如存储在 SM640A 或其他存储资源中。
     在第一存储器 105A 中发生了故障, 第二站点 101B 成为了运用站点时, 第二存储器 105B 管理每个 JNL 组 112B 的 SEQ#。
     如图 15 所示, SM640A 作为控制信息来存储例如 JVOL 有效位图 701A、 DVOL 有效位 图 702A、 JVOL 管理表 703A、 JNL 组管理表 704A、 对 (pair) 管理表 705A、 差分位图 706A 以及 镜像位图 707A。同样, 第二存储器 105B 内的 SM640B 存储控制信息 701B ~ 707B, 第三存储 器 105C 内的 SM640C 存储控制信息 701C ~ 707C。以下, 以控制信息 701A ~ 707A 为代表进 行说明,
     JNL 组例如能够具有最大 64 个逻辑卷。如图 16 所示, JVOL 有效位图 701A 在每一 JNL 组中具有 64 个位 (bit)。 如果第 n 个 (n 是 0 以上 63 以下的整数 ) 逻辑卷是 JVOL115A, 则第 n 个位为开 (ON)( 例如 1)。
     如图 17 所示, DVOL 有效位图 702A 在每一 JNL 组中具有 64 个位。如果第 n 个 (n 是 0 以上 63 以下的整数 ) 逻辑卷是 JVOL115A, 则第 n 个位为开 ( 例如 1)。
     JVOL 管 理 表 703A 存 在 于 每 个 JNL 组 112A 中。 如 图 18 所 示, 表 703A 在 每 一 JVOL115A 中具有表示元区域的开头地址的信息、 表示元区域的大小的信息、 表示数据区域 的开头地址的信息、 表示数据区域的大小的信息。即、 表 703A 表示在每一 JVOL115A 中从哪 到哪是元区域、 从哪到哪是数据区域。
     JNL 组管理表 704A 具有与 JNL 组有关的信息。具体地说, 例如, 如图 19 所示, 表 704A 在每一 JNL 组中具有下述的信息 :
     (*) 表示 JNL 组的序号的 JNL 组 #1001A、
     (*) 表示 JNL 组的状态的状态 1002A、
     (*) 表示本实施例的远程复制系统中存在的镜像的序号的镜像 #1003A、
     (*) 表示对方的 JNL 组的序号的对方 JNL 组 #1004A、
     (*) 表示具有对方的 JNL 组的存储装置的序号的对方存储器 #1005A、(*) 表示最近被清除的 JNL 具有的 SEQ# 的已清除 SEQ#1006A、
     (*) 表示可以清除的 JNL 具有的 SEQ# 的可清除 SEQ#1007A、
     (*) 表示最近读出的 JNL 具有的 SEQ# 的已读取 SEQ#1008A。
     对管理表 705A 具有与 DVOL 彼此的对有关的信息。具体地说, 例如, 如图 20 所示, 表 705A 在每一 DVOL113A 中具有以下信息 :
     (*) 表示 DVOL113A 的序号的 DVOL#1101A、
     (*) 表示包含 DVOL113A 的 JNL 组 112A 的序号的 JNL 组 #1102A、
     (*) 表示 DVOL113A 的复制目的地的 DVOL 的序号的复制目的地 VOL#1103A、
     (*) 关于 DVOL113A 和复制目的地的 DVOL 的对, 表示 DVOL113A 的对状态的状态 1104A。
     每一 DVOL113A 具有差分位图 706A。DVOL113A 由多个块构成。差分位图 706A 表 示更新了 DVOL113A 的哪个块。即、 差分位图 706A 所具有的位与块相对应。在 DVOL113A 的 对状态为预定的状态时, 更新差分位图 706A。具体地说, 例如在某个 DVOL113A 的对状态为 预定的状态、 且在该 DVOL113A 内的某个块中写入了数据时, DKC111A 将与该 DVOL113A 对应 的差分位图 706A 中的、 与该块对应的位变更为开 ( 例如 1)。
     镜像位图 707A 表示哪个镜像有效、 哪个镜像无效。具体地说, 镜像位图 707A 具有 与多个镜像对应的多个位。例如, 通常镜像 #0 以及 #1 有效、 镜像 #2 无效 ( 参照图 6)。此 时, 与镜像 #0 以及 #1 对应的位为开 ( 例如 1), 与镜像 #2 对应的位为关 (OFF)( 例如 0)。 此外, 在第一存储器 105A 发生了故障时, 镜像 #0 以及 #1 无效, 镜像 #2 有效 ( 参照图 10)。 此时, 与镜像 #0 以及 #1 对应的位为关, 与镜像 #2 对应的位为开。
     以下说明在本实施方式中进行的几个处理。
     < 形成复制 >
     在从 PVOL 向 SVOL 的非同步复制 ( 利用 JNL 的远程复制 ) 开始之前, 需要使 PVOL 具有的数据 (PVOL 的内容 ) 与 SVOL 具有的数据 (SVOL 的内容 ) 互相一致。为此进行形成 复制。所谓 “形成复制” , 是使 PVOL 的内容与 SVOL 的内容一致的复制。
     如图 21 所示, 有时 PVOL113A 和 SVOL113B 的对的状态、 以及 PVOL113A 和 SVOL113C 的对的状态的双方被设为挂起 (S2101-1、 S2101-2)。具体地说, PVOL113A 的对状态成为 “PSUS” ( 主设备 (primary) 的挂起 )、 SVOL113B 以及 113C 的对状态成为 “SSUS” 。此时, 第 一 DKC111A 将与包含该 PVOL113A 的 JNL 组 112A 相对应的 SEQ# 复位为预定值 ( 例如 0)。
     此时, 即使在 PVOL113A 中写入了数据, 第一 DKC111A 也不制作具有该数据的 JNL。 第一 DKC111A 在 PVOL113A 的某个写入目的地块中写入了数据时 (S2102), 若该 PVOL113A 的 对状态为 “PSUS” , 则使与该 PVOL113A 对应的差分位图 706A 中的、 与写入目的地块对应的位 为开 ( 例如 1)(S2103)。在 PVOL113A 的对状态为 “PSUS” 的情况下, 每次在 PVOL113A 中的 未更新的块中写入数据时, 进行 S2103。
     第一 DKC111A 从第一主机 103A( 或与第一 DKC111A 连接的未图示的管理终端 ) 接 收形成复制指示 (S2111)。该形成复制指示的接收是开始进行形成复制的的契机。可以对 于第一对 (PVOL113A 和 SVOL113B 的对 ) 和第二对 (PVOL113A 和 SVOL113C 的对 ) 并行进行 形成复制, 但在本发明中不是并行执行, 而是依次执行。因此, 能够缓和对 PVOL113A 的访问 的集中。例如, 首先如图 21 所示, 对第一对进行形成复制。即、 第一 DKC111A 确定与在差 分位图 706A 中成为开 (ON) 的位对应的块 ( 与该差分位图 706A 对应的 PVOL113A 中的 块 )。然后, 第一 DKC111A 制作具有所确定的块内的数据的 JNL, 不将制作的 JNL 存储在第 一 JVOL115A 内, 而写入第二 JVOL115B(S2112)。第二 DKC111B 将第二 JVOL115B 内的 JNL 反 映到 SVOL113B(S2113)。针对 PVOL113A 中的全部已更新的块 ( 与成为开 (ON) 的位对应的 块 ), 进行 S2112 以及 S2113。
     在对于第一对结束形成复制后, 对于第二对进行形成复制。即、 第一 DKC111A 制 作具有 PVOL113A 中的已更新的块内的数据的 JNL, 不将制作的 JNL 存储在第一 JVOL115A 内, 而是写入第三 JVOL115C 内 (S2115)。第三 DKC111C 将第三 JVOL115C 内的 JNL 反映到 SVOL113C(S2116)。针对 PVOL113A 中的全部已更新的块, 进行 S2115 以及 S2116。
     < 写处理以及 JNL 制作处理 >
     如 图 22 所 示, 第 一 DKC111A 从 第 一 主 机 103A 接 收 指 定 了 PVOL113A 的 写 请 求 (S2201), 在 CM630A 中确保 CM 区域 ( 高速缓冲存储器区域 ), 在确保的 CM 区域中写入按照 该写请求的数据 ( 写对象数据 )(S2202)。第一 DKC111A 可以在该时刻向第一主机 103A 应 答写入结束。 第一 DKC111A 将 CM630A 内的写对象数据写入 PVOL113A(S2203)。
     第一 DKC111A 更新与包含该 PVOL113A 的 JNL 组 112A 对应的 SEQ#(S2211)。第一 DKC111A 制作 JNL(S2212), 将制作的 JNL 写入第一 JVOL115A。在 S2212 中制作的 JNL 具有 : 包含在 S2211 中更新的 SEQ#( 或更新前的 SEQ#) 的元信息、 以及在 S2203 中写入 PVOL113A 的数据。该数据可以是从 PVOL113A 读出的数据, 也可以是在 CM630A 中剩余的数据。
    
     采用第二 DKC111B 从第一 JVOL115A 读出 JNL 的情形为例说明 JNL 读处理。
     如图 23 所示, 第二 DKC111B 计算读对象 SEQ#(S2301)。 “读对象 SEQ#” 是应该读取 的 JNL 中包含的 SEQ#。具体地说, 读对象 SEQ# 是在与 JNL 组 112B 的镜像 #0 对应的已读取 的 SEQ#1008B(JNL 组管理表 704B 内的信息 1008B) 表示的值上加 1 而得的值 ( 即已读取的 SEQ#1008B 表示的值的下一个值 )。
     第二 DKC111B 向第一存储器 105A 发送读请求 (S2302)。该读请求具有在 S2301 中 计 算 出 的 读 对 象 SEQ#、 和 成 为 JNL 的 读 取 源 的 JVOL115A 的 序 号 ( 或 与 其 对 应 的 LUN(Logical Unit Number))。例如根据 SM640B 存储的控制信息确定 JVOL115A 的序号。 具体地说, 控制信息包含与具有 SVOL113B 的 JNL 组 112B 相对应的 JNL 组 112A 所具有的 JVOL112A 的序号。
     第一 DKC111A 从第二 DKC111B 接收读请求。第一 DKC111A 根据该读请求, 从读取 源 JVOL115A 确定具有读对象 SEQ# 的 JNL(S2303)。 第一 DKC111A 从作为读取源的 JVOL115A 中读取所确定的 JNL, 并将读取的 JNL 经由第一以及第二存储器 105A 以及 105B 之间的数据 转发路径发送给第二 DKC111B(S2304)。
     第 二 DKC111B 从 第 一 DKC111A 接 收 JNL,并 将 接 收 到 的 JNL 写 入 第 二 JVOL115B(S2305)。第二 DKC111B 将与具有 SVOL113B 的 JNL 组 112B 的镜像 #0 相对应的已 读取的 SEQ#1008B 所表示的值变更为读对象 SEQ# 所表示的值 (S2306)。即、 第二 DKC111B 在该已读取的 SEQ#1008B 所表示的值上加 1。
    
     以第二存储器 105B 中的 JNL 的反映为例, 说明 JNL 的反映处理。
     如图 24 所示, 第二 DKC111B 向 SVOL113B 反映 JNL(S2401), 该 JNL 是第二 JVOL115B 内的一个以上的未反映的 JNL 中的、 具有最旧的 SEQ# 的 JNL。具体地说, 第二 DKC111B 从第 二 JVOL115B 读出包含比与 JNL 组 112B 的镜像 #0 对应的可清除的 SEQ#1007B(JNL 组管理 表 704B 具有的信息 1007B) 表示的值大 1 的 SEQ# 的 JNL, 并将读取的 JNL 所具有的数据写 入 SVOL113B。
     第二 DKC111B 变更与 JNL 组 112B 的镜像 #0 对应的可清除的 SEQ#1007B 表示的值 (S2402)。具体地说, 第二 DKC111B 在该可清除的 SEQ#1007B 表示的值上加 1。
     第二 DKC111B 向第一 DCK111A 通知更新后的可清除 SEQ#1007B 表示的值 (S2403)。
     第一 DKC111A 将与 JNL 组 112A 的镜像 #0 相对应的可清除的 SEQ#1007A 所表示的 值变更为从第二 DKC111B 通知的值 (S2404)。
    
     各 DKC 定期 ( 或不定期 ) 核对具有该 DKC 的存储器内的 JVOL。以下, 以第一存储 器 105A 为例对其进行说明。 第一 DKC111A 定期 ( 或不定期 ) 进行图 25 中所示的处理。
     即、 第一 DKC111A 判断第一 JVOL115A 的使用率 ( 第一 JVOL115A 中的一个以上的 JNL 的总容量相对于第一 JVOL115A 的容量的比例 ) 是否超过预定的阈值 (S2501)。如果该 判断的结果为否定 (S2501 : 否 ), 则结束处理。
     如果该判断的结果为肯定 (S2501 : 是 ), 则第一 DKC111A 判断在第一 JVOL115A 内 的 JNL 中是否存在可清除的 JNL(S2502)。可清除的 JNL 是从以下的 (A) 的 JNL 到 (B) 的 JNL。
     (A) 作为 SEQ# 而包含与 JNL 组 112A 相对应的已清除的 SEQ#1006A( 参照图 19) 所 表示的值的 JNL。
     (B) 作为 SEQ# 而包含与 JNL 组 112A 的镜像 #0 相对应的可清除的 SEQ#1007A 所表 示的值、 和与 JNL 组 112A 的镜像 #1 相对应的可清除的 SEQ#1007A 所表示的值中的较小一 方的值的 JNL。
     如果 S2502 的判断结果为肯定 (S2502 : 是 ), 则第一 DKC111A 从第一 JVOL115A 中 清除可清除的 JNL(S2503)。此后, 第一 DKC111A 进行 S2501。
     如果 S2502 的判断结果为否定 (S2502 : 否 ), 则第一 DKC111A 将成为瓶颈 (neck) 的对 (pair) 挂起 (S2504)。 “成为瓶颈的对” 是与镜像 #0 以及镜像 #1 中的某一个对应的 对, 是可清除的 SEQ#10007A 表示的值较小的一方的对。该对为瓶颈的理由是, 小的一方的 可清除的 SEQ#10007A 比大的一方的可清除的 SEQ#10007A 小得多, 所以可清除的 JNL 的数 量变少。
     在将成为瓶颈的对挂起的情况下, 可清除的 JNL 的数量增加。具体地说, 可清除的 JNL 是到作为 SEQ# 而包含大的一方的可清除的 SEQ#10007A 所表示的值的 JNL 为止。因此, 第一 DKC111A 在 S2504 之后进行 S2502 以及 S2503。
     此外, 第一 DKC111A 在将成为瓶颈的对挂起的情况下, 对于该对进行差分管理以 及远程同步 (S2510)。具体地说, 进行下述步骤 ( 在这里的说明中, 假设成为瓶颈的对是与
     镜像 #1 对应的对 )。
     (*) 第一 DKC111A 在 PVOL113A 中写入了数据的情况下, 如果与该数据的写入目的 地块对应的位 ( 与 PVOL113A 对应的差分位图 706 内的位 ) 为关, 则使该位为开。
     (*) 第一 DKC111A 在预定的时刻 ( 例如从第一主机 103A( 或管理终端 ) 接收到远 程同步指示时 ) 进行远程同步。具体地说, 第一 DKC111A 在第三 JVOL115C 中写入包含与为 开 (ON) 的位相对应的块内的数据的 JNL。
     另外, 即使是将与镜像 #0 以及镜像 #1 相对应的对中的瓶颈对挂起, 并进行了 S2502 以及 S2503 之后, 在 S2501 的判断的结果为肯定的情况下, 该 S2502 的判断的结果 也变为否定。此时, 第一 DKC111A 将剩余的对也挂起。结果, 在图 21 中, 进行 S2101-1 和 S2101-2 双方。此时, 与 JNL 组 112A 有关的全部 JNL 是可清除的 JNL, 所以如果在 S2503 中 清除这些 JNL, 则 S2501 的判断的结果必然变为否定, 结束处理。
     < 在第一存储器 105A 中发生故障时进行的处理 >
     如图 26 所示, 在第一存储器 105A 中发生了故障时 (S2601), 进行从第一主机 103A 向第二主机 103B 的故障切换 (S2602)。
     然 后, 第 二 主 机 103B, 作 为 预 定 的 命 令, 将接管命令发送给第二存储器 105B(S2603)。
     接着, 第二 DKC111B 应答接管命令, 更新各种状态 (S2604)。具体地说, 例如, 第二 DKC111B 进行下述的更新。
     (*) 将与 DVOL113B 以及镜像 #0 相对应的对状态更新为 “SSWS” 。如果 DVOL113B 为 SVOL, 则第二 DKC111B 通常禁止从第二主机 103B 向 DVOL113B 的数据写入, 但 “SSWS” 表 示即使 DVOL113B 为 SVOL, 也许可数据的写入。
     (*) 将与 DVOL113B 以及镜像 #1 对应的对状态更新为 “SSUS” 。 “SSUS” 表示与镜像 #1 相对应的对被挂起。由此, 即使与镜像 #0 相对应的对状态成为 “SSWS” , 也维持从第二主 机 103B 向 DVOL113B 的数据写入的禁止。
     (*) 将 DVOL113B 的状态变更为 “HOLD” 。 “HOLD” 表示等待差分远程同步的开始。
     (*) 使镜像位图 707B 中的、 与镜像 #0 相对应的位为关, 与镜像 #2 对应的位为开。
     接着, 第二 DKC111B 从第三存储器 105C 取得可清除的 SEQ# 所表示的值 (S2605)。 具体地说, 例如, 第二 DKC111B 经由第二以及第三存储器 105B 以及 105C 之间的控制路径, 向第三存储器 105C 请求与 JNL 组 112C 以及镜像 #2 相对应的可清除的 SEQ#1007C(JNL 组管 理表 704C 内的信息 1007C) 所表示的值。第三 DKC111C 应答该请求, 经由上述控制路径, 向 第二 DKC111B 通知与 JNL 组 112C 以及镜像 #2 相对应的可清除的 SEQ#1007C 所表示的值。
     然后, 第二 DKC111B 比较与 JNL 组 112B 以及镜像 #2 相对应的可清除的 SEQ#1007B 所表示的值、 和所取得的可清除的 SEQ#1007C 所表示的值 (S2606)。即, 第二 DKC111B 比较 在第二存储器 105B 中最近反映的 JNL 所具有的 SEQ#( 以下称为 SEQ#(2)) 与在第三存储器 105C 中最近反映的 JNL 所具有的 SEQ#( 以下称为 SEQ#(3))。
     然后, 第二 DKC111B 判断是否能够进行差分远程同步 (S2607)。
     在此, 说明可进行差分远程同步的情形以及不能进行差分远程同步的情形。此 时, 将 SEQ#(2) 以 及 SEQ#(3) 中 较 大 的 SEQ# 称 为 “SEQ#( 大 )” , 将 较 小 的 SEQ# 称 为 “SEQ#( 小 )” 。此外, 在第二以及第三存储器 105B 以及 105C 中的具有 SEQ#( 大 ) 的存储器称为存储器 ( 大 ), 将另一方的存储器称为存储器 ( 小 )。
     可进行差分远程同步的情形是图 27 所示的情形, 即与存储器 ( 大 ) 的 JNL 组以 及镜像 #2 相对应的已清除 SEQ# 所表示的值在 SEQ#( 小 ) 以下的情形。换言之, 是存储器 ( 大 ) 具有从包含 SEQ#( 小 ) 的下一个 SEQ#( 等于 SEQ#( 小 )+1 的 SEQ#) 的 JNL( 以下称为 JNL(X)) 到包含 SEQ#( 大 ) 的 JNL( 以下称为 JNL(Y)) 的情形。以下, 将从 JNL(X) 至 JNL(Y) 的一个以上的 JNL( 即包含从等于 SEQ#( 小 )+1 的 SEQ# 到 SEQ#( 大 ) 为止的 SEQ# 的一个 以上的 JNL) 称为 “一个以上的差分 JNL” 。
     另一方面, 不能进行差分远程同步的情形是图 28 所示的情形, 即与存储器 ( 大 ) 内的 JNL 组以及镜像 #2 对应的已清除的 SEQ# 所表示的值成为大于 SEQ#( 小 ) 的下一个 SEQ#( 等于 SEQ#( 小 )+1 的 SEQ#) 的值的情形。这是由于 SEQ# 不连续而导致的。
     再参照图 26。
     在 S2607 的判断的结果为否定的情况下 (S2607 : 否 ), 第二 DKC111B 进行全部复制 (S2608)。即第二 DKC111B 将具有 SEQ#(2) 和 SEQ#(3) 中的大的一方的 SEQ# 的存储器内的 DVOL( 例如 DVOL113B) 中所存储的全部数据复制到具有 SEQ#(2) 和 SEQ#(3) 中的小的一方 的 SEQ# 的存储器内的 DVOL( 例如 DVOL113C) 中。由此, DVOL113B 的内容和 DVOL113C 的内 容一致。
     S2607 的 判 断 结 果 为 肯 定 的 情 况 下 (S2607 : 是 ), 如 果 SEQ#(2) 大 于 SEQ#(3) (S2609 : 是 ), 则进行从第二存储器 105B 向第三存储器 105C 的差分远程同步 (S2610)。即, 进行图 9 中所示的差分远程同步。具体地说, 第二 DKC111B 通过从第二 JVOL115B 读取一 个以上的差分 JNL, 并向第三存储器 105C 发送一个以上的差分 JNL 的写请求 ( 指定了第三 JVOL115C 的写请求 ), 在第三 JVOL115C 中写入一个以上的差分 JNL( 也可以代替该操作, 由第三 DKC111C 发送指定了第二 JVOL115B 的读请求 ( 包含从 SEQ#(3) 的下一个 SEQ# 到 SEQ#(2) 的读请求 ), 对其进行应答, 从第二存储器 105B 接收一个以上的 JNL 差分, 并将该 一个以上的差分 JNL 写入第三 JVOL115C)。第三 DKC111C 从具有 SEQ#(3) 的下一个 SEQ# 的 JNL 开始, 先按 SEQ# 从小到大的顺序将第三 JVOL115C 内的一个以上的 JNL 差分反映到 DVOL113C。由此, DVOL113C 的内容与 DVOL113B 的内容一致。
     在 S2607 的判断的结果为肯定的情况下 (S2607 : 是 ), 如果 SEQ#(2) 小于 SEQ#(3) (S2609 : 否 ), 则进行从第三存储器 105B 向第二存储器 105C 的差分远程同步 (S2611)。即 进行图 8 中所示的差分远程同步。具体地说, 第二 DKC111B 发送指定了第三 JVOL115C 的 读请求 ( 包含从 SEQ#(2) 的下一个 SEQ# 到 SEQ#(3) 的读请求 ), 应答该读请求, 从第三存 储器 105C 接收一个以上的差分 JNL, 并将该一个以上的差分 JNL 写入第二 JVOL115B( 也可 以代替该操作, 由第三 DKC111B 从第三 JVOL115C 读取一个以上的差分 JNL, 并向第二存储 器 105B 发送一个以上的差分 JNL 的写请求 ( 指定了第二 JVOL115B 的写请求 ), 由此将一 个以上的差分 JNL 写入第二 JVOL115B)。第二 DKC111B 从具有 SEQ#(2) 的下一个 SEQ# 的 JNL 开始, 先按 SEQ# 从小到大的顺序, 将第二 JVOL115B 内的一个以上的差分 JNL 反映到 DVOL113B。由此, DVOL113B 的内容与 DVOL113C 的内容一致。
     如图 29 所示, 第二 DKC111B 在 S2610 或 S2611 的差分远程同步结束的情况下 (S2609 : 是 ), 许可从第二主机 103B 向第二 DVOL113B 的数据的写入 (S2902)。具体地说, 第 二 DKC111B 将与 DVOL113B 以及镜像 #2 相对应的对状态更新为 “SSWS” ( 即写许可 )。由此,不仅与 DVOL113B 以及镜像 #0 对应的对状态, 与镜像 #2 对应的对状态也成为 “SSWS” , 所以 能够进行从第二主机 103B 向第二 DVOL113B 的数据写入。 另外, 在结束了 S2601 或 S2611 的 差分远程同步的情况下, 第二 DKC11B 将第二 DVOL113B 作为 PVOL( 第三 DVOL113C 为 SVOL)。
     此后, 在第二站点 101B 中继续进行业务。在第二站点 101B 中, 与 JNL 组 112B 相 对应的 SEQ# 的初始值是 SEQ#(2) 以及 SEQ#(3) 中的大的一方的 SEQ# 的下一个 SEQ#( 即在 SEQ#(2) 以及 SEQ#(3) 中的大的一方的 SEQ# 上加 1 而得的值 )。
     第二主机 103B 根据业务向第二存储器 105B 发送指定了 PVOL113B 的写请求。 第二 DKC111B 将按照该写请求的数据写入 CM630B 中, 此后写入 PVOL113B 中。第二 DKC111B 更新 SEQ#, 制作包含更新后的 SEQ#( 或更新前的 SEQ#) 以及在 PVOL113B 中写入的数据的 JNL, 并 写入第二 JVOL115B 中。第三 DCK111C 通过向第二存储器 105B 发送指定了第二 JVOL115B 的读请求, 从第二存储器 105B 接收第二 JVOL115B 内的 JNL。第三 DKC111C 将接收到的 JNK 写入第三 JVOL115C。第三 DKC111C 将第三 JVOL115C 内的未反映的 JNL, 按 SEQ# 从小到大 的顺序向 SVOL113C 反映。 通过该一连串的处理, 写入 PVOL113B 的数据被复制到 SVOL113C。
     以上, 根据实施例 1, 在运用站点的切换目的地的站点 101B 中, 第二存储器 105B 取得在第三存储器 105C 中最近反映的 JNL 的 SEQ#(SEQ#(3)), 将 SEQ#(3) 与在第二存储器 105B 中最近反映的 JNL 所具有的 SEQ#(SEQ#(2)) 进行比较。此外, 第二存储器 105B 根据具 有 SEQ#(2) 以及 SEQ#(3) 中的大的一方的 SEQ# 的存储器中的已清除的 SEQ#、 和 SEQ#(2) 以 及 SEQ#(3) 中的小的一方的 SEQ# 的关系, 判断是否可以进行差分远程同步。然后, 基于该 判断结果和 SEQ#(2) 以及 SEQ#(3) 的关系进行差分远程同步。由此, 即使第一存储器 105A 因故障等原因而停止, 也能够恰当地继续进行业务。
     此外, 根据实施例 1, 在多个复制目的地 JNL 组中共用在一个复制源 JNL 组中所包 含的 JVOL。换言之, 在一个复制源 JNL 组中所包含的 JVOL 的数量不依赖于复制目的地 JNL 组的数量。由此能够节约在第一存储器 105A 中消耗的存储容量。
     实施例 2
     以下, 说明本发明的实施例 2。此时主要说明与实施例 1 的不同点, 省略或简略说 明与实施例 1 的共同点 ( 这一点对于后述的实施例 3 以及 4 也相同 )。
     在实施例 2 中, 在差分远程同步中也许可对第二 DVOL113B 的数据写入。 具体地说, 如图 30 所示, 第二 DKC111B 在判断图 26 的 S2607 中成为 “是” 的情况下 (S3001 : 是 ), 许可 从第二主机 103B 向第二 DVOL113B 的数据写入 (S3002)。具体地说, 第二 DKC111B 将与第 二 DVOL113B 以及镜像 #0 相对应的对状态、 和与第二 DVOL113B 以及镜像 #2 相对应的对状 态的双方变更为 “SSWS” 。另外, “判断 S2607 中成为 “是” 的情况下” 是确定了进行在 S2610 和 S2611 中的某一个的差分远程同步的时候。
     但是, 此时如果不采取任何措施则会产生以下问题。即, 在从第三存储器 105C 向 第二存储器 105B 的差分远程同步中, 在具有从第二主机 103B 写入的数据 ( 最新的数据 ) 的块 (DVOL113B 内的块 ) 中, 有可能写入差分 JNL 内的数据 ( 旧的数据 )。
     为了避免该问题, 在实施例 2 中, 在确定了从第三存储器 105C 向第二存储器 105B 进行差分远程同步的情况下, 进行图 31 中所示的处理。
     即, 第 二 DKC111B, 在 从 第 二 主 机 103B 接 收 到 指 定 了 DVOL113B 的 写 请 求 时 (S3101), 在 DVOL113B 中的写入目的地的块中写入作为写对象的数据 (S3102)。此时, 第二 DKC111B 将该写入目的地块作为 JNL 的非反映目的地来管理 (S3103)。具体地说, 例 如, SM640B 存储表示不需要 JNL 的反映的写入目的地的非反映管理信息, 第二 DKC111B 在 SM640B 中, 将 DVOL113B 的 序 号 和 DVOL113B 的 块 的 地 址 ( 例 如 LBA(Logical Block Address)) 登记在非反映管理信息中。
     如图 32 所示, 第二 DKC111B, 在从第二 JVOL115B 读出了 JNL 的情况下, 如果该 JNL 的反映目的地的块 (DVOL113B 中的块 ) 不是非反映目的地 (S3202 : 否 ), 则反映该 JNL(S3203), 但如果该 JNL 的反映目的地的块为非反映目的地 (S3202 : 是 ), 则不反映该 JNL(S3204)。
     在 S3202 中, “JNL 的反映目的地的块是否为非反映目的地” 是指例如该反映目的 地的块的地址是否登记在上述非反映管理信息中。
     在 S3204 中, “不反映 JNL”是指例如忽略 JNL。被忽略的 JNL 也可以留在第二 JVOL115B 中, 也可以立即从第二 JVOL115B 中被删除。
     根据实施例 2, 与实施例 1 相比能够尽快开始业务, 而且也可以避免因在差分远程 同步中 DVOL113B 为写入许可状态而产生的问题 ( 在写入了最新的数据的块中, 写入差分 JNL 内的旧的数据 )。
     实施例 3
     在实施例 3 中, 在差分远程同步中也许可第二主机 103B 从第二 DVOL113B 读取数 据 ( 在实施例 1 中禁止该读取 )。具体地说, 例如第二 DKC111B 设为在图 26 的 S2607 中判 断为 “是” 的情况下许可从第二 DVOL113B 中读出数据的状态。
     但是, 此时如果不采取任何措施则会产生以下问题。即, 在从第三存储器 105C 向 第二存储器 105B 的差分远程同步的进行中, 第二主机 103B 从 DVOL113B 读出的数据, 有可 能是旧的数据而不是最新的数据 (SEQ# 最大的差分 JNL 所具有的数据 )。
     为了避免该问题, 实施例 3 在确定了进行从第三存储器 105C 到第二存储器 105B 的差分远程同步的情况下, 进行图 33 中所示的处理。
     即, 第二 DKC111B 在到结束差分远程同步为止的期间内接收到指定了 DVOL113B 的 读请求时 (S3301), 在 CM630B 中确保 CM 区域 (S3302), 判断差分远程同步是否是从第三存 储器 105C 向第二存储器 105B 的差分远程同步 (S3303)。
     在该判断结果为否定的情况下 (S3303 : 否 ), 第二 DKC111B 从在读请求中指定的读 取源块 (DVOL113B 内的块 ) 读出数据, 将读出的数据写入 CM 区域, 并将 CM 区域内的数据发 送至第二主机 103B(S3307)。
     在 S3303 的判断结果为肯定的情况下 (S3303 : 是 ), 第二 DKC111B 判断读取源块 成为反映目的地的最新的 JNL 是否位于第二 JVOL115B(S3304)。在此所说的 “最新的 JNL” 是第二以及第三 JVOL115B 以及 115C 所具有的一个以上的差分 JNL 中的、 读取源块成为反 映目的地的一个以上的 JNL 中的某一个, 是包含这些一个以上的 JNL 所具有的一个以上的 SEQ# 中的最大的 SEQ# 的 JNL。从而, 为了该判断, 第二 DKC111B 掌握第三 DVOL115B 内的差 分 JNL 所具有的 SEQ#。
     在该判断的结果为肯定的情况下 (S3304 : 是 ), 第二 DKC111B 从第二 JVOL115B 向 DVOL113B 内的读取源块反映最新的 JNL(S3306), 此后进行 S3307。 另外, 第二 DKC111B 在差 分远程同步中, 即使取得了上述读取源块为反映目的地的差分 JNL、 即比上述最新的 JNL 旧的差分 JNL( 包含比最新的 JNL 所具有的 SEQ# 小的 SEQ# 的 JNL), 也不向读取源块反映该差 分 JNL( 例如, 从第二 JVOL115B 中清除该 JNL)。此外, S3304 : 是的情况下的 S3307 中, 可以 代替从第二 DVOL113B 提供向第二主机 103B 发送的数据, 而从 JNL 提供向第二主机 103B 发 送的数据。
     在 S3304 的判断结果为否定的情况下 (S3304 : 否 ), 第二 DKC111B 向第三存储器 105C 发送包含最新的 JNL 的 SEQ# 的读请求, 由此从第三存储器 105C 接收最新的 JNL, 并 将该最新的 JNL 写入第二 JVOL115B。即, 第二 DKC111B 与其他 JNL 相比优先从第三存储器 105C 取得最新的 JNL。此后, 第二 DKC111B 进行上述的 S3306 以及 S3307。另外, 在 S3304 : 否的情况下的 S3307 中, 也可以代替从第二 DKC111B 提供发送给第二主机 103B 的数据, 而 从 JNL 提供发送给第二主机 103B 的数据。
     根据实施例 3, 与实施例 1 相比能够尽快开始业务, 而且也可以避免因在差分远程 同步中 DVOL113B 为读取许可状态而产生的问题 ( 向第二主机 103C 提供旧的数据而不是最 新的数据 )。
     实施例 4
     在实施例 4 中, 即使在存储器 105B 以及 105C 之间不进行全部差分 JNL 的转发, 也 能够进行差分远程同步。
     例如, 在图 26 的 S2606 之后, 第二 DKC111B 判断与差分 JNL 相当的未反映的 JNL 是否存在于旧存储器中 (S3401)。
     在此, “旧存储器” 是存储器 105B 或 105C 中作为可清除 SEQ# 而具有 SEQ#(2) 以及 SEQ#(3) 中的小的一方的 SEQ# 的存储装置。以下, 将存储器 105B 以及 105C 中的不是旧存 储器的一方称为 “新存储器” 。
     此外, “与差分 JNL 相当的未反映的 JNL 存在于旧存储器” 是指如图 35 所示, 在旧 存储器内的 JVOL 中存在具有大于旧存储器中的可清除的 SEQ# 的 SEQ# 的未反映 JNL。
     在旧存储器为第二存储器 105B 的情况下, 例如如果在第二 JVOL115B 中有至少一 个未反映的 JNL, 则 S3401 的判断结果是肯定。
     此外, 在旧存储器为第三存储器 105C 的情况下, 例如第二 DKC111B 向第三 DKC111C 询问一个以上的未反映的 JNL 中的最新的 JNL 具有的 SEQ# 表示的值, 由此能够进行 S3401 的判断。具体地说, 第二 DKC111B 通过比较从第三 DKC111C 回答的 SEQ#( 以下称为回答 SEQ#) 和 SEQ#(3)+1, 能够进行 S3401 的判断。如果回答 SEQ# 为 SEQ#(3)+1 以上, 则 S3401 的判断结果为肯定。
     在 S3401 的判断结果为否定的情况下 (S3401 : 否 ) 的情况下, 进行图 26 的 S2607。
     在 S3401 的判断结果为肯定的情况下 (S3401 : 否 ) 的情况下, 第二 DKC111B 判断 旧存储器内的未反映 JNL 是否足够 (S3402)。如果旧存储器内的最新的未反映 JNL 所具有 的 SEQ# 是一个以上的差分 JNL 中的最新的 JNL 所具有的 SEQ# 以上, 则该判断的结果是肯 定。
     如果该判断的结果为肯定 (S3402 : 是 ), 则旧存储器内的 DKC 向旧存储器内的 DVOL 反映旧存储器内的一个以上的未反映的 JNL 中的、 全部的相当于一个以上的差分 JNL 的 JNL(S3403)。假如, 未反映的 JNL 剩余, 则旧存储器内的 DKC 可以清除剩余的 JNL。
     如果 S3402 的判断结果为否定 (S3402 : 否 ) 则进行 S3404。即, 旧存储器内的 DKC从新存储器取得不足的部分的差分 JNL( 与旧存储器内的未反映的 JNL 和一个以上的差分 JNL 之间的差分相当的 JNL), 并将该差分 JNL 存储在旧存储器内的 JVOL。 然后, 旧存储器内 的 DKC 向旧存储器内的 DVOL 反映旧存储器内的 JVOL 内的全部未反映 JNL 以及差分 JNL。
     以上说明了本发明的几个实施例, 但本发明并不限定于这些实施例, 当然可以在 不脱离其主旨的范围内进行各种变更。
     例如, 也可以组合实施例 1 ~ 4 中的两个以上的实施例。
     此外, 例如在上述的说明中作为更新序号而使用了时序序号 (SEQ#), 但也可以采 用按规则变大或者变小的其他种类的序号。
     此外, 例如在实施例 1 ~ 4 中, 在第一存储器 105A 停止的情况下, 运用的切换目的 地的站点中的第二存储器 105B 进行各种处理 ( 例如判断是否可以进行差分 (Δ) 远程同 步 ), 但也可以通过第三存储器 105C 来进行实施例 1 ~ 4 中的至少一个中的各种处理中的 至少一个处理。
     此外, 例如全部 JNL 具有更新后的 SEQ#, 但也可以代替它们而具有更新前的 SEQ#。
     此外, 例如存储器 105A ~ 105C 中的至少一个存储器可以有多个 JNL 组。
     此外, 例如存储器 105A ~ 105C 中的至少一个存储器可以具有在 JNL 组中包含的 逻辑卷以外的逻辑卷。 此外, 例如存储装置之间的 JNL 的转发, 可以是通过复制目的地的存储装置从复 制源的存储装置内的 JVOL 读出 JNL 来进行的转发、 和复制源的存储装置在复制目的地的存 储装置内的 JVOL 中写入 JNL 来进行的转发中的任意一种。
     符号说明
     101A…第一存储装置 ; 101B…第二存储装置 ; 101C…第三存储装置
    

非同步远程复制系统以及存储控制方法.pdf_第1页
第1页 / 共49页
非同步远程复制系统以及存储控制方法.pdf_第2页
第2页 / 共49页
非同步远程复制系统以及存储控制方法.pdf_第3页
第3页 / 共49页
点击查看更多>>
资源描述

《非同步远程复制系统以及存储控制方法.pdf》由会员分享,可在线阅读,更多相关《非同步远程复制系统以及存储控制方法.pdf(49页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102326152A43申请公布日20120118CN102326152ACN102326152A21申请号201080008833222申请日20100407G06F12/0020060171申请人株式会社日立制作所地址日本东京都72发明人近藤修次奥元胜博74专利代理机构北京银龙知识产权代理有限公司11243代理人许静郭凤麟54发明名称非同步远程复制系统以及存储控制方法57摘要在第一存储装置停止的情况下,判断在第二存储装置中最近反映的日志所具有的更新序号和在第三存储装置中最近反映的日志所具有的更新序号中的哪一个新。判断在具有被判断为新的更新序号的新存储装置中是否有从具有没有。

2、被判断为新的更新序号的下一个更新序号的日志开始到具有被判断为新的更新序号的日志为止的一个以上的差分日志。在该判断的结果为肯定的情况下,从新存储装置向第二以及第三存储装置中不是新存储装置的一方、即旧存储装置复制一个以上的差分日志。在旧存储装置中,一个以上的差分日志按更新序号的顺序被反映到旧存储装置内的数据卷。85PCT申请进入国家阶段日2011082286PCT申请的申请数据PCT/JP2010/0025402010040787PCT申请的公布数据WO2011/125126JA2011101351INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书17页附图27页CN1。

3、02326165A1/4页21一种非同步远程复制系统,是进行非同步远程复制的存储系统,该非同步远程复制系统的特征在于,具有第一存储装置,其具有第一存储资源组,且与第一主机装置连接;第二存储装置,其具有第二存储资源组,且与第二主机装置连接;和第三存储装置,其具有第三存储资源组,所述第一存储资源组具有作为被写入数据的逻辑卷的第一数据卷、以及作为被写入数据的日志的存储资源的第一日志存储资源,所述第二存储资源组具有作为被写入数据的逻辑卷的第二数据卷、以及作为被写入数据的日志的存储资源的第二日志存储资源,所述第三存储资源组具有作为被写入数据的逻辑卷的第三数据卷、以及作为被写入数据的日志的存储资源的第三日。

4、志存储资源,在从所述主机装置向所述第一数据卷写入数据时,所述第一存储装置更新更新序号,制作包含该更新序号和该数据的日志,并将该日志写入所述第一日志存储资源,其中,该更新序号是每次在所述第一存储资源组内的数据卷中写入数据时被更新的序号,进行多目标方式的非同步远程复制,在该非同步远程复制中,所述日志被从所述第一存储装置转发到所述第二存储装置,并被反映到所述第二数据卷,由此把所述第一数据卷内的数据写入所述第二数据卷,而且所述日志被从所述第一存储装置转发到所述第三存储装置,并被反映到所述第三数据卷,由此把所述第一数据卷内的数据写入所述第三数据卷,X在所述第一存储装置停止时,X1判断在所述第二存储装置中。

5、最近反映的日志所具有的更新序号和在所述第三存储装置中最近反映的日志所具有的更新序号中的哪一个新;X2判断在所述第二以及第三存储装置中、作为具有在所述X1中判断为新的更新序号的存储装置的新存储装置中是否有一个以上的差分日志,该一个以上的差分日志是从具有在所述X1中没有判断为新的更新序号的下一个更新序号的日志开始到具有在所述X1中判断为新的更新序号的日志为止的一个以上的日志;X3在所述X2的判断结果为肯定的情况下,从所述新存储装置向旧存储装置复制所述一个以上的差分日志,所述旧存储装置是所述第二以及第三存储装置中不是所述新存储装置的存储装置;X4所述旧存储装置按照更新序号的顺序向所述旧存储装置内的数。

6、据卷反映所述一个以上的差分日志。2根据权利要求1所述的非同步远程复制系统,其特征在于,所述第二存储装置是所述旧存储装置,所述第三存储装置是所述新存储装置,所述第二数据卷处于禁止来自所述第二主机装置的数据的写入的写入禁止状态,在所述X2的判断结果为肯定的情况下,所述第二存储装置使所述第二数据卷成为可以进行来自所述第二主机装置的数据的写入的写入许可状态,所述第二存储装置,在使所述第二数据卷成为写入许可状态后,从所述第二主机装置接收到指定了所述第二数据卷中的写入目的地的写入请求时,W1将按照所述写入请求的数据写入所述写入目的地,W2将所述写入目的地作为差分日志的非反映目的地来管理,权利要求书CN10。

7、2326152ACN102326165A2/4页3在所述X4中,所述第二存储装置进行如下操作X41判断所述第二日志存储资源内的差分日志的反映目的地是否是非反映目的地;X42如果所述X41的判断结果为否定,则反映所述差分日志;X43如果所述X41的判断结果为肯定,则不反映所述差分日志。3根据权利要求1所述的非同步远程复制系统,其特征在于,所述第二存储装置是所述旧存储装置,所述第三存储装置是所述新存储装置,所述第二数据卷处于禁止从所述第二主机装置读取数据的读取禁止状态,在所述X2的判断结果为肯定的情况下,所述第二存储装置使所述第二数据卷成为可以从所述第二主机装置读取数据的读取许可状态,所述第二存储。

8、装置,在使所述第二数据卷成为读取许可状态之后,从所述第二主机装置接收到指定了所述第二数据卷中的读取源的读取请求时,R将对象日志所具有的数据发送给所述第二主机装置,所述对象日志是读取源成为反映目的地的差分日志中的、具有最新的更新序号的差分日志。4根据权利要求3所述的非同步远程复制系统,其特征在于,在所述R中,所述第二存储装置进行如下操作R1判断所述第二以及第三日志存储资源中的、读取源成为反映目的地的差分日志中,作为具有最新的更新序号的差分日志的对象日志是否在所述第二日志存储资源中;R2如果所述R1的判断结果为肯定,则向所述第二数据卷反映所述对象日志,且向所述第二主机装置发送所述对象日志所具有的数。

9、据;R3如果所述R1的判断结果为否定,则与其他日志相比优先从所述第三存储装置取得所述对象日志,将所述对象日志写入所述第二日志存储资源中,向所述第二数据卷反映所述对象日志,并将所述对象日志所具有的数据发送给所述第二主机装置。5根据权利要求1所述的非同步远程复制系统,其特征在于,P所述第二或第三存储装置判断在所述旧存储装置内的日志存储资源中是否有相当于所述差分日志的未反映的日志;Q如果所述P的判断结果为肯定,则所述旧存储装置向自身的数据卷反映相当于所述差分日志的未反映的日志;针对与在所述Q中被反映的未反映的日志相对应的差分日志,代替所述X3以及X4,进行所述Q。6根据权利要求1所述的非同步远程复制。

10、系统,其特征在于,所述第一存储装置进行如下操作H从所述第一日志存储资源中清除关于所述第二以及第三存储资源组共同的可清除的日志;I判断所述第一日志存储资源的使用率是否超过预定的阈值;J在所述I的判断结果为肯定的情况下,在第一关系以及第二关系中,解除从所述第一日志存储资源中可清除的日志的数量少的一方的关系,所述第一关系是所述第一存储资源组和所述第二存储资源组的关系,所述第二关系是所述第一存储资源组和所述第三存储资源组的关系;K从所述第一日志存储资源中清除关于所述第二以及第三存储资源组中与未被解除权利要求书CN102326152ACN102326165A3/4页4的关系相关的存储资源组的可清除的日志。

11、,所述第一日志存储资源的使用率是所述第一日志存储资源内的一个以上的JNL的总容量相对于所述第一日志存储资源的容量的比例。7根据权利要求6所述的非同步远程复制系统,其特征在于,L所述第一存储装置关于被挂起的对,在所述第一数据卷内的写入目的地写入了数据的情况下,对于不制作具有该数据的JNL,而在该写入目的地中进行了更新的情况进行管理,M所述第一存储装置应答预定的命令,制作包含位于进行了更新的写入目的地的数据的日志,并将该日志发送给具有与所述作为瓶颈的对相关的数据卷的存储装置,N该存储装置将该日志写入自身的日志存储资源中,并将该日志存储资源内的日志反映到自身的数据卷。8根据权利要求1所述的非同步远程。

12、复制系统,其特征在于,在所述X的情况下,从所述第一主机装置向所述第二主机装置进行故障切换,所述第二主机装置向所述第二存储装置发送预定的命令,所述第二存储装置接收所述预定的命令,应答所述预定的命令,执行所述X1以及X2。9根据权利要求1所述的非同步远程复制系统,其特征在于,所述第二数据卷处于禁止从所述第二主机装置写入数据的写入禁止状态,在完成所述X4之后,所述第二存储装置使所述第二数据卷成为可以从所述第二主机装置写入数据的写入许可状态。10根据权利要求1所述的非同步远程复制系统,其特征在于,所述第二以及第三存储资源组共用所述第一日志存储资源,在所述D1中,所述第二存储装置从所述第一存储装置读取具。

13、有在所述第二日志存储资源中最新的更新序号的下一个更新序号的日志,并将读取的日志写入所述第二日志存储资源中,在所述D2中,所述第三存储装置从所述第一存储装置读取具有在所述第三日志存储资源中最新的更新序号的下一个更新序号的日志,并将读取的日志写入所述第三日志存储资源中。11一种存储控制方法,是作为进行非同步远程复制的存储系统的非同步远程复制系统中的存储控制方法,其特征在于,所述非同步远程复制系统具有第一存储装置,其具有第一存储资源组,且与第一主机装置连接;第二存储装置,其具有第二存储资源组,且与第二主机装置连接;以及第三存储装置,其具有第三存储资源组,且与第三主机装置连接,所述第一存储资源组具有作。

14、为被写入数据的逻辑卷的第一数据卷、以及作为被写入数据的日志的存储资源的第一日志存储资源,所述第二存储资源组具有作为被写入数据的逻辑卷的第二数据卷、以及作为被写入数据的日志的存储资源的第二日志存储资源,所述第三存储资源组具有作为被写入数据的逻辑卷的第三数据卷、以及作为被写入数权利要求书CN102326152ACN102326165A4/4页5据的日志的存储资源的第三日志存储资源,在从所述主机装置向所述第一数据卷写入数据时,所述第一存储装置更新更新序号,制作包含该更新序号和该数据的日志,并将该日志写入所述第一日志存储资源中,其中,该更新序号是每次在所述第一存储资源组内的数据卷中写入数据时被更新的序。

15、号,进行多目标方式的非同步远程复制,在该非同步远程复制中,所述日志被从所述第一存储装置转发到所述第二存储装置,并被反映到所述第二数据卷,由此把所述第一数据卷内的数据写入所述第二数据卷,而且所述日志被从所述第一存储装置转发到所述第三存储装置,并被反映到所述第三数据卷,由此把所述第一数据卷内的数据写入所述第三数据卷,在所述第一存储装置停止时,所述存储控制方法执行如下步骤X1判断在所述第二存储装置中最近反映的日志所具有的更新序号和在所述第三存储装置中最近反映的日志所具有的更新序号中的哪一个新;X2判断在所述第二以及第三存储装置中、作为具有在所述X1中判断为新的更新序号的存储装置的新存储装置中,是否有。

16、一个以上的差分日志,该一个以上的差分日志是从具有在所述X1中没有判断为新的更新序号的下一个更新序号的日志开始到具有在所述X1中判断为新的更新序号的日志为止的一个以上的日志;X3在所述X2的判断结果为肯定的情况下,从所述新存储装置内的日志存储资源向旧存储装置内的日志存储资源复制所述一个以上的差分日志,所述旧存储装置是所述第二以及第三存储装置中不是所述新存储装置的存储装置;X4在所述旧存储装置中,按照更新序号的顺序向所述旧存储装置内的数据卷反映所述一个以上的差分日志。权利要求书CN102326152ACN102326165A1/17页6非同步远程复制系统以及存储控制方法技术领域0001本发明涉及进。

17、行作为存储装置间的数据的复制的远程复制的存储系统中的存储控制。背景技术0002已知有作为第一以及第二存储装置之间的数据复制的远程复制REMOTECOPY。作为远程复制,例如有同步远程复制以及非同步远程复制。当第一存储装置从主机接收了写请求时,如果采用了同步远程复制,则按照该写请求的数据从第一存储装置被转发到第二存储装置后,向主机装置发送写结束应答,但如果采用了非同步远程复制,则即使按照该写请求的数据没有从第一存储装置被转发到第二存储装置,也向主机装置发送写结束应答。0003在采用了非同步远程复制的远程复制系统以下称为非同步远程复制系统中,例如第一存储装置除了第一DVOL存储了数据的逻辑卷之外还。

18、具有第一JVOL存储日志以下称为JNL的逻辑卷。同样,第二存储装置除了第二DVOL之外还具有第二JVOL。第一存储装置在接收了写请求时,在第一DVOL中存储按照写请求的数据,而且在第一JVOL中存储该数据的JNL。第一存储装置向第二存储装置转发第一JVOL内的JNL,第二存储装置将来自第一存储装置的JNL写入第二JVOL。之后,第二存储装置将第二JVOL内的JNL所具有的数据写入第二DVOL。由此,写入第一DVOL的数据被复制到第二DVOL。0004在专利文献1中公开了多目标MULTITARGET方式的非同步远程复制系统。在多目标方式中对于一个复制源存在多个复制目的地。具体地说,在专利文献1中。

19、公开了例如以下内容。0005有第一存储装置、第二存储装置以及第三存储装置。0006第一存储装置是复制源,第二以及第三存储装置是从第一存储装置的复制目的地。0007第一存储装置与第一主机装置连接,第二存储装置与第二主机装置连接,第三存储装置与第三主机装置连接。0008第一存储装置具有第一DVOL、第一个第一JVOL以及第二个第一JVOL。0009第二存储装置具有第二DVOL以及第二JVOL。0010第一以及第二DVOL成对。第一DVOL是主DVOL,第二DVOL是副DVOL。0011第三存储装置具有第三DVOL以及第三JVOL。0012第一以及第三DVOL成对。第一DVOL是主DVOL,第三DV。

20、OL是副DVOL。0013第一主机装置在第一DVOL中写入数据。0014第一存储装置在第一个第一JVOL和第二个第一JVOL的双方中写入已被写入第一DVOL的数据的JNL。JNL除主机装置的输入输出对象数据以外,还包含更新序号。0015第一个第一JVOL内的JNL被复制到第二JVOL。0016第二存储装置向第二DVOL反映第二JVOL内的一个以上的未反映的JNL中的、说明书CN102326152ACN102326165A2/17页7具有最旧的更新序号的JNL在第二DVOL中写入JNL所具有的数据。0017第二个第一JVOL内的JNL被复制到第三JVOL。0018第三存储装置向第三DVOL反映第。

21、三JVOL内的一个以上的未反映的JNL中的、具有最旧的更新序号的JNL在第三DVOL中写入JNL所具有的数据。0019而且,根据专利文献1,在第一存储装置中发生了故障时,第二存储装置成为复制源,第三存储装置成为复制目的地。0020现有技术文献0021专利文献0022专利文献1日本特开200665629号公报发明内容0023发明要解决的课题0024当第二存储装置成为复制源后,第二主机装置在第二DVOL中写入数据,第二存储装置对更新序号进行更新,并将包含更新序号和数据的JNL写入第二JVOL。JNL从第二JVOL被复制到第三JVOL,第三存储装置将第三JVOL内的JNL所具有的数据写入第三DVOL。

22、。0025在此,考虑了在第二存储装置中的更新序号的起点是在第二存储装置中已反映的JNL中的最新的更新序号。这是由于第二DVOL具有到该最新的更新序号所表示的顺序为止的数据。0026但是其存在不理想的情形。该情形例如是在第二存储装置中已反映的JNL中的最新的更新序号比在第三存储装置中已反映的JNL中的最新的更新序号旧的情形。这是由于在该情形中,第二DVOL的状态比第三DVOL的状态旧,从旧的状态的DVOL向新的状态的DVOL复制数据。0027这样,在第一存储装置中发生了故障时存在不能恰当地继续业务的情形。0028在第一存储装置因故障以外的原因而停止时例如因用于维护的所谓计划停止而停止第一存储装置。

23、时存在这样的问题。0029因此,本发明的目的是在多目标方式的非同步远程复制系统中,即使第一存储装置停止也恰当地继续进行业务。0030用于解决课题的手段0031具有第一存储装置,其具有第一存储资源组,且与第一主机装置连接;第二存储装置,其具有第二存储资源组,且与第二主机装置连接;和第三存储装置,其具有第三存储资源组,且与第三主机装置连接。0032第一存储资源组具有作为被写入数据的逻辑卷的第一数据卷、以及作为被写入数据的日志的存储资源的第一日志存储资源。0033第二存储资源组具有作为被写入数据的逻辑卷的第二数据卷、以及作为被写入数据的日志的存储资源的第二日志存储资源。0034第三存储资源组具有作为。

24、被写入数据的逻辑卷的第三数据卷、以及作为被写入数据的日志的存储资源的第三日志存储资源。0035在从主机装置向第一数据卷写入数据时,第一存储装置更新更新序号,制作包含该更新序号和该数据的日志,并将该日志写入第一日志存储资源,其中,该更新序号是每次说明书CN102326152ACN102326165A3/17页8在第一存储资源组内的数据卷中写入数据时被更新的序号。0036进行多目标方式的非同步远程复制,在该非同步远程复制中,日志被从第一存储装置转发到第二存储装置,并被反映到第二数据卷,由此把第一数据卷内的数据写入第二数据卷,而且日志被从第一存储装置转发到第三存储装置,并被反映到第三数据卷,由此把第。

25、一数据卷内的数据写入第三数据卷。0037具体来说,例如在非同步远程复制中进行以下处理0038A1日志被从第一日志存储资源复制到第二日志存储资源。0039B1第二存储装置按照更新序号的顺序向第二数据卷反映第二日志存储资源中的一个以上的未反映的日志。0040A2日志被从第一日志存储资源复制到第三日志存储资源。0041B2第三存储装置按照更新序号的顺序向第三数据卷反映第三日志存储资源中的一个以上的未反映的日志。0042在第一存储装置停止时,进行以下处理0043X1判断在第二存储装置中最近反映的日志所具有的更新序号和在第三存储装置中最近反映的日志所具有的更新序号中的哪一个新。0044X2判断在第二以及。

26、第三存储装置中的新存储装置具有在X1中判断为新的更新序号的存储装置中是否有一个以上的差分日志。一个以上的差分日志是从具有在X1中没有判断为新的更新序号的下一个更新序号的日志开始到具有在X1中判断为新的更新序号的日志为止的一个以上的日志。0045X3在X2的判断结果为肯定的情况下,从新存储装置向旧存储装置第二以及第三存储装置中不是新存储装置的存储装置复制一个以上的差分日志。0046X4旧存储装置按照更新序号的顺序向旧存储装置内的数据卷反映一个以上的差分日志。附图说明0047图1表示本发明的实施例1的非同步远程复制系统的结构。0048图2表示存储装置之间的路径。0049图3表示图6中的JNL组11。

27、2A、112B以及112C的状态以及镜像的有效/无效。0050图4表示图7中的JNL组112B以及112C的状态以及镜像的有效/无效。0051图5表示图10中的JNL组112B以及112C的状态以及镜像的有效/无效。0052图6表示多目标方式的非同步远程复制的概要。0053图7表示在第一存储器105A中发生故障时进行的处理的一部分。0054图8表示从第三存储器105C到第二存储器105B的差分远程同步RSYNC的概要。0055图9表示从第二存储器105B到第三存储器105C的差分远程同步的概要。0056图10表示结束差分远程同步后的业务的继续的概要。0057图11表示第一存储器105A的概要。。

28、0058图12表示JNL的结构。0059图13表示JVOL115A的结构。0060图14表示元信息的结构。说明书CN102326152ACN102326165A4/17页90061图15表示各存储器所具有的控制信息。0062图16表示JVOL有效位图701A的结构。0063图17表示DVOL有效位图702A的结构。0064图18表示JVOL管理表703A的结构。0065图19表示JNL组管理表704A的结构。0066图20表示对管理表705A的结构。0067图21表示差分管理以及形成复制的流程。0068图22表示第一存储器105A中的写处理的流程。0069图23表示JNL的读处理的流程。007。

29、0图24表示JNL的反映处理的流程。0071图25表示与第一JVOL115A的使用率的核对相关的处理的流程。0072图26表示在第一存储器105A中发生故障时进行的处理的流程。0073图27表示可进行差分远程同步的情形的一例。0074图28表示不能进行差分远程同步的情形的一例。0075图29表示许可从第二主机103B向第二DVOL113B写入数据的定时。0076图30表示在本发明的实施例2中许可从第二主机103B向第二DVOL113B写入数据的定时。0077图31表示在本发明的实施例2中,从第三存储器105C向第二存储器105B进行差分远程同步时的、第二存储器105B中的写处理的流程。0078。

30、图32表示在本发明的实施例2中,从第三存储器105C向第二存储器105B进行差分远程同步时的、第二存储器105B中的JNL反映处理的流程。0079图33表示在本发明的实施例3中,从第三存储器105C向第二存储器105B进行差分远程同步时的、第二存储器105B中的读处理的流程。0080图34表示在本发明的实施例4中与是否需要转发差分JNL的判断相关的处理的流程。0081图35表示存在不需要转发的差分JNL的情形的一例。具体实施方式0082以下,参照附图说明本发明的几个实施例。0083另外,在以下的说明中,有时通过“表”、“位图”的表述来说明各种信息,但也可以用表或位图以外的数据结构来表现各种信息。

31、。为了表示不依赖于数据结构,可以把“表”、“位图”称为“信息”。0084此外,在以下的说明书中,作为各种对象识别信息主要使用了序号,但可以代替序号而采用其它种类的识别信息例如名称。0085实施例10086图1表示本发明的实施例1的非同步远程复制系统的结构。另外,在以下的说明中,将日志记载为“JNL”,将作为被写入数据的逻辑卷的数据卷记载为“DVOL”,将作为被写入JNL的逻辑卷的JNL卷记载为“JVOL”,将主机装置记载为“主机”,将存储装置记载为“存储器”、将控制器记载为“DKC”。说明书CN102326152ACN102326165A5/17页100087有三个以上的站点SITE,例如第一。

32、站点101A、第二站点101B以及第三站点101C。以下为使说明易于理解,第一站点101A具有的要素的参照符号是主序号和子符号“A”的组合,第二站点101B具有的要素的参照符号是主序号和子符号“B”的组合,第三站点101B具有的要素的参照符号是主序号和子符号“C”的组合。0088第一站点101A具有第一存储器105A以及与第一存储器105A连接的第一主机103A。第一存储器105A具有第一DKC111A以及第一JNL组112A。一个JNL组112A包含DVOL113A以及JVOL1115A。0089第二以及第三站点101B以及101C具有与第一站点101A相同的结构。0090存储器105A以及。

33、105B彼此经由专用线或通信网络物理地连接。存储器105B以及105C彼此也经由专用线或通信网络物理地连接。存储器105A以及105C彼此也经由专用线或通信网络物理地连接。0091作为连接存储器彼此的路径,如图2所示,有控制路径以及数据转发路径。控制路径是差分远程同步后述所需要的路径。具体地说,例如在差分远程同步处理中,是时序SEQUENCE序号取得请求后述流过的路径。数据转发路径是JNL流过的路径。控制路径以及数据转发路径都是可双向通信的路径。0092再次参照图1。0093有“镜像MIRROR”这样的JNL组彼此的逻辑连接。根据图1,JNL组112A以及112B彼此的连接是镜像0被分配了序号。

34、“0”的镜像M0,JNL组112A以及112C彼此的连接是镜像1被分配了序号“1”的镜像M1,JNL组112B以及112C彼此的连接是镜像2被分配了序号“2”的镜像M2。0094以下说明本实施例的处理的概要。另外,在以下说明中,JNL组112A、112B以及112C只要不特殊说明则分别是一个。0095在本实施例的远程复制系统中进行多目标方式的非同步远程复制,第一站点101A是运用站点。此时,如图3所示,第一JNL组112A的状态是“主MASTER”,第二以及第三JNL组112B以及112C的状态是“还原RESTORE”。状态“主”表示是复制源。状态“还原”表示是复制目的地。另外,在图3以及此后。

35、的图4以及图5中,虚线的镜像是无效的镜像,实线的镜像是有效的镜像。0096从而,如图6所示,第一DVOL113A是主DVOL以下称为PVOL,第二以及第三DVOL113B以及113C是副DVOL以下称为SVOL。0097如图6所示,在作为运用站点的第一站点101A中,第一主机103A伴随业务的执行而在PVOL113A中写入数据S11。第一存储器105A更新时序序号以下称为SEQ,制作具有更新后的SEQ和在PVOL113A中写入的数据的JNL,将制作的JNL写入第一JVOL115A中S12。SEQ是每次在第一JNL组112A第一JNL组112A内的DVOL中写入数据时被更新例如增加1或减小1的序。

36、号。0098第二存储器105B从第一JVOL115A读出JNL,并将读出的JNL写入第二JVOL115B中S21。第二存储器105B按SEQ从小到大的顺序向SVOL113B反映第二JVOL115B内的一个以上的未反映的JNLS22。具体地说,第二存储器105B将第二JVOL115B内的未反映的JNL所具有的数据写入SVOL113B中。由此,在PVOL113A中写入的数据被复制到SVOL113B中。说明书CN102326152ACN102326165A6/17页110099第三存储器105C从第一JVOL115A读出JNL,并将读出的JNL写入第三JVOL115C中S31。第三存储器105C按S。

37、EQ从小到大的顺序向SVOL113C反映第三JVOL1115C内的一个以上未反映的JNLS32。具体地说,第三存储器105C将第三JVOL115C内的未反映的JNL所具有的数据写入SVOL113C中。由此,在PVOL113A中写入的数据被复制到SVOL113C中。0100也可以对于一个复制源JNL组存在多于两个的复制目的地JNL组。0101根据本实施例,在多个复制目的地JNL组中共用在一个复制源JNL组中所包含的JVOL。换言之,在一个复制源JNL组中包含的JVOL的数量不依赖于复制目的地JNL组的数量。这存储装置之间的JNL的复制转发,通过复制目的地的存储装置从复制源的存储装置内的JVOL读。

38、出JNL来实现。根据该特征,能够节约在第一存储器105A中消耗的存储容量。0102如图7所示,假设在作为运用站点的第一站点101A中,在第一存储器105A中发生了故障S40。此时,运用站点从第一站点101A切换到第二站点101B。具体地说,进行从第一主机103A向第二主机103B的故障切换FAILOVERS41。第二主机103B向第二存储器105B发送预定的命令S42。0103第二存储器105B接收预定的命令。此时如图4所示,通过存储器105B和/或105C将镜像2设为有效,第二以及第三JNL组112B以及112C的状态暂时成为“主/还原”。为了S43的判断,在第二存储器105B和第三存储器1。

39、05C之间交换SEQ。状态“主/还原”表示是复制源,也是复制目的地。到差分远程同步后述结束为止,第二以及第三JNL组112B以及112C的状态是“主/还原”。0104第二存储器105B应答预定的命令,向第三存储器105C请求在第三存储器105C中最近反映的JNL所具有的SEQ以下称为SEQ3发送时序序号取得请求,应答该请求,从第三存储器105C接收SEQ3。第二存储器105B判断SEQ3和在第二存储器105B中最近反映的JNL所具有的SEQ以下称为SEQ2哪个新。根据该判断的结果,进行图8以及图9中所示的差分远程同步。0105即,在SEQ3比SEQ2新的情况下,如图8所示,第二存储器105B从。

40、第三JVOL115C读出一个以上的差分JNL,并写入第二JVOL115B中S441。这里所说的“一个以上的差分JNL”是从具有SEQ2的下一个SEQ的JNL到具有SEQ3的JNL为止的一个以上的JNL。第二存储器105B从具有SEQ2的下一个SEQ的日志开始,先按SEQ从小到大的顺序向第二DVOL113B反映第二JVOL115B内的一个以上的差分JNLS451。由此,第二DVOL113B内的数据与开始差分远程同步时的第三DVOL113C内的数据一致。0106另一方面,在SEQ2比SEQ3新的情况下,如图9所示,第二存储器105B在第三JVOL115C中写入第二JVOL115B内的一个以上的差分。

41、JNLS441。这里所说的“一个以上的差分JNL”是从具有SEQ3的下一个SEQ的JNL到具有SEQ2的JNL为止的一个以上的JNL。第三存储器105C从具有SEQ3的下一个SEQ的日志开始,先按SEQ从小到大的顺序向第三DVOL113C反映第三JVOL113C内的一个以上的差分JNLS452。由此,第三DVOL113C内的数据与开始差分远程同步时的第二DVOL113B内的数据一致。0107此后,第二站点101B成为运用站点,继续业务。具体地说,如图5所示,第二JNL组112B的状态变为“主”,第三JNL组112C的状态变为“还原”。从而如图10所示,第二说明书CN102326152ACN10。

42、2326165A7/17页12DVOL113B成为PVOL,第三DVOL113C成为SVOL。第二主机103B在PVOL113B中写入数据S51。第二存储器105B更新SEQ,制作具有SEQ和在PVOL113B中写入的数据的JNL,并将制作的JNL写入第二JVOL115B中S52。第三存储器105C从第二JVOL115B读出JNL,并将读出的JNL写入第三JVOL115C中S53。第三存储器105C按SEQ从小到大的顺序向SVOL113C反映第三JVOL115C内的JNLS54。0108根据本实施例,第二存储器105B从第三存储器105C取得SEQ3,判断SEQ3和SEQ2中的哪个新,根据该判。

43、断的结果控制从第二以及第三存储器105B以及105C中的哪一个向哪一个转发一个以上的差分JNL。由此,即使在第一存储器105A中发生了故障也能够恰当地继续业务。此外,转发的一个以上的差分JNL不超过第二以及第三存储器105B以及105C之间的差分,因此能够把所转发的JNL的数量抑制得较少。0109以下详细说明本实施例。此时,以第一站点101A内的要素为例进行了说明,但是没有特别说明的话,第二以及第三站点101B以及101C内的要素实质上与第一站点101A内的要素相等。0110图11表示第一存储器105A的结构。0111第一存储器105A具有第一DKC111A、多个RAIDREDUNDANTAR。

44、RAYOFINDEPENDENTORINEXPENSIVEDISK组以下称为RG900A。RG900A由多个HDDHARDDISKDRIVE构成。也可以采用闪速存储器等其他物理存储设备来代替HDD。一个或多个逻辑卷基于一个RG900A。逻辑卷是例如前述的DVOL或JVOL,其中的哪一个都可以是作为RG900A的存储空间的一部分的实体的逻辑卷,也可以是从基于一个以上的RG900构成的池由多个实际区域构成的存储区域动态分配实际区域的虚拟的逻辑卷遵从THINPROVISIONING的技术的虚拟的逻辑卷。0112DKC111A具有多个前端接口装置以下称为FEIF610A、后端接口装置以下称为BEIF1。

45、50A、高速缓冲存储器以下称为CM620A、共享存储器以下称为SM640A以及与它们连接的一个以上的CPUCENTRALPROCESSINGUNIT630A。DKC111A的处理可以通过CPU630A执行一个以上的计算机程序来进行,但也可以通过硬件电路来执行该处理中的至少一部分。0113在多个FEIF610A上连接了第一主机103A、第二以及第三存储器105B以及105C。DKC111ACPU630A经由FEIF610A与第一主机103A、第二以及第三存储器105B以及105C进行通信。0114在BEIF150A上连接了多个RG900A。DKC111ACPU630A经由BEIF150A在成为写。

46、入目的地逻辑卷例如第一DVOL113A或第一JVOL115A的基础的RG900A中写入数据或JNL。0115CM620A对在RG900A中写入的数据以及JNL、从RG900A读出的数据以及JNL进行存储。0116SM640A对在DKC111A的处理的控制中使用的各种控制信息进行存储。0117CPU630A控制DKC111A进行的处理。0118以上说明了第一存储器105A的结构。另外,DKC111A并不限于图11中所示的结构,也可以具有其他结构。此外,第二以及第三存储器105B以及105C的结构与第一存储器105A的结构实质上相同。DKC111B或111C的结构也可以与DKC111A的结构不同。。

47、说明书CN102326152ACN102326165A8/17页130119图12表示JNL的结构,图13表示JVOL115A的结构。0120JNL由元META信息和数据构成。0121JVOL115A由元区域1201A和数据区域1203A构成。元区域1201A存储元信息,数据区域1203A存储数据。另外,元区域1201A也可以存在于CM620A等与RG900A不同的存储资源中。0122图14表示元信息的结构。0123元信息是与在JNL中包含的数据有关的管理信息。元信息例如包含以下的信息0124SEQ、0125写目的地信息表示在DVOL的哪个部分写入数据的信息、0126PVOL复制源的DVOL的。

48、序号、0127SVOL复制目的地的DVOL的序号、0128表示与该元信息对应的数据的JVOL中的位置的信息在JVOL中写入JNL时包含该信息。0129通常,第一DKC111A管理SEQ。在每个JNL组112A中有SEQ。在某个JNL组112A内的DVOL113A中写入了数据时,第一DKC111A更新与该JNL组112A相对应的SEQ。SEQ例如存储在SM640A或其他存储资源中。0130在第一存储器105A中发生了故障,第二站点101B成为了运用站点时,第二存储器105B管理每个JNL组112B的SEQ。0131如图15所示,SM640A作为控制信息来存储例如JVOL有效位图701A、DVOL。

49、有效位图702A、JVOL管理表703A、JNL组管理表704A、对PAIR管理表705A、差分位图706A以及镜像位图707A。同样,第二存储器105B内的SM640B存储控制信息701B707B,第三存储器105C内的SM640C存储控制信息701C707C。以下,以控制信息701A707A为代表进行说明,0132JNL组例如能够具有最大64个逻辑卷。如图16所示,JVOL有效位图701A在每一JNL组中具有64个位BIT。如果第N个N是0以上63以下的整数逻辑卷是JVOL115A,则第N个位为开ON例如1。0133如图17所示,DVOL有效位图702A在每一JNL组中具有64个位。如果第N个N是0以上63以下的整数逻辑卷是JVOL115A,则第N个位为开例如1。0134JVOL管理表703A存在于每个JNL组112A中。如图18所示,表703A在每一JVOL115A中具有表示元区域的开头地址的信息、表示元区域的大小的信息、表示数据区域的开头地址的信息、表示数据区域的大小的信息。即、表703A表示在每一JVOL115A中从哪到哪是元区域、从哪到哪是数据区域。0135JNL组管理表704A具有与JNL组有关的信息。具体地说,例如,如图19所示,表704A在每一JNL组中具有下述的信息0136表示JNL组的序号的JNL组1001A、0137表示JNL组的状态的状态1002A、。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1