具有多个存储系统的数据处理系统转让专利

申请号 : CN200410050026.3

文献号 : CN100593775C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 加迫尚久

申请人 : 株式会社日立制作所

摘要 :

本发明提供一种数据处理系统。本发明的目的是,在不影响存储系统的上位计算机的情况下,在多个存储系统间进行数据传送和数据的复制。将2台以上的副存储系统100B、100C连接到与上位装置180连接的正存储系统100A。副存储系统100B、100C,分别以独自的定时从正存储系统100A读数据更新的日志,并保存到规定的逻辑卷JNL2、JNL3,而后,以独自的定时根据逻辑卷JNL2、JNL3内的日志、生成正存储系统100A内的数据的复制,保存到副逻辑卷COPY1、COPY3。正存储系统100A,在副存储系统100B、100C双方读日志而直到恢复之前,保持该日志。根据日志量、处理负担等来控制读日志的定时。

权利要求 :

1.一种数据处理系统,其特征在于,

具备:

被可通信地连接到上位装置的第一存储系统,和

分别被可通信地连接到上述第一存储系统的第二和第三存储系统; 上述第一存储系统,具有:存储从上述上位装置所送来的数据的第一数据存储区域,存储为生成在上述第一存储区域中所存储的数据的复制所使用的日 志的第一日志存储区域,和第一控制装置,将从上述上位装置所送来的数据写入上述第一数据 存储区域,将被写入到上述第一数据存储区域的数据的日志写入上述第 一日志存储区域,根据来自上述第二和第三存储系统的各自的请求,将 上述第一日志存储区域内的上述日志分别送到上述第二和第三存储系 统;

上述第二存储系统,具有:

存储上述第一数据存储区域内的数据的复制的第二数据存储区域,存储上述日志的第二日志存储区域,和

第二控制装置,用被独自调度的读日志的定时从上述第一存储系统 读上述日志,将所读出的日志写入上述第二日志存储区域,而后,用被 独自调度的恢复的定时,根据上述第二日志存储区域内的上述日志,生 成上述第一数据存储区域内的数据的复制并写入上述第二数据存储区 域;

上述第三存储系统,具有:

存储上述第一数据存储区域内的数据的复制的第三数据存储区域,存储上述日志的第三日志存储区域,和

第三控制装置,用被独自调度的读日志的定时从上述第一存储系统 读上述日志,将所读出的日志写入上述第三日志存储区域,而后,用被 独自调度的恢复的定时,根据上述第三日志存储区域内的上述日志,生 成上述第一数据存储区域内的数据的复制并写入上述第三数据存储区 域;

上述第一存储系统的上述第一控制装置,检测是否由上述第二和第 三存储系统读出了上述第一日志存储区域内的上述日志,在由上述第二 和第三存储系统双方读出之前,保持上述第一日志存储区域内的上述日 志,在由上述第二和第三存储系统双方读出之后,使上述第一日志存储 区域内的上述日志可以消去。

2.根据权利要求1所述的数据处理系统,其特征在于,上述第一存储系统,具有多个物理存储装置;

上述第一存储系统的上述第一控制装置,具有:在与上述上位装置 之间接收发送数据的上位适配器,在与上述多个物理存储装置之间接收 发送数据的磁盘适配器,和存储由上述上位适配器接收的数据和由上述 磁盘适配器接收的数据的超高速缓冲存储器;

上述第一控制装置,将上述第一存储系统内的上述多个物理存储装 置具有的存储区域、分配给上述第一数据存储区域和上述第一日志存储 区域;

上述第二存储系统,具有多个物理存储装置;

上述第二存储系统的上述第二控制装置,具有:在与上述第一存储 系统之间接收发送数据的上位适配器,在与上述多个物理存储装置之间 接收发送数据的磁盘适配器,和存储由上述上位适配器接收的数据和由 上述磁盘适配器接收的数据的超高速缓冲存储器;

上述第二控制装置,将上述第二存储系统内的上述多个物理存储装 置具有的存储区域分配给上述第二数据存储区域和上述第二日志存储区 域;

上述第三存储系统,具有多个物理存储装置;

上述第三存储系统的上述第三控制装置,具有:在与上述第一存储 系统之间接收发送数据的上位适配器,在与上述多个物理存储装置之间 接收发送数据的磁盘适配器,和存储由上述上位适配器接收的数据和由 上述磁盘适配器接收的数据的超高速缓冲存储器;

上述第三控制装置,将上述第三存储系统内的上述多个物理存储装 置具有的存储区域分配给上述第三数据存储区域和上述第三日志存储区 域。

3.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据从上述第一日志存储 区域读出的日志的数据的数,控制上述读日志的时间间隔。

4.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据在上述第一存储系统 和上述第三存储系统之间接收发送的数据的通信量,控制上述读日志的 时间间隔。

5.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三数据存储区 域保持的上述日志的存储容量,控制上述读日志的时间间隔。

6.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三存储系统的 处理负荷,控制上述读日志的时间间隔。

7.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,由上述第一存储系统,读 出上述第一存储系统内的上述第一日志存储区域保持的关于上述日志的 存储容量的信息,根据上述所读出的关于上述日志的存储容量的信息, 控制上述读日志的时间间隔。

8.根据权利要求1所述的数据处理系统,其特征在于,上述第一存储系统,拥有关于上述第一日志存储区域的管理信息;

上述第三存储系统的上述第三控制装置,由上述第一存储系统,读 出上述第一存储系统拥有的关于上述第一日志存储区域的管理信息,根 据所读出的关于上述第一日志存储区域的管理信息,控制上述读日志的 时间间隔。

9.根据权利要求1所述的数据处理系统,其特征在于,上述第一存储系统内的上述第一数据存储区域,具有多个逻辑卷;

上述第一控制装置,将分别对应于上述多个逻辑卷中所存储的多个 数据的多个日志、写入上述第一日志存储区域;

在上述第一日志存储区域中所存储的上述多个日志中,包含有上述 多个日志分别对应的关于上述多个数据的更新顺序的信息;

上述第二和第三存储系统的上述第二和第三控制装置,各自遵照包 含在从上述第一存储系统读出的上述多个日志中的上述更新顺序,根据 上述多个日志生成上述多个数据的复制并分别写入上述第二和第三数据 存储区域。

10.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统,根据上述第三存储系统的处理负荷,控制上述 恢复的定时。

11.一种数据处理系统,其特征在于,

具备:

被可通信地连接到上位装置的第一存储系统,和

分别被可通信地连接到上述第一存储系统的第二和第三存储系统; 上述第一存储系统,具有:存储从上述上位装置所送来的数据的第一数据存储区域,存储为生成在上述第一存储系统中所存储的数据的复制所使用的日 志的第一日志存储区域,和将从上述上位装置所送来的数据写入上述第一数据存储区域、而后, 将被写入数据的日志写入上述第一日志存储区域的第一控制装置; 上述第二存储系统,具有:存储上述日志的第二日志存储区域,和

用规定的读日志的定时从上述第一存储系统读上述日志、将所读出 的日志写入上述第二日志存储区域的第二控制装置;

上述第三存储系统,具有:

存储上述日志的第三日志存储区域,和

用规定的读日志的定时从上述第一存储系统读上述日志、将所读出 的日志写入上述第三日志存储区域的第三控制装置。

12.根据权利要求11所述的数据处理系统,其特征在于,上述第二存储系统,还具有存储上述数据的复制的第二数据存储区 域;上述第二控制装置,用规定的恢复的定时由上述第二日志存储区域 所存储的日志生成上述数据的复制,并将所生成的上述数据的复制写入 上述第二数据存储装置;

上述第三存储系统,还具有存储上述数据的复制的第三数据存储区 域;上述第三控制装置,用规定的恢复的定时由上述第三日志存储区域 所存储的日志生成上述数据的复制,并将所生成的上述数据的复制写入 上述第三数据存储装置。

13.根据权利要求11所述的数据处理系统,其特征在于,上述第一存储系统的上述第一控制装置,检测是否由上述第二和第 三存储系统读出了上述第一日志存储区域内的上述日志,在由上述第二 和第三存储系统双方读出之前,保持上述第一日志存储区域内的上述日 志,在由上述第二和第三存储系统双方读出之后,使上述第一日志存储 区域内的上述日志可以消去。

14.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据从上述第一日志存储 区域读出的日志的数据的数,控制上述读日志的时间间隔。

15.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据在上述第一存储系统 和上述第三存储系统之间所接收发送的数据的通信量,控制上述读日志 的时间间隔。

16.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三数据存储区 域保持的上述日志的存储容量,控制上述读日志的时间间隔。

17.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三存储系统的处 理负荷,控制上述读日志的时间间隔。

18.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,由上述第一存储系统,读 出上述第一存储系统内的上述第一日志存储区域保持的关于上述日志的 存储容量的信息,根据上述所读出的关于上述日志的存储容量的信息, 控制上述读日志的时间间隔。

19.根据权利要求11所述的数据处理系统,其特征在于,上述第一存储系统,拥有关于上述第一日志存储区域的管理信息;

上述第三存储系统的上述第三控制装置,由上述第一存储系统,读 出上述第一存储系统拥有的关于上述第一日志存储区域的管理信息,根 据所读出的关于上述第一日志存储区域的管理信息,控制上述读日志的 时间间隔。

说明书 :

技术领域

本发明涉及具有多个存储系统的数据处理系统,特别是涉及在多个 存储系统间的数据的复制。

背景技术

近年来,为了经常地对顾客提供连续的服务,有关存储系统间的数 据的复制技术日益变得重要,以便即使在第一存储系统发生故障时,数 据处理系统仍能提供服务。作为将第一存储系统中所存储的信息复制到 第二和第三存储系统技的技术,存在以下专利文献所公布的技术。
在美国专利5170480号公报中,公布了这样的技术:被连接到第一 存储系统的第一计算机,通过第一计算机和第二计算机间的通信链路, 将第一存储系统存储的数据,传送给第二计算机;由第二计算机传送给 被连接到第二计算机的第二存储系统。
在美国专利6209002号公报中,公布了这样的技术:第一存储系统 将第一存储系统中所存储的数据传送给第二存储系统,再由第二存储系 统传送给第三存储系统。计算机和第一存储系统由通信链路连接,第一 存储系统和第二存储系统由通信链路连接,而且第二存储系统和第三存 储系统也由通信链路连接。第一存储系统,保持复制对象的第一逻辑卷。 第二存储系统,保持作为第一逻辑卷的复制的第二逻辑卷、和作为第二 逻辑卷的复制的第三逻辑卷。第三存储系统,保持作为第三逻辑卷的复 制的第四逻辑卷。在该专利文献中,第二存储系统,排他地执行从第二 逻辑卷向第三逻辑卷的数据复制处理,和从第三逻辑卷向第四逻辑卷的 数据复制处理。
美国专利5170480号公报所公布的技术,为了数据的复制,要经常 使用第一计算机和第二计算机。第一计算机在进行通常的业务,因此不 能忽视加给第一计算机的数据复制处理的负荷。再者,用来复制的数据, 要使用第一计算机和第一存储系统间的通信链路,因此会与通常业务所 需的数据传送冲突,所以存在这样的课题:延长了通常业务中所必要的 数据参照、数据更新时间。
美国专利6209002号公报所公布的技术,对第二存储系统和第三存 储系统,必需有进行复制的数据大小的成倍的存储容量。另外,由于复 制对象的数据大小多,所以数据复制处理所花费的时间长,第三存储系 统的数据则变成了老数据。结果存在有这样的课题:在用第三存储系统 的数据重开业务的场合,将第三存储系统的数据达到做成最新的时间延 长,使达到业务重开的时间延长。再者,若依据该文献公开的技术,第 一存储系统,除第一存储系统内的数据更新处理外,在与第二存储系统 之间的数据更新处理结束的时刻,要给上位计算机进行数据更新完了报 告。因而,计算机花费在数据更新的时间长,且第一存储系统和第二存 储系统之间的距离越远,数据更新所花费的时间就越长。结果就存在另 一个问题:不能将各存储系统间的距离设得太远。

发明内容

本发明的目的在于,在不影响存储系统的上位的计算机的情况下, 在多个存储系统间进行数据传送或数据的复制。
本发明的另一个目的在于,在不影响存储系统和计算机之间的通信 的情况下,在多个存储系统间进行数据传送或数据的复制。
本发明的再一个目的在于,减少多个存储系统内所保持的数据存储 区域。
本发明又一个目的在于,以不影响多个存储系统的上位计算机的业 务的方式,在多个存储系统间高速且有效地进行数据传送或数据的复制。
按照本发明的一个观点的数据处理系统,具有:被可通信地连接到 上位装置的第一存储系统,和分别被可通信地连接到第一存储系统的第 二及第三存储系统。
第一存储系统,具有:第一控制装置,存储从上位装置所送来的数 据的第一数据存储区域,和存储为生成第一存储系统所存储的数据的复 制所使用的日志的第一日志存储区域。第一控制装置将从上位装置所送 来的数据写入第一数据存储区域,将被写入到第一数据存储区域的数据 的日志写入第一日志存储区域,而后,根据来自第二和第三存储系统的 各自的请求,将第一日志存储区域内的日志分别送到第二和第三存储系 统。
第二存储系统,具有:第二控制装置,存储第一数据存储区域内的 数据复制的第二数据存储区域,和存储日志的第二日志存储区域。第二 控制装置用被独自调度的读日志的定时从第一存储系统读出日志,并将 所读出的日志写入第二日志存储区域,而后,用被独自调度的恢复的定 时,根据第二日志存储区域内的上述日志,生成第一数据存储区域内的 数据的复制,将其写入第二数据存储区域。
第三存储系统,具有:第三控制装置,存储第一数据存储区域内的 数据复制的第三数据存储区域,和存储日志的第三日志存储区域。第三 控制装置用被独自调度的读日志的定时从第一存储系统读出日志,并将 所读出的日志写入第三日志存储区域,而后,用被独自调度的恢复的定 时,根据第三日志存储区域内的日志,生成第一数据存储区域内的数据 的复制,将其写入第三数据存储区域。
再者,第一存储系统内的第一控制装置,检测是否由第二和第三存 储系统读出了第一日志存储区域内的日志。而且第一控制装置,在由第 二和第三存储系统双方读出之前,保持第一日志存储区域内的日志,在 由第二和第三存储系统双方读出之后,可以消去第一日志存储区域内的 日志。
第三存储系统的第三控制装置,可以根据从第一日志存储区域读出 的日志的数据的数,控制读日志的时间间隔。或者,第三控制装置,也 可以根据在第一存储系统和第三存储系统间发送接收的数据的通信量, 控制读日志的时间间隔。或者,第三控制装置,也可以根据第三数据存 储区域保持的日志的存储容量,控制读日志的时间间隔。或者,第三控 制装置,也可以根据第三存储系统的处理负荷,控制读日志的时间间隔。 或者,第三控制装置,也可以由第一存储系统,读出第一存储系统内的 第一日志存储区域保持的关于日志的存储容量的信息,根据所读出的关 于日志的存储容量的信息,控制读日志的时间间隔。或者,第一存储系 统,拥有关于第一日志的存储区域的管理信息,而后,第三存储系统的 第三控制装置,也可以由上述第一存储系统,读出上述第一存储系统拥 有的、关于上述第一日志存储区域的管理信息,根据所读出的关于第一 日志存储区域的管理信息,控制读日志的时间间隔。第二存储系统的第 二控制装置,基本上也可以与此同样地控制读日志的时间间隔。
第一存储系统内的第一数据存储区域,可以由多个逻辑卷构成。第 一控制装置,可以将分别对应于该多个逻辑卷所存储的多个数据的多个 日志、写入第一日志存储区域。在第一日志存储区域所存储的多个日志 中,可以包含关于对应的多个数据的更新顺序的信息。第二和第三存储 系统的第二和第三控制装置,各自按照从第一存储系统读出的包含在多 个日志中的更新顺序,根据多个日志生成多个数据的复制,并可以将其 分别写入第二和第三数据存储区域。
第三存储系统,也可以做成为:根据第三存储系统的处理负荷,来 控制恢复的定时。
按照本发明的另一个观点的数据处理系统,具备:被可通信地连接 到上位装置的第一存储系统,和分别被可通信地连接到第一存储系统的 第二及第三存储系统。
第一存储系统,具有:第一控制装置,存储从上位装置所送来的数 据的第一数据存储区域,和存储为生成第一存储系统所存储的数据的复 制所使用的日志的第一日志存储区域。该第一存储系统的第一控制装置, 将从上位装置所送来的数据写入第一数据存储区域,而后,将被写入的 数据的日志写入第一日志存储区域。
第二存储系统,具有:第二控制装置,和存储日志的第二日志存储 区域。这个第二存储系统的第二控制装置,用规定的读日志的定时从第 一存储系统读出日志,将所读出的日志写入第二日志存储区域。
第三存储系统,具有:第三控制装置,和存储日志的第三日志存储 区域。这个第三存储系统的第三控制装置,用规定的读日志的定时从第 一存储系统读出日志,将所读出的日志写入第三日志存储区域。
第二存储系统,还可以具有存储数据的复制的第二数据存储区域。 第二控制装置,可以用规定的恢复的定时由第二日志存储区域所存储的 日志生成数据的复制、将所生成数据的复制写入第二数据存储区域。
第三存储系统,也还可以具有存储数据的复制的第三数据存储区域。 第三控制装置,可以用规定的恢复的定时由第三日志存储区域所存储的 日志生成数据的复制、将所生成数据的复制写入第三数据存储区域。
第一存储系统的第一控制装置,可以检测是否由第二和第三存储系 统读出了第一日志存储区域内的日志,在由第二和第三存储系统双方读 出之前,保持第一日志存储区域内的上述日志,在由第二和第三存储系 统双方读出之后,可以将第一日志存储区域内的日志消去。

附图说明

图1是表示本发明的第1实施方式的数据处理系统的物理构成的流 程图。
图2是表示第1实施方式的数据处理系统的逻辑构成的流程图。
图3是说明日志更新信息和写数据的关系的图。
图4是表示日志中所包含的更新信息的具体例子的图。
图5是说明第1实施方式的卷信息的例子的图。
图6是说明第1实施方式的配对信息的例子的图。
图7是说明第1实施方式的分组信息的例子的图。
图8是说明第1实施方式的指针信息的例子的图。
图9是说明指针信息内的项目和日志逻辑卷的关系的图。
图10是说明开始第1实施方式的数据复制的步骤的流程图。
图11是说明第1实施方式的初始拷贝处理的流程图。
图12是说明第1实施方式的命令接收处理中的数据流的图。
图13是表示第1实施方式的命令接收处理的步骤的流程图。
图14是表示第1实施方式的日志生成处理的步骤的流程图。
图15是说明第1实施方式的日志生成处理时的更新信息的例子的 图。
图16是说明第1实施方式的读日志接收处理中的数据流的图。
图17是表示第1实施方式的读日志接收处理的步骤的流程图。
图18是说明第1实施方式的读日志命令处理中的数据流的图。
图19是表示第1实施方式的读日志命令处理的步骤的流程图。
图20是表示第1实施方式的日志存储处理的步骤的流程图。
图21是说明第1实施方式的恢复处理中的数据流的图。
图22是表示第1实施方式的恢复处理的步骤的流程图。
图23是表示第2实施方式的逻辑构成的图。
图24是表示第3实施方式的逻辑构成的图。
图25是表示第4实施方式的逻辑构成的图。
图26是说明第4实施方式的指针信息的例子的图。
图27是说明第4实施方式的指针信息和日志逻辑卷的关系的图。

具体实施方式

按照附图对本发明的数据处理系统的实施方式进行详细说明。
图1是表示按照本发明的数据处理系统的一个实施方式的物理构成 的框图。图2是表示本实施方式的逻辑构成的框图。
如图1和图2所示,在这个数据处理系统中,主计算机180和存储 系统100A由连接通路190连接,另外,存储系统100A和另外的存储系 统100B由连接通路200连接。存储系统100B被用来保持存储系统100A 所保存的数据的复制。在以下的说明中,为了容易区别保持复制对象数 据的存储系统100A和保持复制数据的存储系统100B,将前者100A称之 为“正存储系统”,将后者100B称之为“副存储系统”。
参照图1,对正存储系统100A和副存储系统100B的物理构成进行 说明。
正存储系统100A和副存储系统100B基本上具有同样的物理构成, 因此在图1中仅代表性地示出了正存储系统100A的构成。如图1所示, 正存储系统100A,具备:一个以上的通道适配器110,一个以上的磁盘 适配器120,一个以上的超高速缓冲存储器130,一个以上的共用存储器 140,一个以上的物理存储装置150(例如硬盘驱动器),一个以上的公用 通路160,和一个以上的连接线170。通道适配器110、磁盘适配器120、 超高速缓冲存储器130、共用存储器140,由公用通路160相互连接起来。 公用通路160,也可以做成双重化,以备公用通路160故障时使用。磁盘 适配器120和物理存储装置150由连接线170连接。另外,图上没有示 出,将用来进行存储系统100的设定、监视、维护等的终端,用专线连 接到所有的通道适配器110和磁盘适配器120。
通道适配器110,通过连接线190或连接线200与主计算机180或 其他的存储系统(例如副存储系统100B)相连接。通道适配器110,控 制主计算机180和超高速缓冲存储器130之间的数据传送、或其他的存 储系统和超高速缓冲存储器130之间的数据传送。磁盘适配器120,控制 超高速缓冲存储器130和物理存储装置150之间的数据传送。超高速缓 冲存储器130,是临时保持从主计算机180或其他的存储系统接收到的数 据、或从物理存储装置150读出的数据的存储器储器。共用存储器140, 是存储系统100内的所有通道适配器110和磁盘适配器120共享的存储 器储器。在共用存储器140中,主要存储并保持通道适配器110和磁盘 适配器120使用的用于控制和管理的各种各样的信息(例如以下所述的 卷信息400、配对信息500、分组信息600以及指针信息700等)。副存 储系统100B的物理构成,也基本上与其相同。
下面,对存储系统100A和存储系统100B的逻辑构成,参照图2进 行说明。
如图2所示,在存储系统100A和100B的各自当中,将由物理存储 装置150、150…所提供的所有的存储区域分割成逻辑的多个存储区域 230、230…进行管理。以下,将各个逻辑存储区域230假定称为“逻辑 卷”。各逻辑卷230的容量和在存储系统100A或100B内的物理存储位 置(物理地址),可以由存储系统100A和100B中所连接的维护终端计 算机(图中未示出)或主计算机180来指定。各逻辑卷230的物理地址, 被保存在后述的卷信息400中。物理地址,例如由识别存储系统100A和 100B内的物理存储装置150的编号(存储装置编号),和唯一地表示在 该存储装置150内的存储区域的数值(例如,距离物理存储装置150内 的存储区域的首端的位置)构成。在以下的说明中,物理地址,被取作 是用物理存储装置150的存储装置编号,和距离该物理存储装置150内 的存储区域的首端的位置的组合来表示。在按照已普及的RAID原理的 存储系统中,一个逻辑卷230对应着多个物理存储装置150内的多个物 理存储区域,但以下为了容易说明,假定一个逻辑卷230对应着一个物 理存储装置150内的一个物理存储区域来进行说明。但是,即使在按照 RAID原理的存储系统中、本发明的原理与以下的说明同样也可以适用, 这应该是业内人士容易理解的。
存储系统100A、100B内所保存的数据,可以由识别该数据存在的 逻辑卷230的编号(逻辑卷编号),和唯一地表示该逻辑卷230内的该数 据的存储区域的数值(例如,距离逻辑卷230内的存储区域的首端的位 置)唯一地指定。在以下的说明中,逻辑地址,被取作是用逻辑卷230 的逻辑卷编号,和距离逻辑卷230内的存储区域的首端的位置的组合来 表示。
在以下的说明中,为了容易区别复制对象的逻辑卷和作为其复制的 逻辑卷,假定将前者称为“正逻辑卷”,后者称为“副逻辑卷”。将一对 正逻辑卷和副逻辑卷假设称为“配对”。将正逻辑卷和副逻辑卷的关系以 及状态等信息保存在下述的配对信息500中。
为了使多个正逻辑卷,和与这些正逻辑卷分别构成对的多个副逻辑 卷之间的数据更新顺序一致,设置称为“分组”的管理单位。例如,设 想这样的场合:即主计算机180,更新第1正逻辑卷内的第1数据,其后, 读出该第1数据,利用该第1数据,来进行更新第2正逻辑卷内的第2 数据的处理的场合。此时,如果是独立地进行由第1正逻辑卷向第1副 逻辑卷的数据复制处理、和由第2正逻辑卷向第2副逻辑卷的数据复制 处理,就有在向第1副逻辑卷的第1数据复制处理之前、进行向第2副 逻辑卷的第2数据复制处理的情况。在这种场合,如果在向第2副逻辑 卷的第2数据复制处理结束后、而向第1副逻辑卷的第1复制处理结束 之前发生故障等,使向第1副逻辑卷的复制处理停止,则会损坏在第1 副逻辑卷和第2副逻辑卷间的数据的一致性。在这样的场合,为了保持 在第1副逻辑卷和第2副逻辑卷间的数据的一致性,要进行采用“分组” 的更新顺序的控制。即,将有必要在正逻辑卷和副逻辑卷间使数据的更 新顺续一致的多个逻辑卷,登录到同一个分组中。对每个属于该分组的 正逻辑卷进行的数据的更新,分配后述的分组信息600的更新编号。而 后,按照该更新编号的顺序,进行向被更新了数据的副逻辑卷的复制处 理。例如,在图2的例中,正存储系统100A内的两个正逻辑卷”DATA1” 和“DATA2”构成一个分组“分组1”。而后,作为这两个正逻辑卷”DATA1” 和“DATA2”的复制的两个副逻辑卷“COPY1”和“COPY2”,在副存 储系统100B内构成相同的分组“分组1”。
在更新作为数据复制对象的正逻辑卷的数据场合,为了利用于副逻 辑卷的数据更新,要生成关于该数据更新的日志,该日志被保存在正存 储系统100A内的规定的正逻辑卷中。在本实施方式中,对于正存储系统 100A内的各分组,分配用来只保存该分组的日志的逻辑卷(以下,称之 为日志逻辑卷)。在图2的例子中,在分组“分组1”中,分配有日志逻 辑卷“JNL1”。在副存储系统100B内的各分组中,也分配有日志逻辑卷。 在图1中,在副存储系统100B内的分组“分组1”中,分配有日志逻辑 卷“JNL2”。副存储系统100B内的日志逻辑卷“JNL2”,被使用于保存 由正存储系统100A传送到副存储系统100B的“分组1”的日志。通过将 日志保存到副存储系统100B内的日志逻辑卷,在日志接收时就不必进行 副逻辑卷的数据更新,可以在与日志接收时非同步的之后的时期,例如, 在副存储系统100B的负荷低时,根据该日志更新副逻辑卷的数据。
进而,在正存储系统100A和副存储系统100B之间的连接线200有 多个的场合,从正存储系统100A多重地进行向副存储系统100B的日志 传送,可以有效地利用多个连接线200的传送能力。由于要遵守规定的 更新顺序,所以,在副存储系统100B中有可能滞留许多日志,但是通过 将在逻辑卷的数据更新中不能立刻使用的日志退避到日志逻辑卷,就可 以释放超高速缓冲存储器。
上述的日志由写数据和更新信息构成。更新信息是用来管理写数据 的信息,包含:接收写命令的时刻、分组编号、后述的分组信息600的 更新编号、写命令的逻辑地址、写数据的数据大小、存储写数据的日志 逻辑卷的逻辑地址等。更新信息也可以只保持接收写命令的时刻和更新 编号的其中之一。在来自主计算机180的写命令中包含有写命令的生成 时刻的场合,也可以使用该写命令内的命令生成时刻代替接收写命令的 时刻。
图3表示日志的更新信息和写数据的关系的一个例子。
如图3所示,日志逻辑卷350,例如可被分割为存储更新信息的存 储区域(更新信息区域)351,和存储写数据的存储区域(写数据区域) 353来使用。在正逻辑卷340所写入的写数据320的更新信息310,从日 志逻辑卷350的更新信息区域351的首端,按照更新编号的顺序被存储。 当某个更新信息310的存储位置到达更新信息区域351的末端时,后续 的更新信息310从更新信息区域351的首端存储。与写入正逻辑卷340 中的写数据320对应的写数据330,从日志逻辑卷350的写数据区域353 的首端,按照更新编号的顺序被存储。当某个写数据330的存储位置到 达写数据区域353的末端时,后续的写数据330从写数据区域353的首 端存储。更新信息区域351和写数据区域353的大小之比,可以是固定 值,也可以是由终端或主计算机180可设定为任意值。表示在日志逻辑 卷350内的更新信息区域351和写数据区域353的范围的地址、和表示 最新和最老的更新信息310以及写数据330的存储位置的地址等信息, 被保持在后述的指针信息700内。在以下的说明中,日志逻辑卷350被 分割为更新信息区域351和写数据区域353来使用,但作为变型例,也 可以采用从日志逻辑卷350的首端、连续地存储各日志的更新信息310 和写数据330的方式。
图4表示日志的更新信息310的具体例子。
在图4所示例的更新信息310中,存储有“1999年3月17日22时 20分10秒”那样的写命令的接收时刻。在这个更新信息310中,还记录 有:相应的写命令,是将写数据320存储到距离逻辑卷编号为“1”的逻 辑卷存储区域的首端为“700”的位置的命令,以及,写数据的大小是 “300”。而且,在这个更新信息310中,还记录着:从距离逻辑卷编号 “4”的逻辑卷存储区域的首端“1500”的位置存储有日志的写数据310。 另外,在该更新信息310中,还记录有:逻辑卷编号“1”的逻辑卷属 于分组“1”,以及,由上述写命令的数据更新,是从分组“1”的数据复 制开始第“4”号的数据更新。
再次参照图2。正存储系统100A,具有进行接收来自主计算机180 的数据的读/写命令的命令接收处理210,以及将数据读/写到适当的逻 辑卷230的读写处理220的功能。副存储系统100B,具有进行从正存储 系统100A读出日志的读日志处理(JNLRD)240、将数据读/写到适当 的逻辑卷230的读写处理220、以及根据来自正存储系统100A的日志, 更新适当的副逻辑卷230内的数据的恢复处理250的功能。这些处理功 能,由图2所示的通道适配器110、磁盘适配器120、超高速缓冲存储器 130以及共用存储器140来实现。
参照图2,对于将向正存储系统100A的正逻辑卷的数据更新反映到 副存储系统100B的副逻辑卷的动作进行概要说明。
(1)正存储系统100A,一旦从主计算机180接收针对正逻辑卷(例 如“DATA1”)230内的数据的写命令,就由命令接收处理210和读写处 理220,进行正逻辑卷(“DATA1”)230内的对象数据的更新、和向日志 逻辑卷(“JNL1”)230的日志的保存(箭头270)。
(2)副存储系统100B,由读日志处理240,将读日志的命令发送到 正存储系统100A。正存储系统100A,一旦从副存储系统100B接收读日 志的命令,就由命令接收处理210和读写处理220,从日志逻辑卷 (“JNL1”)230读出日志,发送到副存储系统100B(箭头280)。
(3)副存储系统100B,由读写处理220,将由正存储系统读出的日 志,保存到日志逻辑卷(“JNL2”)230中(箭头280)。
(4)副存储系统100B,由恢复处理250和读写处理220,用指针信 息700,按照更新编号的升序,从日志逻辑卷(“JNL2”)230读出日志, 更新副逻辑卷(例如“COPY1”)230的数据(箭头290)。
图5表示卷信息400的具体例子。
卷信息400,由通道适配器110和磁盘适配器120保存在可参照的 存储器、例如图1所示的共用存储器140中。卷信息400用来管理逻辑 卷的信息,如图5所示,在每个逻辑卷编号中,保持:卷状态、格式化 形式、容量、配对编号、物理地址。卷状态,保持:“正常”、“正”、“副”、 “异常”、“未使用”的任一个。卷状态为“正常”或“正”的逻辑卷230, 是由主计算机180可以正常访问的逻辑卷230。卷状态为“副”的逻辑 卷230,也容许来自主计算机180的访问。卷状态为“正”的逻辑卷230, 是可以进行数据复制的逻辑卷230。卷状态为“副”的逻辑卷230,是 使用于复制的副逻辑卷230,卷状态为“异常”的逻辑卷230,是由于 故障而不能正常访问的逻辑卷230。此处,所谓的故障,例如是保持逻辑 卷230的存储装置150的故障。卷状态为“未使用”的逻辑卷230,是没 有使用的逻辑卷230。配对编号,在卷状态为“正”或“副”的场合有 效,保持用来特定后述的配对信息500的配对编号。在图5所示的例子, 表示:逻辑卷编号“1”的逻辑卷,是保持复制对象数据的正逻辑卷,是 可访问的,格式化形式是“OPEN3”,容量是“3GB”,其中所保持的数 据,从存储装置编号“1”的物理存储装置150的存储区域的首端开始存 储。
图6表示配对信息500的具体例子。
配对信息500,由通道适配器110和磁盘适配器120保存在可参照 的存储器、例如图1所示的共用存储器140中。配对信息500是用来管 理配对的信息,如图6所示,在每个配对编号中,保持:配对状态、正 存储系统编号、正逻辑卷编号、副存储系统编号、副逻辑卷编号、分组 编号、拷贝结束地址。配对状态,保持:“正常”、“异常”、“未使用”、“未 拷贝”、“拷贝中”的任一个。配对状态为“正常”的场合,表示在正常 地进行正逻辑卷230的数据复制。配对状态为“异常”的场合,表示由 于故障不能进行正逻辑卷230的复制。此处,所谓的故障,例如是连接 通路200的断线等。配对状态为“未使用”的场合,表示相应配对编号 的信息不是有效的。配对状态为“拷贝中”的场合,表示是在后述的初 始拷贝处理中。配对状态为“未拷贝”的场合,表示是后述的初始拷贝 处理还没有进行。正存储系统编号,对特定保持正逻辑卷230的正存储 系统100A的编号进行保持。副存储系统编写,对特定保持副逻辑卷230 的副存储系统100B的编号进行保持。分组编号,在正存储系统100A的 场合,保持正逻辑卷属于的分组编号,在副存储系统100B的场合,保持 副逻辑卷属于的分组编号。拷贝结束的地址,在后述的初始拷贝处理中 进行说明。图6所示例的配对信息1,表示:数据复制对象是由正存储系 统编号“1”的正逻辑卷编号“1”所特定的正逻辑卷、数据复制目的地 是由副存储系统编号”2”的副逻辑卷编号“1”所特定的副逻辑卷,在正 常地进行数据的复制处理。
图7表示分组信息600的具体例子。
分组信息600,由通道适配器110和磁盘适配器120保存在可参照 的存储器、例如保存在共用存储器140中。如图7所示,分组信息600, 在每个分组编号中,保持:分组状态、配对集合、日志逻辑卷编号、更 新编号。分组状态,保持:“正常”、“异常”、“未使用”的任一个。分组 状态为“正常”的场合,表示配对集合至少一个配对状态是“正常”。分 组状态为“异常”的场合,表示配对集合的所有的配对状态是“异常”。 分组状态为“未使用”的场合,表示相应分组编号的信息不是有效的。 配对集合,在正存储系统的场合,保持属于该分组的所有正逻辑卷的配 对编号,在副存储系统的场合,保持属于该分组的所有副逻辑卷的配对 编号。日志逻辑卷编号,表示属于相应分组编号的分组的日志逻辑卷编 号。更新编号,初始值为1,当针对分组内的正逻辑卷进行数据的写入时, 仅增加1。更新编号,被存储在日志的更新信息中,在副存储系统100B 中,用来维护数据的更新顺序。在图7中表示:在零时分组信息600,分 组编号“1”的分组,由属于配对编号“1”和“2”的逻辑卷、和逻辑卷 编号“4”的日志逻辑卷4构成,在正常地进行数据的复制处理。
图8表示指针信息700的具体例子。图9是说明指针信息中所包含 的项目和日志逻辑卷350的关系的图。
指针信息700,由通道适配器110和磁盘适配器120保存在可参照 的存储器、例如图1所示的共用存储器140中。指针信息700,是用来管 理相应分组的日志逻辑卷的信息,如图8所示,保持:该日志逻辑卷内 的更新信息区域首端地址、写数据区域的首端地址、更新信息最新地址、 更新信息最老地址、写数据最新地址、写数据最老地址、读开始地址、 以及重新执行开始(リトライ开始)地址。
正存储系统100A,仅具有连接到正存储系统100A的副存储系统的 台数份的套数的、用于管理正存储系统100A内的日志逻辑卷的指针信息 700。即,在图2所示的例子中,由于被连接到正存储系统100A的副存 储系统100B是1台,所以,如图8所示,正存储系统100A,具有对应 于该一台副存储系统100B的1套指针信息700,在该指针信息700中, 记载着该一台副存储系统100B的系统编号。但是,在后面说明的图25 的例子中,是将多数(例如2台)副存储系统100B、100C并列连接到正 存储系统100A。在图25的例子的场合,正存储系统100A,具有分别对 应于那些多数副存储系统100B、100C的多数套的指针信息700B、700C (参照图26),在那些多数套指针信息700B、700C中,记载着对应的副 存储系统100B、100C的系统编号。这样,正存储系统100A,在具有与 其所连接的多个副存储系统100B、100C分别对应的多个指针信息700 的场合,是否由每个副存储系统100B、100C进行了从正存储系统100A 的读日志(其定时因副存储系统100B、100C而异),可以由分别分配给 副存储系统100B、100C的多个指针信息700来管理。利用这点,正存储 系统100A就可以进行这样的控制:在由多个副存储系统100B、100C的 全体对其所进行的读出没有结束的时限内,就不消去且保持正存储系统 100A内的各日志。
另一方面,副存储系统100B,基本上具有用来管理该副存储系统 110B内的日志逻辑卷的1套指针信息700。但是,虽然图中没有特别示 出,也可以采用在正存储系统上,级联连接多个副存储系统的构成,此 时,位于该级联中间的副存储系统,可以具有分别对应于其上侧和下侧2 个副存储系统的多数套指针信息。
如图9所示,更新信息区域首端地址,保持日志逻辑卷350的更新 信息区域353的首端的逻辑地址。写数据区域首端地址,也保持日志逻 辑卷350的写数据区域353首端的逻辑地址。更新信息最新地址,接着, 在存储日志的场合,保持在该更新信息的保存中所使用的首端的逻辑地 址。更新信息最老地址,保持保存最老的(更新编号小的)日志的更新 信息的首端的逻辑地址。写数据最新地址,接着,在存储日志的场合, 保持在该写数据的保存中所使用的首端的逻辑地址。写数据最老地址, 保持保存在日志逻辑卷350内的最老的(更新编号最小的)日志的写数 据的首端的逻辑地址。读开始地址和重新执行开始地址,只在正存储系 统100A使用,被用在后述的读日志接收处理。若依据图8所示例的指针 信息700,更新信息区域351是从逻辑卷编号“4”的存储区域的首端(地 址“0”)到地址“699”的位置,写数据区域353,是从逻辑卷编号“4” 的存储区域的地址“700”的位置到地址“2699”的位置。而后,更新信 息,被保存在从逻辑卷编号“4”的存储区域的地址“200”的位置到地 址”499”的位置,下一个日志的更新信息,从逻辑卷编号“4”的存储区 域的地址“500”的位置存储。另外,日志的写数据,被保存在从逻辑卷 编号“4”的存储区域的地址“1300”的位置到地址“2199”的位置,下 一个日志的写数据,从逻辑卷编号“4”的存储区域的地址“2200”的位 置存储。
在此处的说明中,是一个分组中分配了一个日志逻辑卷。但是,一 个分组中也可以分配多个日志逻辑卷。例如,一个分组中分配两个日志 逻辑卷,在每个日志逻辑卷中设指针信息700,而后,也可以交互地将日 志存储到该两个日志逻辑卷。借此,将日志向物理存储装置150的写入 分散,以期提高性能。再者,也提高了日志的读性能。作为另一个例子, 一个分组中分配两个日志逻辑卷,通常只使用一个日志逻辑卷。另外一 个日志逻辑卷,是在现在所使用的日志逻辑卷的性能降低的场合使用。 所谓性能降低的场合,是指:例如,日志逻辑卷由多个物理存储装置150 构成,以RAID5的方式保持着数据,这些多个物理存储装置150中的一 台发生了故障的场合。
如上所述,卷信息400、配对信息500、分组信息600以及指针信息 700等,可以被存储到共用存储器140。但是,这些信息400、500、600 以及700,既可以集中存储到超高速缓冲存储器130、通道适配器110、 磁盘适配器120、或物理存储装置150中的任一个,或者也可以分散存储 到它们当中。
图10,是说明在本实施方式中开始数据复制的步骤的流程图。参照 图10,说明从正存储系统100A对副存储系统100B、开始数据复制的步 骤。
(1)分组生成(步骤900)
用户使用维护终端或主计算机180,参照正存储系统100A内的分组 信息600,取得分组状态为“未使用”的分组编号,例如“A”,用户使 用维护终端或主计算机180,将指定该分组编号“A”的生成指示,输入 到正存储系统100A。接收分组生成指示后,正存储系统100A将所指定 的分组编号”A”的分组状态变更为“正常”。
同样,用户参照副存储系统100B内的分组信息600,取得分组状态 为“未使用”的分组编号,例如,“B”,用户使用维护终端或主计算机 180,将指定副存储系统100B和分组编号“B”的分组生成指示,输入到 正存储系统100A。正存储系统100A将接收到的分组生成指示传送给副 存储系统100B。副存储系统100B将所指定的分组编号“B”的分组状态 变更为“正常”。
或者,用户也可以使用副存储系统100B的维护终端或被连接到副存 储系统100B的主计算机180,将指定分组编号”B”的分组生成指示,直 接输入到副存储系统100B。此时,副存储系统100B也将所指定的分组 编号“B”的分组状态变更为“正常”。
(2)配对登录(步骤910)
用户使用维护终端或主计算机180,将对特定作为数据复制源的正 逻辑卷的信息、和特定作为数据复制目的地的副逻辑卷的信息进行指定 的配对登录指示,输入到正存储系统100A。在特定正逻辑卷的信息中, 包含:所生成的分组编号“A”、和该分组“A”内的正逻辑卷的编号。 在特定副逻辑卷的信息中,包含:副存储系统100B的存储系统编号、所 生成的分组编号“B”、和该分组“B”内的副逻辑卷编号。
接收到上述配对登录指示后,正存储系统100A,从配对信息500获 得配对状态为“未使用”的配对编号。而后,正存储系统100A,在配对 信息500内取得的配对编号的行中,将配对状态设定为“未拷贝”,在正 存储系统编号中,设定正存储系统100A的存储系统编号;在正逻辑卷编 号中,设定所指示的正逻辑卷编号;在副存储系统编号中,设定所指示 的副存储系统编号;在副逻辑卷编号中,设定所指示的副逻辑卷编号, 而后,在分组编号中,设定所指示的分组编号“A”。进而,正存储系统 100A,将上述获得的配对编号,追加到所指示的分组编号“A”的分组 信息600的配对集合中,并将正逻辑卷编号的卷状态变更为“正”。
正存储系统100A,将正存储系统100A的存储系统编号、由用户所 指定的分组编号“B”、正逻辑卷编号、以及副逻辑卷编号,通知副存储 系统100B。副存储系统100B,由配对信息500获得“未使用”的配对编 号。而后,副存储系统100B,在配对信息500内获得的配对编号的行中, 将配对状态设定为“未拷贝”,在正存储系统编号中,设定正存储系统100A 的存储系统编号;在正逻辑卷编号中,设定所指示的正逻辑卷编号;在 副存储系统编号中,设定副存储系统100B的副存储系统编号;在副逻辑 卷编号中,设定所指示的副逻辑卷编号,而后,在分组编号中,设定所 指示的分组编号”B”。进而,副存储系统100B,将上述取得的配对编号, 追加到所指示的分组编号”B”的分组信息600的配对集合中,将副逻辑 卷编号的卷状态变更为“副”。
对所有数据复制对象的配对,进行以上的动作。
在上述的说明中,对向逻辑卷的分组的登录、和同时进行逻辑卷的 配对的设定的处理进行了说明,但也可以各自分别进行。
(3)日志逻辑卷登录(步骤920)
用户使用维护终端或主计算机180,将把日志的保存中所使用的逻 辑卷(日志逻辑卷)登录到分组的指示(日志逻辑卷登录指示),输入到 正存储系统100A。在日志逻辑卷登录指示中,包含:分组编号和逻辑卷 编号。
正存储系统100A,将所指示的逻辑卷编号,登录到所指示的分组编 号的分组信息600内的日志逻辑卷编号,而后,将“正常”设定到相应 逻辑卷的卷信息400内的卷状态中。
同样,用户使用维护终端或主计算机180,参照副存储系统100B的 卷信息400,指定副存储系统100B的存储系统编号、分组编号“B”、日 志逻辑卷的逻辑卷编号,并将日志逻辑卷登录的指示,输入到正存储系 统100A。正存储系统100A,将该日志逻辑卷登录指示传送给副存储系 统100B。副存储系统100B,将所指示的逻辑卷编号,登录到所指示的分 组编号“B”的分组信息600内的日志逻辑卷编号,而后,将“正常”设 定到相应逻辑卷的卷信息400内的卷状态。
用户也可以使用副存储系统100B的维护终端或连接到副存储系统 100B的主计算机180,指定分组编号、日志逻辑卷的逻辑卷编号,将日 志逻辑卷登录指示,直接输入到副存储系统100B。此时,副存储系统 100B也将所指示的逻辑卷编号,登录到所指示的分组编号“B”的分组 信息600内的日志逻辑卷编号,而后,将“正常”设定到相应逻辑卷的 卷信息400内的卷状态。
对于作为日志逻辑卷所使用的所有的逻辑卷,进行以上动作。步骤 910和步骤920的顺序也可以倒过来。
(4)数据复制处理的开始(步骤930)
用户使用维护终端或主计算机180,指定开始数据复制处理的分组 编号,指示正存储系统100A开始数据复制处理。正存储系统100A,将 属于所指示的分组的所有配对信息400的拷贝结束地址,设定成“0”。
正存储系统100A,指示副存储系统100B,开始读日志处理240和 恢复处理250(参照图2)。正存储系统100A,开始后述的初始拷贝处理。
(5)初始拷贝处理的结束(步骤940)
初始拷贝处理一旦结束,正存储系统100A,就将初始拷贝处理结束 通知副存储系统100B。副存储系统100B,将属于所指示的分组的所有副 逻辑卷的配对状态变更成“正常”。
图11是表示在上述图10的步骤930中进行的初始拷贝处理的步骤 的流程图。
在初始拷贝处理中,关于数据复制对象的正逻辑卷的整个存储区域, 利用配对信息500的拷贝结束地址,同时从该整个存储区域的首端起, 顺序对每个单位数据大小生成日志。拷贝结束地址初始值为0,每次生成 日志都将日志生成结束的数据的数据大小加算到其上。对于从逻辑卷的 存储区域的首端、到拷贝结束地址的前一个地址的范围,在初始拷贝处 理中日志是生成结束。通过进行初始拷贝处理,就可以将正逻辑卷内未 被更新的数据传送到副逻辑卷。在以下的说明中,是按照正存储系统100A 内的通道适配器110(参照图1)进行初始拷贝处理来进行说明的,但是, 也可以改换为磁盘适配器120进行这种处理。以下,根据图11说明初始 拷贝处理的步骤。
(1)正存储系统100A内的通道适配器110,在属于处理对象的分 组的配对中获得配对状态为“未拷贝”的正逻辑卷、例如“A”,将该配 对状态变更为“拷贝中”,重复以下的处理(步骤1010、1020)。如果是 处于“未拷贝”的配对状态的正逻辑卷不存在的场合,结束处理(步骤 1030)。
(2)对于在步骤1010获得的正逻辑卷“A”,通道适配器110对每 个单位数据大小的数据(例如,1MB)生成日志(步骤1040)。关于日志 生成处理的细节在下面叙述。
(3)通道适配器110,将日志生成结束的数据的数据大小加到配对 信息500拷贝结束地址(步骤1050)。
(4)拷贝结束地址,在达到正逻辑卷“A”的容量之前,重复上述 步骤1040和1050的处理(步骤1060)。拷贝结束地址,与正逻辑卷“A” 的容量相等时,对正逻辑卷“A”的整个存储区域生成日志,因此,通道 适配器110,将配对状态变更为“正常”,而后,对于其他的正逻辑卷开 始初始拷贝处理(步骤1070)。
在图11的流程图中,是逐次处理各个正逻辑卷,但也可以同时处理 多个逻辑卷。
图12是说明命令接收处理210(参照图2)中的数据流的图。图13 是表示命令接收处理210的步骤的流程图。图14是表示日志生成处理的 流程图。以下,参照图12~图14,就正存储系统100A,由主计算机180 接收到了对数据复制对象的逻辑卷230写命令的场合的动作进行说明。
首先,参照图12和图13,来说明命令接收处理210的整体动作。
(1)正存储系统100A内的通道适配器110(图13的步骤1200), 从主计算机接收访问明令。访问命令包含有:数据读、数据写、以及后 述的读日志等命令、命令对象的逻辑地址、以及数据大小等。在以下的 说明中,假定:访问命令内的逻辑地址为逻辑地址“A”,逻辑卷编号为 逻辑卷“A”,逻辑卷内位置为逻辑卷内位置“A”,数据大小为数据大小 “A”。
(2)通道适配器110,检查访问命令(步骤1210、1215)。在步骤 1215的检查中,访问命令为读日志命令的场合,进行后述的读日志接收 处理(步骤1220)。访问命令为读日志命令和数据写命令以外、例如为数 据读命令的场合,与现有技术同样地进行数据读处理(步骤1230)。
(3)在步骤1210的检查中,访问命令为数据写命令的场合,通道 适配器110,参照逻辑卷“A”的卷信息400,检查卷状态(步骤1240)。 在步骤1240的检查中,逻辑卷“A”的卷状态,为“正常”或“正”以 外的场合,由于不能访问逻辑卷“A”,因此,通道适配器110向主计算 机180报告异常结束(步骤1245)。
(4)在步骤1240的检查中,逻辑卷“A”的卷状态为“正常”或“正” 的任一场合,通道适配器110,确保超高速缓冲存储器130,通知主计算 机180:能够准备接收数据。主计算机180接收该通知,将写数据发送给 正存储系统100A。通道适配器110接收写数据,将其保存到相应超高速 缓冲存储器130中(步骤1250、图12的1100)
(5)通道适配器110,参照逻辑卷“A”的卷状态,检查逻辑卷“A” 是否是数据复制对象(步骤1260)。在步骤1260的检查中,卷状态为“正” 的场合,逻辑卷“A”是数据复制对象,因此,进行后述的日志生成处理 (步骤1265)。
(6)在步骤1260的检查中,卷状态为“正常”的场合,或步骤1265 的日志生成处理结束后,通道适配器110命令磁盘适配器120将写数据 写入存储装置150(图12的1140),向主计算机180进行结束报告(步 骤1270、1280)。其后,相应磁盘适配器120,通过读写处理,将写数据 保存到物理存储装置150(图12的1110)。
下面,就上述的图11的步骤1040或图13的步骤1265的日志生成 处理,参照图12和图14进行说明。
(1)通道适配器110,获取最初一套指针信息700(图14的步骤 1305)。通道适配器110,检查日志逻辑卷的卷状态(步骤1310)。在步 骤1310的检查中,日志逻辑卷的卷状态为“异常”的场合,在日志逻 辑卷中不能存储日志,因此,通道适配器110将分组状态变更为“异常”, 结束处理(步骤1315)。此时,通道适配器110进行将日志逻辑卷变更为 正常逻辑卷等动作。
(2)在步骤1310的检查中,日志逻辑卷的卷状态为“正常”的场 合,通道适配器110继续日志生成处理。日志生成处理,取决于是初始 拷贝处理内的处理或是命令接收处理内的处理,而动作有所不同(步骤 1320)。日志生成处理为命令接收处理内的处理的场合,进行自步骤1330 以下的动作;日志生成处理为初始拷贝处理内的处理的场合,进行自步 骤1370以下的动作。
(3)日志生成处理为命令接收处理内的处理的场合,通道适配器 110,检查写对象的逻辑地址“A”是否已变成了初始拷贝处理的处理对 象(步骤1330)。逻辑卷“A”的配对状态为“未拷贝”的场合,其后在 初始拷贝处理中进行日志生成处理,因此,通道适配器110不生成日志 而结束处理(步骤1335)。逻辑卷“A”的配对状态为“拷贝中”的场合, 拷贝结束地址如等于或小于逻辑地址内位置“A”,其后在初始拷贝处理 中进行日志生成处理,因此,通道适配器110不生成日志而结束处理(步 骤1335)。除上述以外,即逻辑卷“A”的配对状态为“拷贝中”且拷贝结 束地址为逻辑地址内位置“A”以上的场合,或者逻辑卷”A”的配对状 态为“正常”的场合,初始拷贝已经结束,因此,通道适配器110继续 日志生成处理。
(4)接着,通道适配器110,检查是否可将日志存储到日志逻辑卷。 即,通道适配器110用指针信息700,检查更新信息区域有无未使用领域 (步骤1340)。在指针信息700的更新信息最新地址和更新信息最老地址 相等的场合,由于在更新信息区域中不存在未使用领域,因此,通道适 配器110,作为日志生成失败而结束处理(步骤1390)。
在步骤1340的检查中,在更新信息区域中存在未使用领域的场合, 通道适配器110利用指针信息700,检查在写数据区域中能否存储写数据 (步骤1345)。写数据最新地址和数据大小“A”之和,等于或大于写数 据最老地址的场合,由于不能存储在写数据区域中,所以,通道适配器 110,作为日志生成失败而结束处理(步骤1390)。在存在下一套指针信 息700的限度内,通道适配器110就对下一套指针信息700,重复步骤 1340~步骤1345的处理。
(5)在日志可以存储的场合,通道适配器110,取得更新编号、用 来存储更新信息的逻辑地址、和用来存储写数据的逻辑地址,在超高速 缓冲存储器130内生成更新信息。通道适配器110,由对象分组的分组信 息600取得更新编号,而后,将其加1后的数值,设定为分组信息600 的更新编号。通道适配器110,作为用来存储更新信息的逻辑地址,取得 指针信息700的更新信息最新地址,而后,把将更新信息的大小与其相 加后的数值,设定为指针信息700的更新信息最新地址。通道适配器110, 作为用来存储写数据的逻辑地址,取得指针信息700的写数据最新地址, 而后,将在这个写数据最新地址上加上了数据大小“A”的数值,设定为 指针信息700的写数据最新地址。通道适配器110,将上述取得的数值、 分组编号、接收到写命令的时刻、和写命令内的逻辑地址“A”及数据大 小“A”设定为更新信息(步骤1350、图12的1120)。例如,在存在有 图7示例的分组信息600以及图8示例的指针信息700的场合中,在接 收到:请将数据大小“100”的数据写入从属于分组“1”正逻辑卷“1” 的存储区域的首端前进地址数”800”的位置、这样的写命令的场合,通 道适配器110就生成图15示例的更新信息。而后,图7示例的分组信息 600内的更新编号被变更为“5”。另外,指针信息600内的更新信息最新 地址被变更为“600”(假定更新信息的大小为“100”的场合),写数据 最新地址被变更为“2300”。在存在分别对应于被连接到正存储系统的多 个副存储系统的多数套指针信息700的场合,通道适配器110,要将所有 的那些多数套指针信息700进行上述那样的更新。
(6)通道适配器110,命令磁盘适配器120,将日志的更新信息和写 数据写入存储装置150,正常结束(步骤1360、图12的1130、1140、1150)。
(7)日志生成处理,在初始拷贝处理内的处理的场合,进行自步骤 1370以下的动作。通道适配器110,检查是否可生成日志。即,通道适 配器110用指针信息700,来检查更新信息系领域有无未使用领域(步骤 1370)。在指针信息700的更新信息最新地址和更新信息最老地址相等的 场合,由于在更新信息区域中不存在未使用领域,所以通道适配器110 作为日志生成失败而结束处理(步骤1390)。此处,在本实施方式中的初 始拷贝处理中,日志的写数据,由正逻辑卷读出,不使用写数据区域, 因此,无需进行写数据区域的未使用领域的确认。在存在下一套指针信 息700的限度内,通道适配器110,就对下一套指针信息700重复步骤 1370的处理。
(8)在步骤1370的的检查中,在能生成日志的场合,通道适配器110 取得在更新信息中必须设定的以下数值,并在超高速缓冲存储器130中 生成更新信息。即,通道适配器110由对象分组的分组信息600取得更 新编号,而后,把将其加1的数值设定为分组信息600的更新编号。通 道适配器110,作为用来存储更新信息的逻辑地址,取得指针信息700内 的更新信息最新地址的位置,而后,将在其加上了更新信息的大小的数 值设定为指针信息700内的更新信息最新地址。
通道适配器110将上述取得的数值、分组编号、本处理的开始时刻、 初始拷贝处理对象的逻辑地址、和初始拷贝一次处理的数据大小、和存 储初始拷贝中的写数据的日志逻辑卷的逻辑地址,设定为更新信息(步 骤1380、图12的1120)。
(9)通道适配器110命令磁盘适配器120,将更新信息写入物理存 储装置150,正常结束(步骤1385、图12的1140、1150)。
在以上的说明中,是将更新信息存储到超高速缓冲存储器130内, 但是作为变型,也可以将更新信息存储到共用存储器140或其他的存储 场所。
由磁盘适配器120进行的写入数据向物理存储装置150的写入,可 以异步进行(即,可以不是紧随步骤1360和步骤1385之后)。但是,主 计算机180,在再次发布了针对逻辑地址”A”的写命令的场合,要覆盖 日志的写数据。因此,在由主计算机180接收写数据之前,日志的写数 据,必须要写入到对应更新信息所表示的日志逻辑卷的逻辑地址的物理 存储装置150内的存储场所。或者,也可以将日志的写数据,退避到另 外的超高速缓冲存储器中,其后写入与更新信息的日志逻辑卷的逻辑地 址对应的物理存储装置150内的存储场所。
在上述的日志生成处理中,以适当的定时由超高速缓冲存储器将日 志保存到物理存储装置150。作为变型例,也可以予先为日志用准备好一 定量的超高速缓冲存储器130,在全部使用相应超高速缓冲存储器的阶 段,将日志保存到物理存储装置150。日志用的超高速缓冲存储器量,例 如可以使其能由维护终端指定。
读写处理220(参照图2、图12)是磁盘适配器120从通道适配器 110或磁盘适配器120接收命令并实施的处理。读写处理220被分类为: 将所指定的超高速缓冲存储器130的数据、写入到与所指定的逻辑地址 对应的物理存储装置150内的存储区域的写处理;和将与所指定的逻辑 地址对应的物理存储装置150内的存储区域的数据、读出到所指定的超 高速缓冲存储器130的读处理等。
图16是说明在接收到读日志命令的正存储系统100A的通道适配器 110的动作(读日志接收处理)中的数据流的图。图17是表示读日志接 收处理的步骤的流程图。以下,用这些附图,对正存储系统100A从副存 储系统100B接收到读日志命令时的动作进行说明。
(1)如图16和图17所示,正存储系统100A内的通道适配器110 从副存储系统100B接收访问命令(读日志命令)。这个访问命令包含: 表示读日志命令的识别符、命令对象的分组编号、以及有无重新执行指 示等(步骤1220、图16的1410)。在以下的说明中,将该访问命令(读 日志命令)内的分组编号设为分组编号”A”。
(2)通道适配器110检查分组编号“A”的分组状态是否为“正常” (步骤1510)。在步骤1510的检查中,分组状态为“正常”以外,例如 是“故障”的场合,通道适配器110将分组状态通知副存储系统100B, 结束处理。副存储系统100B,根据接收到的分组状态进行处理。例如, 副存储系统100B,在分组状态为“故障”的场合,结束读日志处理(步 骤1515)。
(3)在步骤1510的检查中,分组编号“A”的分组状态为“正常” 的场合,通道适配器110检查日志逻辑卷的状态(步骤1520)。在步骤 1520的检查中,日志逻辑卷的状态为非“正常”的场合,例如为“故障” 的场合,通道适配器110就将分组状态变更为“故障”,将分组状态通知 副存储系统100B,结束处理。副存储系统100B,根据接收到的分组状态 进行处理。例如,副存储系统100B,在分组状态为“故障”的场合,结 束读日志处理(步骤1525)。
(4)在步骤1520的检查中,日志逻辑卷的卷状态为“正常”的场 合,通道适配器110检查读日志命令是否为重新执行指示(步骤1530)。
(5)在步骤1530的检查中,读日志命令为重新执行指示的场合, 通道适配器110将上次发送过的日志再次发送给副存储系统100B。通道 适配器110确保超高速缓冲存储器130,命令磁盘适配器120从指针信息 700的重新执行开始地址指示的存储场所、将更新信息的大小的数据(更 新信息)读入超高速缓冲存储器(图16的1420)。
磁盘适配器120的读写处理220,从物理存储装置150读入更新信 息,将其保存到超高速缓冲存储器,将更新信息的读结束通知给通道适 配器110(图16的1430)。
通道适配器110接收更新信息的读结束的通知,从更新信息获得写 数据的逻辑地址和写数据的大小,确保超高速缓冲存储器130,命令磁盘 适配器120将写数据读入到超高速缓冲存储器130(步骤1540、图16的 1440)。
磁盘适配器120的读写处理220,从物理存储装置150读入写数据, 将其保存到超高速缓冲存储器130,将写数据的读结束通知给通道适配器 110(图16的1450)。
通道适配器110接收写数据的读结束的通知,将更新信息和写数据 发送给副存储系统100B,释放保持着日志的超高速缓冲存储器130,结 束处理(步骤1545、图16的1460)。
(6)在步骤1530的检查中,在不是重新执行指示的场合,通道适 配器110检查是否存在未发送的日志,如果存在,就将该日志发送给副 存储系统100B。通道适配器110比较指针信息700的读开始地址和更新 信息最新地址(步骤1550)。
在读开始地址和更新信息最新地址相等的场合,由于是将所有的日 志都发送到了副存储系统100B,所以,通道适配器110将“无日志”发送 给副存储系统100B(步骤1560),而后,释放在上次的读日志命令的处 理时已发送给副存储系统100B的日志的存储区域(步骤1590)。
在步骤1590的日志存储区域的释放处理中,没有必要针对该存储区 域积极地对其进行释放的动作,只要仅更新最老地址的指针即可。即, 将重新执行开始地址设定为指针信息700的更新信息最老地址。更新信 息最老地址为写数据区域首端地址的场合,将更新信息最老地址作为 “0”。指针信息700的写数据最老地址,被变更成在其当前值上加上根 据上次读日志命令所发送的写数据的大小的数值。写数据最老地址,在 为日志逻辑卷的容量以上的逻辑地址的场合,要作减去写数据区域首端 地址那样的修正。
(7)在步骤1550的检查中,在存在未发送的日志的场合,通道适 配器110确保超高速缓冲存储器130,命令磁盘适配器从指针信息700的 读开始地址,将更新信息的数据大小的数据(更新信息)读入超高速缓 冲存储器(图16的步骤1420)。
磁盘适配器120的读写处理220,从物理存储装置150读入更新信 息,将其保存到超高速缓冲存储器130,将更新信息的读结束通知给通道 适配器110(图16的1430)。
通道适配器110接收更新信息的读结束的通知,从更新信息取得写 数据的逻辑地址和写数据的大小,确保超高速缓冲存储器130,命令磁盘 适配器120将写数据读入超高速缓冲存储器((步骤1570、图16的1440)。
磁盘适配器120的读写处理220,从物理存储装置150读入写数据, 将其保存到超高速缓冲存储器130,将写数据的读结束通知给通道适配器 (图16的1450)。
通道适配器110接收写数据的读结束的通知,将更新信息和写数据 发送给副存储系统100B(步骤1580),释放保持着日志的超高速缓冲存 储器130(图16的1460)。而后,将读开始地址设定成指针信息700的 重新执行开始地址,而后,将读开始地址变更为在其当前值上加上了所 发送的日志的更新信息大小的数值。
(8)通道适配器110释放在上次读日志命令的处理时已被发送给副 存储系统100B的日志的存储区域(步骤1590)。
在上述的读日志接收处理中,正存储系统100A,将日志一个一个逐 次地发送给副存储系统100B。作为变型例,也可以做成:将多个日志同 时发送给副存储系统100B。用一个读日志命令所发送的日志数,既可以 由副存储系统100B在读日志命令内指定,或者,也可以在分组登录的时 侯等、由用户在正存储系统100A或副存储系统100B中指定。再者,也 可以根据正存储系统100A和副存储系统100B的连接通路200的传送能 力和负荷等、动态地变更用一个读日志命令所发送的日志数。另外,也 可以不是指定日志数、而是根据日志的读数据的数据大小指定日志的传 输量。
在上述的读日志接收处理中,将日志从物理存储装置150读入超高 速缓冲存储器130。但是,在日志已经存在于超高速缓冲存储器130的场 合,此动作是不需要的。
在上述的读日志接收处理内的日志存储区域的释放处理,是在下个 读日志命令的处理时被释放的。作为变型例,也可以在将日志发送到副 存储系统100B后,立刻释放该日志的存储区域。另外,也可以做成:副 存储系统100B,设定在读日志命令内可以释放的更新编号,正存储系统 100A,释放由该设定所指定的更新编号的日志的存储区域。
图18是说明读日志命令(JNLRD)处理240中的数据流的图。图 19是表示读日志命令处理240的步骤的流程图。图20是表示在读日志命 令处理240中所进行的日志存储处理步骤的流程图。利用这些附图,对 副存储系统100B的通道适配器110、从正存储系统100A读出日志、并 存储到日志逻辑卷的动作进行说明。
(1)副存储系统100B内的通道适配器110,确保存储日志的超高速 缓冲存储器30,将包含有表示读日志命令的识别符、命令对象的正存储 系统100A的分组编号、以及有无重新执行指示的访问命令(读日志命令) 发送给正存储系统100A(步骤1700、图18的1610)。以下,假定访问 命令内的分组编号为分组编号”A”。
(2)通道适配器110,接收正存储系统100A的应答和日志(图18 的1620)。通道适配器110检查来自正存储系统100A的应答,该应答为 “无日志”的场合,在正存储系统100A中不存在所指定分组的日志,因 此,一定时间之后,将读日志命令发送到正存储系统100A(步骤1720、 1725)。
(3)正存储系统100A的应答,为“分组状态故障”或“分组状态 未使用”的场合,通道适配器110将副存储系统100B的分组状态变更为 已接收状态,结束读日志处理步骤1730、1735)。
(4)正存储系统100A的应答为上述以外的场合,即正常结束的场 合,通道适配器110检查日志逻辑卷的卷状态(步骤1740)。日志逻辑卷 的卷状态为“异常”的场合,不能在日志逻辑卷的卷中存储日志,因此, 通道适配器110将分组状态变更为“异常”,结束处理(步骤1745)。此 时,通道适配器110进行将日志逻辑卷变更为正常的逻辑卷等动作,并 将分组状态返回到正常。
(5)在步骤1740的检查中,在日志逻辑卷的卷状态为“正常”的 场合,通道适配器110进行后述的日志存储处理1800。在日志存储处理 1800正常结束的场合,通道适配器110立刻发送下个读日志命令,或者 经过一定时间之后,发送下个读日志命令(步骤1760)。发送下个读日志 命令的定时,既可以按一定的时间间隔定期地进行发送,也可以根据接 收到的日志的个数、连接线200的通信量、副存储系统100B保持的日志 的存储容量、或副存储系统100B的负荷等来控制该时间间隔。再者,副 存储系统100B,读出正存储系统100A保持的日志的存储容量或正存储 系统100A的指针信息,根据该数值,也可以控制上述时间间隔。上述信 息的传送既可以用专用命令进行,也可以包含在读日志命令的应答中。 其后的处理,与步骤1710以下相同。
(6)在步骤1800日志存储处理非正常结束的场合,日志逻辑卷的 未使用领域不足,因此,通道适配器110废弃接收到的日志,在一定时 间后发送重新执行指示的读日志命令(步骤1755)。或者,通道适配器 110将日志保持到超高速缓冲存储器,一定时间后,再次进行日志存储处 理。这是由于,通过进行后述的恢复处理250,在一定时间后,日志逻辑 卷中未使用领域有可能增加。在该方式的情况下,无需在读日志命令中 有无重新执行指示。
下面,对上述的日志存储处理1800,参照图20进行说明。
(1)副存储系统通道适配器110,取得最初一套的指针信息700(步 骤1805)。副存储系统通道适配器110检查日志是否可存储到日志逻辑卷。 即,通道适配器110利用指针信息700,检查在更新信息区域中有无未使 用领域(步骤1810)。在指针信息700的更新信息最新地址和更新信息最 老地址相等的场合,更新信息区域中不存在未使用领域,因此,通道适 配器110作为日志生成失败而结束处理(步骤1820)。
(2)在步骤1810的检查中,在更新信息存储区域中存在未使用领 域的场合,通道适配器110利用指针信息700,检查在写数据区域中是否 可以存储写数据(步骤1830)。写数据最新地址和接收到的日志的写数据 的数据量之和,等于或大于写数据最老地址的场合,在写数据区域不能 存储写数据,因此,通道适配器110作为日志生成失败而结束处理(步 骤1820)。在存在下一套指针信息700的限度内,通道适配器110对下一 套指针信息700重复步骤1810~步骤1830。
(3)在可以存储日志的场合,通道适配器110变更接收到的更新信 息的分组编号和日志逻辑卷的逻辑地址。将分组编号变更成副存储系统 100B的分组编号,将日志逻辑卷的逻辑地址,变更成指针信息700的写 数据最新地址。通道适配器110将指针信息700的更新信息最新地址, 变更成在其上加上更新信息的大小的数值。通道适配器110将指针信息 700的写数据最新地址,变更成在该写数据最新地址上加上写数据的大小 的数值(步骤1840)。在存在分别与多个副存储系统对应的多数套指针信 息的场合,通道适配器110对所有这些多数套指针信息700进行上述的 更新。
(4)通道适配器110命令磁盘适配器120,将更新信息和写数据写 入存储装置150,作为日志生成成功而结束处理(步骤1850、图18的 1630)。其后,磁盘适配器120由读写处理220,将更新信息和写数据写 入物理存储装置150,释放超高速缓冲存储器130(图18的1640)。
在上述的日志存储处理中,以适当的定时将日志从超高速缓冲存储 器130保存到物理存储装置150。作为变型例,也可以为日志用预先准备 好一定量的超高速缓冲存储器130,在全部使用了相应超高速缓冲存储器 的阶段,将日志保存到物理存储装置150。日志用的超高速缓冲存储器量, 例如可以做成能由维护终端来指定。
图21是说明恢复处理250中的数据流的图。图22是表示恢复处理 250的步骤的流程图。以下利用这些附图,来说明副存储系统100B的通 道适配器110利用日志进行数据更新的动作。作为变型例,恢复处理250 也可以由副存储系统100B的磁盘适配器120来进行。
(1)副存储系统100B的通道适配器110检查分组编号B的分组状 态是否为“正常”(步骤2010)。在步骤2010的检查中,在分组状态是“正 常”以外,例如是“故障”的场合,通道适配器110结束恢复处理(步 骤2015)。
(2)在步骤2010的检查中,在分组状态为“正常”的场合,通道 适配器110检查日志逻辑卷的卷状态(步骤2020)。在步骤2020的检查 中,在日志逻辑卷的卷状态为“异常”的场合,由于不能访问,所以通 道适配器110在将分组状态变更成“异常”,结束处理(步骤2025)。
(3)在步骤2020的检查中,在日志逻辑卷的卷状态为“正常”的 场合,通道适配器110检查是否存在恢复对象的日志。即,通道适配器 110取得指针信息700的更新信息最老地址和更新信息最新地址。当更新 信息最老地址和更新信息最新地址相等时,不存在日志,因此,通道适 配器110一旦结束恢复处理,就在一定时间后再开恢复处理(步骤2030)。
(4)在步骤2030的检查中,在恢复对象的日志存在的场合,通道 适配器110对于具有最老(最小)的更新编号的日志进行后面的处理。 具有最老(最小)的更新编号的日志的更新信息,由指针信息700的更 新信息最老地址保存。通道适配器110确保超高速缓冲存储器130,命令 磁盘适配器120,从更新信息最老地址,将更新信息的数据大小的数据(更 新信息)读入超高速缓冲存储器130(图21的1910)。
磁盘适配器120的读写处理220,从物理存储装置150读入更新信 息,保存到超高速缓冲存储器130,将更新信息的读结束通知通道适配器 110(图21的1920)。
通道适配器110接收更新信息的读结束通知,由更新信息取得写数 据的逻辑地址和写数据的大小,确保超高速缓冲存储器130,命令磁盘适 配器120将写数据读入超高速缓冲存储器(图21的1930)。
磁盘适配器120的读写处理220从物理存储装置150读入写数据, 保存到超高速缓冲存储器130,将写数据的读结束通知通道适配器110(步 骤2040、图21的1940)。
(5)通道适配器110由更新信息求取更新的副逻辑卷的逻辑地址, 命令磁盘适配器120将写数据写入副逻辑卷(步骤2050、图21的1950)。 磁盘适配器120的读写处理220,将数据写入与副逻辑卷的逻辑地址对应 的物理存储装置150的存储场所,释放超高速缓冲存储器130,将写数据 的写结束通知通道适配器110(图21的1960)
(6)通道适配器110接收数据的写结束通知,释放日志的存储区域。 在日志存储区域的释放处理中,将指针信息700的更新信息最老地址, 变更为在其上加上更新信息的大小的数值。更新信息最老地址,在变成 了写数据区域的首端地址的场合,将更新信息最老地址作为0。将指针信 息700的写数据最老地址,变更为在其上加上写数据的数据大小的数值。 写数据的最老地址,在变成了日志逻辑卷容量以上的逻辑地址的场合, 修正为减去写数据区域首端地址。其后,通道适配器110开始下个恢复 处理(步骤2060)。
在上述的恢复处理250中,从物理存储装置150将读日志入超高速 缓冲存储器130。但是,这个动作在日志已经存在于超高速缓冲存储器 130中的场合,是不需要的。
在上述的读日志接收处理和读日志处理240中,正存储系统100A 由指针信息700来决定必须发送的日志。作为变型例,副存储系统100B 也可以决定必须发送的日志。此时,副存储系统100B,例如,可以在读 日志命令中,追加更新编号。这种场合,在正存储系统100A的共用存储 器140中,要设置用来从更新编号求取存储更新信息的逻辑地址的表或 检索方法,据此,正存储系统100A在读日志接收处理中,可以做到从由 副存储系统100B所指定的更新编号,求取更新信息的逻辑地址。
在上述的读日志接收处理和读日志处理240中,使用读日志命令的 专用的访问命令。作为变型例,也可以做成使用通常的读命令。这种场 合,例如,也可以做成将正存储系统100A的分组信息600和指针信息 700予先传送到副存储系统100B,而后,副存储系统100B,根据分组信 息600和指针信息700,生成用来读出正存储系统100A内的日志逻辑卷 的数据(即,日志)的读命令。
在上述的读日志接收处理中,是按照更新编号的顺序,从正存储系 统100A、依次将日志传送给副存储系统100B。作为变型例,也可以做 成以与更新编号的顺序不同的顺序发送日志。或者,也可以从正存储系 统100A、将多个日志并行地传送给副存储系统100B。这种场合,也可 以做成:在副存储系统100B中,设置用来从更新编号求取存储了更新信 息的逻辑地址的表或检索方法,据此,在副存储系统100B的恢复处理 250中,按更新编号的顺序来处理日志。
在本实施方式中,正存储系统100A取得日志,副存储系统100B从 正存储系统100A读日志,由此进行数据的复制。借此,被连接到正存储 系统100A的主计算机180,不担负涉及数据复制的负荷。再者,由于在 正存储系统100A和副存储系统100B之间传送日志,所以,正存储系统 100A和主计算机180间的通信线不被用于数据复制。
图23是表示按照本发明的数据处理系统的第2实施方式的逻辑构成 图。
如图23所示,本实施方式除了正存储系统100A和副存储系统100B 之外,还具有第3存储系统100C。这些存储系统100A、100B、100C的 物理构成,都和参照图1已经说明过的那些基本相同。主计算机180和 第3存储系统100C由连接通路190来连接,第3存储系统100C和正存 储系统100A由连接通路200来连接,而后,正存储系统100A和副存储 系统100B由连接通路200来连接。第3存储系统100C,具有分别保持 正存储系统100A内的正逻辑卷(“DATA1”、“DATA2”等)230内的数 据的原始数据的原始逻辑卷(“ORG1”、“ORG2”等)230。
第3存储系统100C,根据来自主计算机180的数据写命令,更新所 要求的原始逻辑卷(例如“ORG1”)230内的数据(原始数据)。这时, 第3存储系统100C,不仅更新原始逻辑卷(例如“ORG1”)230内的原 始数据,还要将用来更新与该更新对象的原始数据对应的正逻辑卷 (“DATA1”)230内的数据的数据写命令,发送给正存储系统100A (2310)。
正存储系统100A,如在第1实施方式中说明过的那样,接收上述数 据写命令,更新所要求的正逻辑卷(例如“DATA1”)230的数据,而后, 由上述的命令接收处理210和读写处理220,将该数据的更新的日志,保 存到日志逻辑卷(“JNL1”)230(2310)。
副存储系统100B,由上述的读日志处理240,从正存储系统100A 读出日志,由读写处理220,将日志保存到日志逻辑卷(“JNL2”)230 (2320)。
正存储系统100A,从副存储系统100B一旦接收读日志的命令,就 由命令接收处理210和读写处理220,从日志逻辑卷(“JNL1”)230读出 日志,并发送到副存储系统100B(2320)。
副存储系统100B,由上述的恢复处理250和读写处理220,遵照更 新编号,从日志逻辑卷(“JNL2”)读出日志,更新正逻辑卷(“DATA1”) 230的复制的副逻辑卷(COPY1)的数据(2330)。这样,通过按更新编 号的顺序更新数据,就可以保持逻辑卷间的数据的一致性。
在图23所示的数据处理系统中,正存储系统100A取得日志,并将 其存储到日志专用的存储区域中。再者,副存储系统100B,将从正存储 系统接收到的日志存储到日志专用的存储区域中。日志专用的存储区域, 可以做得比数据复制对象的存储区域小,可以用较小的存储容量在副存 储系统中进行正存储系统的数据的复制。
图24,是表示按照本发明的数据处理系统的第3实施方式的逻辑构 成图。
如图24所示,本实施方式除了正存储系统100A和副存储系统100B 之外,还具有第3存储系统100C。这些存储系统100A、100B、100C的 物理构成,都和参照图1已经说明过的基本相同。主计算机180和第3 存储系统100C由连接通路190来连接,第3存储系统100C和正存储系 统100A由连接通路200来连接,而后,正存储系统100A和副存储系统 100B由连接通路200来连接。
正存储系统100A对于第3存储系统100C,呈现出有正逻辑卷 “DATA1”、“DATA2等”,但对于该正逻辑卷(“DATA1”、“DATA2” 等),不分配实际的物理存储区域即物理存储装置150。例如,将表示没 有分配物理存储装置150的规定的数值,设定为卷信息400内的各正逻 辑卷的物理地址。因而,正存储系统100A内的正逻辑卷(“DATA1”、 “DATA2”等)是虚拟的。正存储系统100A具有用来保持这些虚拟正逻 辑卷(“DATA1”、“DATA2”等)的数据更新的日志的日志逻辑卷(“JNL1”) 230,给它分配实际的物理存储区域。第3存储系统100C,具有保持与 正存储系统100A内的虚拟正逻辑卷(“DATA1”、“DATA2”)内的数据 相当的实际的数据的原始逻辑卷(例如“ORG1”、“ORG2”等)230,给 它分配实际的物理存储区域。
第3存储系统100C,根据来自主计算机180的数据写命令,更新所 要求的原始逻辑卷(例如“ORG1”)的数据(原始数据)。这时,第3存 储系统100C,不仅更新该原始数据,而且要将用来更新与被更新的原始 数据对应的虚拟的正逻辑卷(例如,“DATA1”)内的数据的数据写命令, 发送给正存储系统100A(2410)。
正存储系统100A,从第3存储系统100C接收虚拟正逻辑卷(例如 “DATA1”)内的数据的写命令时,不进行图13所示的命令接收处理210 的步骤1270的处理(向磁盘适配器发布数据写命令),而只是将该数据 更新的日志保存到日志逻辑卷(“JNL1”)230(2410)。
副存储系统100B由上述的读日志处理240,从正存储系统100A读 日志,由读写处理220,将日志保存到日志逻辑卷(“JNL2”)230(2420)。
正存储系统100A,从副存储系统100B一旦接收读日志命令,由命 令接收处理210和读写处理220,从日志逻辑卷(“JNL1”)230读出日志, 传送到副存储系统100B(2420)。
副存储系统100B,由上述的恢复处理250和读写处理220,遵照更 新编号,从日志逻辑卷(“JNL2”)230读出日志,更新原始逻辑卷 (“ORG1”)230的复制的副逻辑卷(例如“COPY1”)230的数据(2430)。 这样,通过按更新编号顺序更新数据,就可以保持逻辑卷间的数据的一 致性。
在图24所示的数据处理系统中,在第3存储系统100C、或被连接 到第3存储系统100C的主计算机180中发生故障时,对副存储系统100B 的逻辑卷(例如“COPY1”)230,通过反映正存储系统100A内的日志 (“JNL1”)230,由被连接到副存储系统100B的主计算机(图24中未 示出),就可以进行最新数据的参照、更新。再者,由于在正存储系统100A 中不保持原始数据的复制、只存储日志,所以可以减少数据复制所需要 的存储容量。
图25是表示按照本发明的数据处理系统的第4实施方式的逻辑构成 图。
如图25所示,本实施方式具有正存储系统100A和多数(例如2台) 副存储系统100B、100C。这些存储系统100A、100B、100C的物理构成, 都和参照图1已经说明过的基本上相同。主计算机180和正存储系统100A 由连接通路190来连接,正存储系统100A和第1副存储系统100B由连 接通路200连接,而且,正存储系统100A和第2副存储系统100C由连 接通路200来连接。在正存储系统100A中,规定的多个正逻辑卷(例如 “DATA1”、“DATA2”)230和日志逻辑卷(例如“JNL1”)230构成一 个分组“分组1”。在第1副存储系统100B中,属于上述“分组1”的多 个正逻辑卷(“DATA1”、“DATA2”)230各自的复制的多个(例如 “COPY1”、“COPY2”)230和日志逻辑卷(如“JNL2”)230,构成相同 的分组“分组1”。同样,在第2副存储系统100C中,“分组1”的正逻 辑卷(“DATA1”、“DATA2”)230的各自的复制的多个副逻辑卷(例如 “COPY3”、“COPY4”)230和日志逻辑卷(例如“JNL3”)230,构成相 同的分组“分组1”。
对于1台正存储系统100A,由于存在多数台副存储系统100B、100C, 所以,如图26所示,将分别对应于多数台副存储系统100B、100C的多 个指针信息700B、700C,保持在正存储系统100A中。在第1副存储系 统100B中,保持第1副存储系统100B用的指针信息700B,在第2副 存储系统100C中,也保持第2副存储系统100C用的指针信息700C。 这些指针信息700B、700C各自的构成及其表示的含义,与参照图8和图 9已经说明过的相同。不同的副存储系统100B、100C,各自以独自调度 的定时,来进行读日志处理240和恢复处理250。因此,如图27所示例 的那样,不同的副存储系统100B、100C用的指针信息700B、700C指示 的地址未必相同。
以下再参照图25,对这个实施方式的动作进行说明。
正存储系统100A,一旦从主计算机180接收某个正逻辑卷(例如 “DATA1”)230的数据的写命令,就由上述的命令接收处理210和读写 处理220,更新正逻辑卷(“DATA1”)230内的所要求的数据,而后,将 该数据更新的日志保存到日志逻辑卷(“JNL1”)(2510)。
第1副存储系统100B,由上述的读日志处理240,从正存储系统100A 读日志,由读写处理220将该日志保存到日志逻辑卷(“JNL2”)(2520)。 此处,第1副存储系统100B读日志的定时(将读日志命令发送到正存储 系统100A的定时),由第1副存储系统100B的通道适配器110独自调度。 在这个读日志的定时中,如对图19的步骤1760已经说明过的那样,例 如,既可以是上个日志的日志存储处理1800正常结束之后立刻进行,也 可以是在上个日志的日志存储处理1800正常结束之后经过一定时间后进 行,或者,也可以按一定的时间间隔定期地进行。在定期地发送读日志 命令的场合,其时间间隔,也可以根据接收到日志的个数、连接线200 的通信量、第1副存储系统100B保持的日志的存储容量、或第1副存储 系统100B的负荷等来控制。再者,也可以是:第1副存储系统100B, 读出正存储系统100A保持的日志的存储容量或正存储系统100A的指针 信息,根据该数值,来控制上述时间间隔。上述信息的传送,既可以用 专用命令来进行,也可以被包含在读日志命令的应答中。总而言之,读 日志的定时无需与另外的副存储系统100C同步。
正存储系统100A,一旦从副存储系统100B接收读日志的命令,就 由命令接收处理210和读写处理220,从日志逻辑卷(“JNL1”)读出日 志,发送到第1副存储系统100B(2520)。
第1副存储系统100B,由上述的恢复处理250和读写处理220,遵 照更新编号,从日志逻辑卷(“JNL2“)读出日志,更新正逻辑卷(“DATA1”) 的复制的副逻辑卷(“COPY1“)的数据(290)。这样,通过按更新编号 顺序更新数据,就可以保持逻辑卷间的数据的一致性。
第2副存储系统100C,由上述的读日志处理240,从正存储系统100A 读日志,由读写处理220,将日志保存到日志逻辑卷(“JNL3”)(2520)。 此处,第2副存储系统100C读日志的定时(将读日志命令发送到正存储 系统100A的定时),由第2副存储系统100B的通道适配器110独自调度。 该读日志的定时,如对图19的步骤1760已经说明过的那样,例如,既 可以是上个日志的日志存储处理1800正常结束之后立刻进行,也可以是 在上个日志的日志存储处理1800正常结束之后经过一定时间后进行,或 者,按一定的时间间隔定期地进行。在定期地发送读日志命令的场合, 其时间间隔,也可以根据接收到日志的个数、连接线200的通信量、第2 副存储系统100C保持的日志的存储容量、或第2副存储系统100C的负 荷等来控制。再者,也可以是:第2副存储系统100C,读出正存储系统 100A保持的日志的存储容量或正存储系统100A的指针信息,根据该数 值来控制上述时间间隔。上述信息的传送,既可以用专用命令来进行, 也可以被包含在读日志命令的应答中。总而言之,读日志的定时无需与 另外的副存储系统100B同步。
正存储系统100A,一旦从第2副存储系统100C接收读日志的命令, 就由命令接收处理210和读写处理220,从日志逻辑卷(“JNL1”)读出 日志,发送到第2副存储系统100C(2520)。
第2副存储系统100C,由上述的恢复处理250和读写处理220,遵 照更新编号,从日志逻辑卷(“JNL3”)读出日志,更新正逻辑卷(“DATA1”) 的复制的副逻辑卷(“COPY3”)的数据(290)。这样,通过按更新编号 顺序更新数据,就可以保持逻辑卷间的数据的一致性。
如上所述,不同的副存储系统100B、100C,各自以独自调度的定时 来进行读日志处理240和恢复处理250。副存储系统100B、100C,当恢 复处理(或读日志处理)一旦结束,就分别将包含恢复处理(或读日志 处理)已结束的更新编号的恢复处理(或读日志处理)结束的通知,发 送给正存储系统100A。正存储系统100A根据来自副存储系统100B、100C 的恢复处理(或读日志处理)结束的通知,来管理表示哪个副存储系统 100B、100C结束了哪个更新编号的恢复处理(或读日志处理)的信息, 而后,正存储系统100A,根据该信息,对于在所有的副存储系统100B、 100C中恢复处理(或读日志处理)已结束的更新编号的日志,释放日志 逻辑卷(“JNL1”)230内的相应日志的存储区域。对于在副存储系统100B、 100C的任一个中恢复处理(或读日志处理)还没有结束的更新编号的日 志,正存储系统100A将该日志维持在日志逻辑卷(“JNL1”)230内,不 释放该日志的存储区域。
按照图25示例的数据处理系统,即使多数台中的一台副存储系统发 生故障,也可以由其他正常的副存储系统来维持正逻辑卷的复制,因此 安全性高。
在图25示例的数据处理系统中,针对一台正存储系统100A存在2 台副存储系统100B、100C。作为变型例,也可以针对一台正存储系统100A 设置3台以上的副存储系统100B、100C。
在图25示例的数据处理系统中,多数台的副存储系统100B、100C 并行地从一台正存储系统100A读日志。作为变型例,各副存储系统100B、 100C,除了从正存储系统100A读日志的功能外,还兼备有从其他副存 储系统读日志的功能,也可以使其能选择要从正存储系统100A和其他副 存储系统中的哪一个读日志。例如,在正存储系统100A的负荷小的时候, 所有的副存储系统100B、100C都从正存储系统100A读日志,另一方面, 当正存储系统100A的负荷大的时候,可以进行这样的控制:第1副存储 系统100B从正存储系统100A读日志,其后,第2副存储系统100C从 第1副存储系统100B读日志。
以上说明了本发明的几个实施方式。按照这些实施方式,在不影响 存储系统的上位计算机的情况下,或在也不影响存储系统和计算机间的 通信的情况下,能够在多个存储系统之间进行数据传送和数据的复制。
另外,按照上述的某个实施方式,可以减小在多个存储系统中保持 的数据存储区域。另外,按照上述的某个实施方式,在对多个存储系统 的上位计算机的业务影响不大的情况下,能够高速且有效地在多个存储 系统间进行数据传送和数据的复制。
本发明并不受上述实施方式的限定,不言而喻,在不脱离其要旨的 范围内可以做各种各样的变更。