具有多数个存储系统的数据处理系统的制作方法

文档序号:6408424阅读:128来源:国知局
专利名称:具有多数个存储系统的数据处理系统的制作方法
技术领域
本发明涉及具有多数个存储系统的数据处理系统,特别是涉及在多数个存储系统间的数据的复制。
背景技术
近年来,为了经常地对顾客提供连续的服务,有关存储系统间的数据的复制技术日益变得重要,以便即使在第一存储系统发生故障时,数据处理系统仍能提供服务。作为将第一存储系统中所存储的信息复制到第二和第三存储系统技的技术,存在以下专利文献所公布的技术。
在美国专利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读日志。
以上说明了本发明的几个实施方式。按照这些实施方式,在不影响存储系统的上位计算机的情况下,或在也不影响存储系统和计算机间的通信的情况下,能够在多数个存储系统之间进行数据传送和数据的复制。
另外,按照上述的某个实施方式,可以减小在多数个存储系统中保持的数据存储领域。另外,按照上述的某个实施方式,在对多数个存储系统的上位计算机的业务影响不大的情况下,能够高速且有效地在多数个存储系统间进行数据传送和数据的复制。
本发明并不受上述实施方式的限定,不言而喻,在不脱离其要旨的范围内可以做各种各样的变更。
权利要求
1.一种数据处理系统,其特征在于,具备被可通信地连接到上位装置的第一存储系统,和分别被可通信地连接到上述第一存储系统的第二和第三存储系统;(1)上述第一存储系统,具有存储从上述上位装置所送来的数据的第一数据存储领域,存储为生成在上述第一存储领域中所存储的数据的复制所使用的日志的第一日志存储领域,和将从上述上位装置所送来的数据写入上述第一数据存储领域、将被写入到上述第一数据存储领域的数据的日志写入上述第一日志存储领域、根据来自上述第二和第三存储系统的各自的请求、将上述第一日志存储领域内的上述日志分别送到上述第二和第三存储系统的第一控制装置;(2)上述第二存储系统,具有存储上述第一数据存储领域内的数据的复制的第二数据存储领域,存储上述日志的第二日志存储领域,和用被独自调度的日志读的定时从上述第一存储系统读上述日志、将所读出的日志写入上述第二日志存储领域,而后,用被独自调度的恢复的定时、根据上述第二日志存储领域内的上述日志、生成上述第一数据存储领域内的数据的复制并写入上述第二数据存储领域的第二控制装置;(3)上述第三存储系统,具有存储上述第一数据存储领域内的数据的复制的第三数据存储领域,存储上述日志的第三日志存储领域,和用被独自调度的日志读的定时从上述第一存储系统读上述日志、将所读出的日志写入上述第三日志存储领域,而后,用被独自调度的恢复的定时、根据上述第三日志存储领域内的上述日志、生成上述第一数据存储领域内的数据的复制并写入上述第三数据存储领域的第三控制装置;上述第一存储系统的上述第一控制装置,检测是否由上述第二和第三存储系统读出了上述第一日志存储领域内的上述日志,在由上述第二和第三存储系统双方读出之前,保持上述第一日志存储领域内的上述日志,在由上述第二和第三存储系统双方读出之后,使上述第一日志存储领域内的上述日志可以消去。
2.根据权利要求1所述的数据处理系统,其特征在于,(1)上述第一存储系统,具有多数个物理存储装置;上述第一存储系统的上述第一控制装置,具有在与上述上位装置之间接收发送数据的上位适配器,在与上述多数个物理存储装置之间接收发送数据的磁盘适配器,和存储由上述上位适配器接收的数据和由上述磁盘适配器接收的数据的超高速缓冲存储器;上述第一控制装置,将上述第一存储系统内的上述多数个物理存储装置具有的存储领域、分配给上述第一数据存储领域和上述第一日志存储领域;(2)上述第二存储系统,具有多数个物理存储装置;上述第二存储系统的上述第二控制装置,具有在与上述第一存储系统之间接收发送数据的上位适配器,在与上述多数个物理存储装置之间接收发送数据的磁盘适配器,和存储由上述上位适配器接收的数据和由上述磁盘适配器接收的数据的超高速缓冲存储器;上述第二控制装置,将上述第二存储系统内的上述多数个物理存储装置具有的存储领域、分配给上述第二数据存储领域和上述第二日志存储领域;(3)上述第三存储系统,具有多数个物理存储装置;上述第三存储系统的上述第三控制装置,具有在与上述第一存储系统之间接收发送数据的上位适配器,在与上述多数个物理存储装置之间接收发送数据的磁盘适配器,和存储由上述上位适配器接收的数据和由上述磁盘适配器接收的数据的超高速缓冲存储器;上述第三控制装置,将上述第三存储系统内的上述多数个物理存储装置具有的存储领域、分配给上述第三数据存储领域和上述第三日志存储领域。
3.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据从上述第一日志存储领域读出的日志的数据的数,控制上述日志读的时间间隔。
4.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据在上述第一存储系统和上述第三存储系统之间接收发送的数据的通信量,控制上述日志读的时间间隔。
5.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三数据存储领域保持的上述日志的存储容量,控制上述日志读的时间间隔。
6.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三存储系统的处理负荷,控制上述日志读的时间间隔。
7.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,由上述第一存储系统,读出上述第一存储系统内的上述第一日志存储领域保持的关于上述日志的存储容量的信息,根据上述所读出的关于上述日志的存储容量的信息,控制上述日志读的时间间隔。
8.根据权利要求1所述的数据处理系统,其特征在于,上述第一存储系统,拥有关于上述第一日志存储领域的管理信息;上述第三存储系统的上述第三控制装置,由上述第一存储系统,读出上述第一存储系统拥有的关于上述第一日志存储领域的管理信息,根据所读出的关于上述第一日志存储领域的管理信息,控制上述日志读的时间间隔。
9.根据权利要求1所述的数据处理系统,其特征在于,上述第一存储系统内的上述第一数据存储领域,具有多数个逻辑卷;上述第一控制装置,将分别对应于上述多数个逻辑卷中所存储的多数个数据的多数个日志、写入上述第一日志存储领域;在上述第一日志存储领域中所存储的上述多数个日志中,包含有上述多数个日志分别对应的关于上述多数个数据的更新顺序的信息;上述第二和第三存储系统的上述第二和第三控制装置,各自遵照包含在从上述第一存储系统读出的上述多数个日志中的上述更新顺序,根据上述多数个日志生成上述多数个数据的复制并分别写入上述第二和第三数据存储领域。
10.根据权利要求1所述的数据处理系统,其特征在于,上述第三存储系统,根据上述第三存储系统的处理负荷,控制上述恢复的定时。
11.一种数据处理系统,其特征在于,具备被可通信地连接到上位装置的第一存储系统,和分别被可通信地连接到上述第一存储系统的第二和第三存储系统;(1)上述第一存储系统,具有存储从上述上位装置所送来的数据的第一数据存储领域,存储为生成在上述第一存储系统中所存储的数据的复制所使用的日志的第一日志存储领域,和将从上述上位装置所送来的数据写入上述第一数据存储领域、而后,将被写入数据的日志写入上述第一日志存储领域的第一控制装置;(2)上述第二存储系统,具有存储上述日志的第二日志存储领域,和用规定的日志读的定时从上述第一存储系统读上述日志、将所读出的日志写入上述第二日志存储领域的第二控制装置;(3)上述第三存储系统,具有存储上述日志的第三日志存储领域,和用规定的日志读的定时从上述第一存储系统读上述日志、将所读出的日志写入上述第三日志存储领域的第三控制装置。
12.根据权利要求11所述的数据处理系统,其特征在于,上述第二存储系统,还具有存储上述数据的复制的第二数据存储领域;上述第二控制装置,用规定的恢复的定时由上述第二日志存储领域所存储的日志生成上述数据的复制,并将所生成的上述数据的复制写入上述第二数据存储装置;上述第三存储系统,还具有存储上述数据的复制的第三数据存储领域;上述第三控制装置,用规定的恢复的定时由上述第三日志存储领域所存储的日志生成上述数据的复制,并将所生成的上述数据的复制写入上述第三数据存储装置。
13.根据权利要求11所述的数据处理系统,其特征在于,上述第一存储系统的上述第一控制装置,检测是否由上述第二和第三存储系统读出了上述第一日志存储领域内的上述日志,在由上述第二和第三存储系统双方读出之前,保持上述第一日志存储领域内的上述日志,在由上述第二和第三存储系统双方读出之后,使上述第一日志存储领域内的上述日志可以消去。
14.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据从上述第一日志存储领域读出的日志的数据的数,控制上述日志读的时间间隔。
15.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据在上述第一存储系统和上述第三存储系统之间所接收发送的数据的通信量,控制上述日志读的时间间隔。
16.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三数据存储领域保持的上述日志的存储容量,控制上述日志读的时间间隔。
17.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,根据上述第三存储系统的处理负荷,控制上述日志读的时间间隔。
18.根据权利要求11所述的数据处理系统,其特征在于,上述第三存储系统的上述第三控制装置,由上述第一存储系统,读出上述第一存储系统内的上述第一日志存储领域保持的关于上述日志的存储容量的信息,根据上述所读出的关于上述日志的存储容量的信息,控制上述日志读的时间间隔。
19.根据权利要求11所述的数据处理系统,其特征在于,上述第一存储系统,拥有关于上述第一日志存储领域的管理信息;上述第三存储系统的上述第三控制装置,由上述第一存储系统,读出上述第一存储系统拥有的关于上述第一日志存储领域的管理信息,根据所读出的关于上述第一日志存储领域的管理信息,控制上述日志读的时间间隔。
全文摘要
本发明提供一种数据处理系统。本发明的目的是,在不影响存储系统的上位计算机的情况下,在多数个存储系统间进行数据传送和数据的复制。将2台以上的副存储系统100B、100C连接到与上位装置180连接的正存储系统100A。副存储系统100B、100C,分别以独自的定时从正存储系统100A读数据更新的日志,并保存到规定的逻辑卷JNL2、JNL3,而后,以独自的定时根据逻辑卷JNL2、JNL3内的日志、生成正存储系统100A内的数据的复制,保存到副逻辑卷COPY1、COPY3。正存储系统100A,在副存储系统100B、100C双方读日志而直到恢复之前,保持该日志。根据日志量、处理负担等来控制日志读的定时。
文档编号G06F12/00GK1629815SQ20041005002
公开日2005年6月22日 申请日期2004年6月24日 优先权日2003年12月15日
发明者加迫尚久 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1