CN101512495A - 用于改进的同步数据镜像交换的装置、系统和方法 - Google Patents

用于改进的同步数据镜像交换的装置、系统和方法 Download PDF

Info

Publication number
CN101512495A
CN101512495A CNA2007800332414A CN200780033241A CN101512495A CN 101512495 A CN101512495 A CN 101512495A CN A2007800332414 A CNA2007800332414 A CN A2007800332414A CN 200780033241 A CN200780033241 A CN 200780033241A CN 101512495 A CN101512495 A CN 101512495A
Authority
CN
China
Prior art keywords
storage volume
storage
renewal
volume
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800332414A
Other languages
English (en)
Other versions
CN101512495B (zh
Inventor
R·F·巴尔特福伊
N·M·克莱顿
S·菲恩布利特
O·格卢克
E·马鲁尔
G·A·斯皮尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101512495A publication Critical patent/CN101512495A/zh
Application granted granted Critical
Publication of CN101512495B publication Critical patent/CN101512495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明披露了一种用于激活同步镜像作为主存储卷的装置、系统和方法。所述装置、系统和方法包括:引导第三存储卷将从第二存储卷发送到第三存储卷的更新存储在第一存储卷上以响应所述第一存储卷在故障之后变得可运行;终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致;以及将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应在所述第一和第三存储卷基本一致之后终止将更新从所述第二存储卷发送到所述第三存储卷。

Description

用于改进的同步数据镜像交换的装置、系统和方法
技术领域
本发明涉及同步数据镜像,具体地说,涉及在包括异步数据镜像的系统中有效地从主存储卷交换到同步数据镜像。
背景技术
数据存储系统用户可能需要高度可靠性以及从故障快速恢复。有些数据存储系统用户可能需要保护数据以免由于自然灾害而丢失。例如,诸如金融机构、零售商之类的数据存储系统用户可能针对金融交易、库存控制等需要高度可靠性。金融机构和其他机构可以使用诸如IBM
Figure A200780033241D0009091641QIETU
提供的TotalStorage
Figure A200780033241D0009081817QIETU
 Enterprise Storage Server
Figure A200780033241D0009081832QIETU
之类的企业存储系统(“ESS”)来存储可靠性非常重要的数据。此类系统可以包括被组织为数据存储卷的高度可伸缩数据存储设备,例如廉价/独立磁盘冗余阵列(“RAID”)。
数据存储系统可以包括连接数据存储卷的存储区域网络(“SAN”)。通常,存储控制器用于通过SAN访问数据存储卷。主机通常将写入请求发送到将数据存储在本地的主存储卷上的存储控制器。在级联数据系统布置中,存储控制器还将存储在主存储卷上的数据发送到辅助数据存储卷的存储控制器。数据存储卷还可以位于主存储卷和关联存储控制器的远程,以便允许在影响主存储卷的自然灾害之后恢复。数据存储卷还可以相对接近主存储卷,这降低了数据访问率。
为了最小化故障之后的恢复时间,辅助存储卷可以是主数据卷的镜像。可以使用同步写入操作将数据写入镜像数据卷。通常,同步写入操作需要在将成功消息返回到请求写入操作的主机之前将数据写入主存储卷和镜像数据卷。同步写入操作需要更多的开销,这是成功地将数据写入主存储卷和镜像存储卷需要的时间所致。
通常,主存储卷和镜像数据卷之间的距离会影响性能,使得位于主存储卷和关联存储控制器远程的数据存储卷可能将性能降低到使同步写入操作无法实行。可以使用异步写入操作将数据写入远程数据卷。异步写入操作通常允许在成功地将数据写入所述写入操作被导向的存储卷之后返回针对所述写入操作的成功消息。然后,在完成将数据写入所述写入操作被导向的存储卷存储装置之后,将所述数据写入远程存储卷。
在级联存储系统中,可以将数据写入主存储卷并且同步写入镜像数据卷。然后,将数据从镜像数据卷异步复制到远程数据卷。远程存储卷中将要存储的数据通常被存储在非易失性存储器或写入高速缓存以及存储控制器的常规高速缓存中,以便如果在可以将数据异步写入远程存储卷之前发生错误,数据将不会丢失。
通常使用一个或多个位图来跟踪要异步写入远程存储卷的数据。通常,使用位阵列(通常称为活动磁道阵列、更改的磁道阵列或更改记录(“CR”)位图),按照自上次同步、或自上次启动异步传输的存储卷与远程存储卷是一致的以来,启动所做更改的异步传输的存储卷上的磁道地址来保持实时记录。使用第二位图(有时称为恢复磁道阵列、复制磁道阵列或不同步“OOS”位图)指定哪些磁道已作为异步写入操作的一部分被写入主存储卷并且仍需要被复制到远程存储卷。
通常,当更新成功地被写入远程存储卷时,OOS位图的相应位将被清除。在一个实施例中,将CR位图的内容定期与OOS位图合并。在另一个实施例中,通常当OOS位图指示没有更多要写入远程存储卷的更新时,CR位图的内容将定期改写OOS位图。
图1A中示出了常用数据存储系统体系结构100。数据存储系统100包括在将数据发送到第一存储卷106的第一存储控制器104的主机102中。第一存储卷106初始被指定为主存储卷,并且通过本地连接108从第一存储控制器104接收数据。第二存储卷110是主存储卷的镜像数据卷,并且借助同步连接112通过关联的第二存储控制器111接收数据。在一个实施例中,同步连接112是城域镜像(Metro Mirror)连接。通常第一存储控制器104和第一存储卷106位于本地位置,并且还可以相隔某一距离。
第二存储卷110接收的更新还被写入通常位于第一和第二存储卷106、110远程的第三存储卷114。更新被异步发送到第三存储卷114。第二和第三存储卷110、114通过可以包括光纤电缆、铜质电缆、无线连接等的连接116通信。在一个实施例中,异步连接116是全球镜像(Global Mirror)连接。在一个实施例中,第四存储卷118与第三存储卷114位于一起。第三存储控制器120便于将数据复制到第三存储卷114以及从第三存储卷114复制到第四存储卷118。通常,第三存储控制器120使用闪速复制过程122将更新复制到第四存储卷118,并且在第四存储卷118上按时间顺序汇集更新。
通常,如果数据丢失、损坏或不可访问,则使用第四存储卷118(如果在存储系统100中存在)将数据恢复到第一或第二存储卷106、110。在一个实施例中,使用第四存储卷118的内容使第三卷与第三存储卷114变为同步状态,并且使用第三存储卷114重新初始化第一和/或第二存储卷106、110。由于复制过程需要的时间以及主机102不可访问存储卷106、110、118的时间,替换第一或第二存储卷106、110上的数据(而不是增量地同步存储卷106、110、118)是所不期望的。
第二存储卷110可以具有关联的CR位图124,以便跟踪当第一和第二存储卷106、110一致之后发生的更新。第二存储卷110还可以具有关联的OOS位图,以便跟踪将要异步复制到第三存储卷114的更新何时被成功复制。OOS位图通常跟踪通过接收CR位图内容的更新或第二存储卷110接收的更新。
图1B示出了第一存储卷106上出现故障的情况。主机102通常交换主存储卷,使得在修复第一存储卷106之前第二存储卷110是主存储卷。主机102通常建立与第二存储卷110的连接128。当修复第一存储卷106时,如图1C中所示,第二存储卷110的第二存储控制器111通常暂停到第三存储卷114的更新并且建立与第一存储卷106的连接130以重新同步。在一个实施例中,建立连接130以将数据从第二存储卷110发送到第一存储卷106是故障转移连接。
一旦第一存储卷106与第二存储卷110一致,如图1D中所示,主机102就将主存储卷交换为第一存储卷106,并且第一存储卷106重新建立与第二存储卷110的同步连接112。在一个实施例中,将数据从第一存储卷106发送到第二存储卷110的重新建立是故障回复(failback)连接。第二存储卷110再次开始将更新异步发送到第三存储卷114,第三存储卷114开始更新第四存储卷118。故障转移和故障回复连接需要第一存储卷106和第二存储卷110之间预先存在的关系,例如存储关系。
在第二存储卷110与第一存储卷106同步并且已暂停到第三存储卷114的更新(参见图1C)期间,第三和第四存储卷114、118开始变旧。如果第一存储卷106长时间无法运行,则第三和第四存储卷114、118将需要很长时间才能变为与第一和第二存储卷106、110一致的状态。重新同步第一、第三和第四存储卷106、114、118的过程可能花费数小时或甚至数天。任何需要在第三存储卷114变为几乎一致的状态之前将第三存储卷114的内容重新加载到第一或第二存储卷106、110的灾害都将由于第三存储卷114未接近于一致有问题。
从以上讨论,应显而易见的是需要一种有效地交换同步镜像卷的装置、系统和方法。有利的是,此类装置、系统和方法在将第二、第三和第四存储卷110、114、118维持在几乎同步的状态的同时重新同步第一存储卷106,并且将减少重新同步系统100需要的时间。所述装置、系统和方法将在先前不存在预先存在的存储关系的存储卷之间强制故障转移。
发明内容
提供了本发明的一种用于激活同步镜像作为主存储卷的方法。所披露的实施例中的方法主要包括针对所述装置和系统的操作执行以下提供的功能所需的步骤。在一个实施例中,所述方法包括引导第三存储卷将从第二存储卷发送到所述第三存储卷的更新存储在第一存储卷上以响应所述第一存储卷在故障之后变得可运行。所述方法包括终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致。所述方法包括将所述第二存储卷接收的更新同步地存储在所述第一存储卷上,并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应在所述第一和第三存储卷基本一致之后终止将更新从所述第二存储卷发送到所述第三存储卷。
所述方法还可以包括指定所述第二存储卷作为主存储卷以响应在所述第一存储卷处检测到故障。所述第一存储卷被指定为主存储卷,所述第二存储卷包括所述第一存储卷的数据的同步镜像副本,并且所述第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本。在另一个实施例中,所述方法包括终止所述第二存储卷上的存储关系。所述存储关系包括所述第二存储卷用于同步地存储来自所述第一存储卷的数据的信息。
在备选实施例中,所述方法包括指定所述第一存储卷作为主存储卷以响应将所述第二存储卷接收的更新同步地存储在所述第一存储卷上以及将所述第一存储卷接收的更新异步地存储在所述第三存储卷上。所述备选实施例的方法包括引导所述第三存储卷将从所述第一存储卷发送到所述第三存储卷的更新存储在所述第二存储卷上以响应所述第一存储卷被指定为主存储卷。所述备选实施例的方法包括终止将更新从所述第一存储卷发送到所述第三存储卷以响应所述第二存储卷变得与所述第三存储卷基本一致。所述备选实施例的方法包括将所述第一存储卷接收的更新同步地存储在所述第二存储卷上并且将所述第二存储卷接收的更新异步地存储在所述第三存储卷上,以响应终止将更新从所述第一存储卷发送到所述第三存储卷。
在一个实施例中,引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上还包括引导所述第三存储卷创建存储关系并且跟踪所述第三存储卷后续接收的更新。所述存储关系包括所述第三存储卷用于将更新异步地存储在所述第一存储卷上的信息。在另一个实施例中,终止将更新从所述第二存储卷发送到所述第三存储卷还包括从所述第二存储卷和所述第三存储卷删除存储关系。所述存储关系包括所述第二存储卷用于将数据存储在所述第三存储卷上的信息。在另一个实施例中,终止将更新从所述第二存储卷发送到所述第三存储卷还包括跟踪在终止将更新从所述第二存储卷发送到所述第三存储卷之后所述第二存储卷接收的更新。
在一个实施例中,将更新异步地存储在所述第三存储卷上还包括使用闪速复制过程更新所述第三存储卷的第四存储卷,其中在所述第四存储卷上按时间顺序组织更新。通常,所述第四存储卷包括适于重新初始化主存储卷或恢复所述第三卷的数据。在一个实施例中,终止将更新从所述第二存储卷发送到所述第三存储卷还包括终止到所述第四存储卷的更新。在另一个实施例中,将所述第一存储卷接收的更新异步地存储在所述第三存储卷上还包括重新启动到所述第四存储卷的更新。
在一个实施例中,将所述第一存储卷接收的更新异步地存储在所述第三存储卷上还包括跟踪所述第一存储卷接收的要复制到所述第三存储卷的更新。所述存储关系包括所述第一存储卷用于将更新异步地存储在所述第三存储卷上的信息。在另一个实施例中,将所述第二存储卷接收的更新同步地存储在所述第一存储卷上还包括引导所述第二存储卷在所述第二存储卷上创建存储关系。所述存储关系包括所述第二存储卷用于将数据同步地存储在所述第一存储卷上的信息。
还提供了一种用于激活同步镜像作为主存储卷的装置,所述装置具有多个模块,所述模块被配置为在功能上执行在维持到第二和第三存储卷的更新的同时,从第三存储卷同步已修复的第一存储卷所需的步骤。所述实施例中的这些模块包括指定第二存储卷作为主存储卷以响应在所述第一存储卷处检测到故障的主交换模块。所述第一存储卷被指定为主存储卷,所述第二存储卷包括所述第一存储卷的数据的同步镜像副本,并且所述第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本。
所述装置包括引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在故障之后变得可运行的C-A故障回复模块。所述装置包括终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致的B-C终止模块。所述装置包括将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应所述B-C终止模块终止将更新从所述第二存储卷发送到所述第三存储卷的B-A-C存储模块。
在一个实施例中,所述装置被配置为包括引导所述第三存储卷创建存储关系并且跟踪在创建所述存储关系之后所述第三存储卷接收的更新的C-A强制故障转移模块。所述存储关系包括所述第三存储卷用于将更新异步地存储在所述第一存储卷上的信息。在另一个实施例中,所述主交换模块还包括被配置为终止所述第二存储卷和所述第三存储卷上的存储关系以响应在所述第一存储卷处检测到故障并且使所述第二存储卷成为主存储卷的A-B终止模块。所述存储关系包括所述第二存储卷用于同步地存储来自所述第一存储卷的数据的信息。
在一个实施例中,所述B-C终止模块还被配置为从所述第二存储卷删除存储关系。所述存储关系包括所述第二存储卷用于将数据存储在所述第三存储卷上的信息。在另一个实施例中,所述B-C终止模块还包括被配置为跟踪在终止将更新从所述第二存储卷发送到所述第三存储卷之后所述第二存储卷接收的更新的跟踪更改模块。
在一个实施例中,所述装置包括第四存储卷,并且所述第三存储卷被配置为使用闪速复制过程将更新存储到所述第四存储卷。在所述第四存储卷上按时间顺序组织更新。在一个实施例中,所述B-C终止模块还被配置为终止到所述第四存储卷的更新。在另一个实施例中,所述B-A-C存储模块还被配置为重新启动到所述第四存储卷的更新。
在一个实施例中,所述B-A-C存储模块还包括引导所述第一存储卷跟踪所述第一存储卷接收的要复制到所述第三存储卷的更新的A-C跟踪模块。在另一个实施例中,所述B-A-C存储模块还包括引导所述第二存储卷在所述第二存储卷上创建存储关系的B-A增量重新同步模块。所述存储关系包括所述第二存储卷用于将数据同步地存储在所述第一存储卷上的信息。
还提供了本发明的一种用于激活同步镜像作为主存储卷的系统。所述系统可以体现为在第一存储卷出现故障之前被指定为主存储卷的第一存储卷、包括故障之前的所述第一存储卷的数据的同步镜像副本的第二存储卷、包括故障之前的所述第二存储卷的数据的异步镜像副本的第三存储卷,以及被配置为将更新存储到所述第一存储卷和所述第二存储卷的主机。具体地说,在一个实施例中,所述主机包括指定所述第二存储卷作为主存储卷以响应在所述第一存储卷处检测到故障的主交换模块。所述主机包括引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在故障之后变得可运行的C-A故障回复模块。
所述主机包括终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷几乎一致的B-C终止模块。所述主机包括将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应终止将更新从所述第二存储卷发送到所述第三存储卷的B-A-C存储模块。所述系统还可以包括与所述第三存储卷位于一起的第四存储卷,其中所述第三存储卷被配置为使用闪速复制过程将更新存储到所述第四存储卷,并且在所述第四存储卷上按时间顺序组织更新。
提供了本发明的一种用于在存储卷上创建新的存储关系的方法。所披露的实施例中的方法主要包括针对所述装置和系统的操作执行以上提供的功能所需的步骤。在一个实施例中,所述方法包括在第一存储卷上创建存储关系。所述存储关系包括所述第一存储卷用于将所述第一存储卷接收的更新存储到第二存储卷的信息,并且所述第一存储卷与所述第二存储卷没有已有的存储关系。所述方法包括跟踪从创建所述存储关系以来到数据结构中的第一存储卷的更新。更新将要被复制到所述第二存储卷。所述方法包括根据所述数据结构中的所跟踪更新将更新从所述第一存储卷复制到所述第二存储卷。在一个实施例中,存储关系是第一存储关系,并且所述第一存储卷与所述第三存储卷具有已有的第二存储关系。在另一个实施例中,在不重新初始化所述第一存储卷的情况下创建所述存储关系。
提供了本发明的一种用于部署软件以激活同步镜像作为主存储卷的方法。所披露的实施例中的方法主要包括针对所述装置和系统的操作执行以下提供的功能所需的步骤。在一个实施例中,所述方法包括确定客户同步镜像和异步镜像配置以及可靠性要求,并且执行同步镜像激活计算机代码。所述计算机代码被配置为指定第二存储卷作为主存储卷以响应在第一存储卷处检测到故障。所述第一存储卷被指定为主存储卷,所述第二存储卷包括所述第一存储卷的数据的同步镜像副本,并且第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本。
所述计算机代码被配置为引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在故障之后变得可运行。所述计算机代码被配置为终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致。所述计算机代码被配置为将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应在所述第一和第三存储卷基本一致之后终止将更新从所述第二存储卷发送到所述第三存储卷。
本说明书中对功能、优点的参考或类似语言并非暗示可以与本发明一起实现的所有功能和优点应在本发明的任何单个实施例中。相反,应当理解,引用所述功能和优点的语言指与实施例一起描述的特定功能、优点或特性包括在本发明的至少一个实施例中。因此,本说明书中对功能、优点的讨论和类似语言可以(但并不一定)指相同的实施例。
此外,所述功能、优点和特性可以以任何适当的方式组合在一个或多个实施例中。相关领域的技术人员将认识到,可以在没有特定实施例的一个或多个特定功能或优点的情况下实现本发明。在其他情况下,可以在特定实施例中认识到可能不存在于本发明的所有实施例中的其他功能和优点。
附图说明
将仅通过实例的方式参考以下附图描述本发明的优选实施例,这些附图是:
图1A是示出主存储卷出现故障之前的典型三位置数据存储系统的一个实施例的示意性方块图;
图1B是示出主存储卷出现故障之后的其中第二存储卷成为主存储卷的典型三位置数据存储系统的一个实施例的示意性方块图;
图1C是示出重新同步第一存储卷同时暂停到第三存储卷的更新的典型三位置数据存储系统的一个实施例的示意性方块图;
图1D是示出重新建立第一存储卷作为主存储卷、重新建立到第二存储卷的同步更新以及到第三存储卷的异步更新之后的典型三位置数据存储系统的一个实施例的示意性方块图;
图2是示出主存储卷出现故障之前的根据本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图3是示出根据本发明的优选实施例的用于改进的同步镜像交换的装置的一个实施例的示意性方块图;
图4是示出根据本发明的优选实施例的用于改进的同步镜像交换的装置的备选实施例的示意性方块图;
图5是示出根据本发明的优选实施例的用于改进的同步镜像交换的方法的一个实施例的示意性流程图;
图6是示出根据本发明的优选实施例的用于改进的同步镜像交换的方法的备选实施例的示意性流程图;
图7A是示出主存储卷出现故障之后的根据本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7B是示出其中第二存储卷成为主存储卷的根据本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7C是示出具有为了将更新从第三存储卷发送到第一存储卷而建立的链接的根据本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7D是示出根据显示增量重新同步更改记录位图的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7E是示出根据显示终止到第四存储卷的更新的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7F是示出根据显示终止从第二存储卷到第三存储卷的更新的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7G是示出根据显示终止从第三存储卷到第一存储卷的更新的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7H是示出根据显示用于将更新从第一存储卷发送到第三存储卷的连接的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7I是示出根据显示用于将更新从第二存储卷发送到第三存储卷的同步连接的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;
图7J是示出根据显示等待卷变得同步的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图;以及
图7K是示出根据显示在第一、第三和第四卷之间重新建立异步写入操作的本发明的优选实施例的用于改进的同步镜像交换的数据系统的一个实施例的示意性方块图。
具体实施方式
将本说明书中描述的多个功能单元标记为模块,以便更具体地强调它们的实现无关性。例如,模块可以被实现为包括定制VLSI电路或门阵列、诸如逻辑芯片、晶体管或其他分离组件之类的现用半导体的硬件电路。模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件之类的可编程硬件设备中实现。
模块还可以在软件中实现,以便由各种类型的处理器执行。例如,标识的可执行代码的模块可以包括一个或多个物理或逻辑的计算机指令块,所述块可以例如组织为对象、过程或功能。然而,标识的模块的可执行代码不需要在物理上位于一起,但是可以包括存储在不同位置的不同指令,当所述指令被逻辑地结合时,将包括所述模块并实现模块的所述目的。
实际上,可执行代码的模块可以是单个指令或多个指令,并且甚至可以分布在数个不同的代码段上、不同的程序中,以及跨数个存储设备。同样,操作数据可以在模块中被标识和在此示出,并且可以包括在任何适当的形式中并组织在任何适当类型的数据结构中。操作数据可以被收集为单个数据集,或可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为电子信号存在于系统或网络中。
对信号承载介质的引用可以采取任何能够生成信号、导致信号生成或导致在数字处理装置上执行机器可读指令的程序的形式。信号承载介质可以体现为传输线路、光盘、数字视盘、磁带、伯努利驱动器、磁盘、穿孔卡、闪存、集成电路或其他数字处理装置存储器件。
本发明的实施例的所述功能、结构或特性可以以任何适当的形式组合在一个或多个实施例中。在以下说明中,提供了大量特定的详细信息,如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的实例,以便彻底理解本发明的实施例。但是,相关领域的技术人员将认识到,可以在没有一个或多个特定的细节的情况下实现本发明,或者可以通过其他方法、组件、材料等实现本发明。
通常作为逻辑流程图说明在此包括的示意性流程图。因此,所示顺序和标记的步骤指示所提供方法的一个实施例。可以构想其他步骤和方法,它们在功能、逻辑或效果上与所示方法的一个或多个步骤或其各部分等效。另外,提供所使用的格式和符号以说明所述方法的逻辑步骤,并且应理解它们并非限制所述方法的范围。尽管可以在流程图中使用不同的箭头类型和线条类型,但是应理解,它们并非限制相应方法的范围。实际上,某些箭头或其他连接符可用来仅指示所述方法的逻辑流。例如,箭头可以指示所示方法的列举步骤之间的未指定持续时间的等待或监视周期。另外,出现特定方法的顺序可以或可以不严格地依照所示的相应步骤的顺序。
图2是示出主存储卷出现故障之前的根据本发明的优选实施例的用于改进的同步镜像交换的数据系统200的一个实施例的示意性方块图。数据系统200包括主机202、第一存储控制器204、第一存储卷206、主机202和第一存储控制器204之间的连接208、第二存储卷210、第二存储控制器211、第一和第二存储卷206、210之间的同步连接212、第三存储卷214、第二和第三存储卷210、214之间的异步连接216、第四存储卷218、第三存储控制器220、第三和第四存储卷214、218之间的连接222,以及与第二存储卷210关联的CR位图224和OOS位图226,其将在下面描述。在一个实施例中,除了数据系统200包括根据本发明的优选实施例的用于改进的同步镜像交换的模块、组件、连接等之外,数据系统200的组件类似于针对图1A描述的数据存储系统100。
数据系统200包括一个或多个将写入请求发送到存储控制器204、211、220的主机202。主机202通常是服务器,但可以是工作站、个人计算机、便携式计算机等。在一个实施例中,主机202包括计算机、服务器、打印机、路由器等的网络。在另一个实施例中,主机202与第一存储控制器204结合。主机202通常通过SAN与存储控制器204、211、220通信,但可以通过局域网、广域网、因特网、无线网络等通信。主机202还可以被配置为将读取请求、复制请求或其他数据相关的请求发送到存储控制器204、211、220。本领域的技术人员将认识到能够将数据写入请求发送到存储控制器204、211、220的主机202的其他实施例。
数据系统200包括被配置为从主机202接收写入请求并且将文件、文件更新、文件信息等(此后称为“更新”)存储到一个或多个存储卷206、210、214、218的第一存储控制器204。在一个实施例中,第一存储控制器204是企业存储系统(“ESS”)控制器。在另一个实施例中,第一存储控制器204是IBM System 
Figure A200780033241D00221
存储服务器。第一存储控制器204可以是服务器、工作站、数据移动器,或具有多个组件和计算机的系统。通常,第一存储控制器204包括非易失性存储器或写入高速缓存以及用于暂时存储更新的易失性存储器或高速缓存。本领域的技术人员将认识到能够从主机202接收写入请求并且将与写入请求相关的更新存储在存储卷206、210、214、218上的其他第一存储控制器204配置。
系统200包括存储从第一存储控制器204接收的更新的第一存储卷206。通常,在正常运行条件下,第一存储卷206被指定为主存储卷并且直接从第一存储控制器204接收更新。第一存储卷206包括至少一个硬盘驱动器(“HDD”),但是还可以包括一起形成卷的盘阵列。第一存储卷206可以包括RAID阵列、简单磁盘捆绑(“JBOD”)等。第一存储卷206可以包括磁带驱动器、光盘驱动器等。在一个实施例中,第一存储卷206包括形成一个卷的一个盘或盘阵列。在另一个实施例中,第一存储卷206包括多个存储卷。
通常,第一存储控制器204可访问第一存储卷206的一个或多个存储卷。在一个实施例中,第一存储卷206包括数据移动器、控制器或其他具有处理器和存储器的设备,以便控制第一存储卷206的一个或多个存储卷并且从第一存储控制器204或其他存储控制器接收更新。本领域的技术人员将认识到能够从第一存储控制器204接收更新的其他第一存储卷206。
系统200包括从主机202到第一存储控制器204的数据连接208。主机202通过连接208与存储控制器204、211、220通信,连接208通常包括SAN,但可以包括光纤连接、小型计算机系统接口(“SCSI”)、局域网、路由器、交换机等。在级联数据存储系统200中,通常当第一存储卷206被指定为主存储卷时,第一存储控制器204将来自主机202的更新直接发送到第一存储卷206,而不通过第二或第三存储卷210、214。
数据系统200包括基本类似于第一存储卷206的第二存储卷210。通常,第二存储卷210初始是第一存储卷206的同步镜像数据卷,并且包括与第一存储卷206相同的数据。通常,第二存储卷210具有与第一存储卷206相同的容量、相同的磁道数等。第二存储卷210可以位于与第一存储卷206足够接近的中间位置,以便允许适合同步连接212的连接而不会产生不可接受的性能降低。在一个实施例中,第二存储卷210与第一存储卷206位于一起。
数据系统200包括第一存储卷206(通过关联的第一存储控制器204)到第二存储卷210(通过关联的第二存储控制器211)之间的数据连接212。数据连接212基本类似于主机202到第一存储控制器204的连接208。数据连接212可以是第一和第二存储卷206、210之间的同步连接。数据系统200包括与第二存储卷关联并且基本类似于第一存储控制器204的第二存储控制器211。
系统200包括通常位于第一和第二存储卷206、210远程的第三存储卷214和第四存储卷218。系统200包括与第三和第四存储卷214、218关联并且基本类似于第一和第二存储控制器204、211的第三存储控制器220。第三存储卷214初始从第二存储卷和控制器210、211异步接收更新。在异步操作模式期间,第三存储控制器220使用闪速复制过程222将第三存储卷214接收的更新复制到第四存储卷218。第三存储控制器220通常根据第三存储卷214与第二存储卷210一致时的时间点或其他适合的重要时间点,按时间顺序重新排列被复制到第四存储卷218的更新。
系统200包括第二和第三存储卷210、214(以及关联的控制器211、220)之间的数据连接216。数据连接216可以是广域网连接、光纤网络连接等,并且可以包括光纤电缆、铜质电缆、无线连接、集线器、路由器等。第三和第四存储卷214、218通常位于第一和第二存储卷206、210的远程,以便第二和第三存储卷210、214之间的数据连接216适合于此类距离。
系统200包括与第二存储卷210关联的CR位图224和OOS位图226。位图224、226通常是数据存储并且由第二存储控制器211管理。在一个实施例中,CR位图224跟踪当卷一致时,在与第三存储卷214同步之后发生的到第二存储卷210的更新。OOS位图跟踪要被写入第三存储卷214的更新。通常,位图224、226都标识到存储卷210、214的更新的磁道地址。
例如,当OOS位图226耗尽之后,将CR位图224的内容定期与OOS位图226合并。当OOS位图226耗尽时,第二和第三卷210、214将被视为一致或同步。通过将OOS位图226跟踪的更新复制到第三存储卷214而耗尽OOS位图226。当将更新从第二存储卷210写入第三存储卷214时,将从OOS位图226清除与所复制的更新关联的位。CR位图224跟踪在第二和第三存储卷210、214一致时的时间点之后发生的更改。OOS位图226还可以跟踪第二存储卷210接收的更新。在一个实施例中,在OOS位图226被完全清除之后,将CR位图224复制到OOS位图226。当CR位图224的内容被复制到OOS位图226或与OOS位图226合并之后,还可以清除CR位图224以跟踪后续更新。
图3是示出根据本发明的优选实施例的用于改进的同步镜像交换的装置300的一个实施例的示意性方块图。装置300包括主机202,主机202具有C-A故障回复模块302、B-C终止模块304和B-A-C存储模块306,将在下面描述它们。在一个实施例中,装置300的模块302、304、306包括在主机202中。在另一个实施例中,装置300的模块302、304、306包括在存储管理计算机(未示出)中。在再一个实施例中,装置300的模块302、304、306包括在存储控制器204、211、220中。本领域的技术人员将认识到装置300的模块302、304、306的其他位置以激活异步镜像。
装置300包括引导第三存储卷214将从第二存储卷210发送到第三存储卷214的更新存储在第一存储卷206上以响应第一存储卷206在故障之后变得可运行的C-A故障回复模块302。当第一存储卷206出现故障之后,第二存储卷210可以被指定为主存储单元,并且主机202可以将更新发送到第二存储卷210。通常,第二存储卷210继续将更新发送到第三存储卷214。当第一存储卷206未运行时,第三存储卷214跟踪OOS位图中的更改。C-A故障回复模块302认识到第一存储卷206可运行,并且开始将与第三存储卷214关联的OOS位图所跟踪的更新发送到第一存储卷206。在一个实施例中,更新被异步地发送。在另一实施例中,更新被同步地发送。
装置300包括终止将更新从第二存储卷210发送到第三存储卷214以响应第一存储卷206变得与第三存储卷214基本一致的B-C终止模块304。当第一存储卷206开始从第三存储卷214接收更新之后,第一存储卷206最终达到它与第三存储卷214几乎一致的点。在一个实施例中,当第一和第三存储卷206、214一致时,B-C终止模块304终止发送更新。在另一个实施例中,当第一和第三存储卷206、214基本一致时,B-C终止模块304终止发送更新。当C-A故障回复模块302将更新异步发送到第一存储卷206时,后一实施例是优选的。在一个实施例中,B-C终止模块304终止到第四存储卷218的更新。
装置300包括将第二存储卷210接收的更新同步地存储在第一存储卷206上并且将第一存储卷206接收的更新异步地存储在第三存储卷214上,以响应在第一和第三存储卷206、214基本一致之后终止将更新从第二存储卷210发送到第三存储卷214的B-A-C存储模块306。在一个实施例中,B-A-C存储模块306重新启动到第四存储卷218的更新。有利地,B-A-C存储模块306将数据存储系统200恢复到更新可以从主机202流到主存储卷(第二存储卷210),同步流到镜像数据卷(第一存储卷206),然后异步地流到远程存储卷(第三和第四存储卷214、218)的状态。
装置300克服了现有技术系统(参见图1A至1D)的许多缺点。装置300维持从主机202到主存储卷(第二存储卷210)的数据流,同时还在出现故障的存储卷(第一存储卷206)恢复联机和同步时实质上维持到远程存储卷(第三和第四存储卷214、218)的数据流。装置300还可以用于重复与装置300关联的方法,以便将第一存储卷206恢复为主存储卷,并且将第二存储卷210恢复为镜像数据卷。
图4是示出根据本发明的优选实施例的用于改进的同步镜像交换的装置400的备选实施例的示意性方块图。装置400包括主机202,主机202具有C-A故障回复模块302、B-C终止模块304和B-A-C存储模块306,它们基本类似于针对图3的装置300描述的模块。此外,装置400包括主交换模块402和C-A强制故障转移模块404。在一个实施例中,主交换模块402包括A-B终止模块406。在另一个实施例中,B-C终止模块304包括跟踪更改模块408。在另一个实施例中,B-A-C存储模块306包括A-C跟踪模块410和B-A增量重新同步模块412。在一个实施例中,装置400包括C-B强制故障回复模块414、B-C终止模块416和A-B-C存储模块418。将在下面描述这些模块。
装置400包括指定第二存储卷210作为主存储卷以响应在第一存储卷206处检测到故障的主交换模块402。初始地,将第一存储卷206指定为主存储卷,第二存储卷210包括第一存储卷的数据的同步镜像副本,并且第三存储卷214包括故障之前的第二存储卷的数据的异步镜像副本。
在一个实施例中,主交换模块402包括IBM的HyperSwap程序。在另一个实施例中,在检测到第一存储卷206中的故障之后,主交换模块402自动指定第二存储卷210作为主存储卷。在另一个实施例中,主交换模块402通过操作员干预来指定第二存储卷210作为主存储模块。在一个实施例中,在检测到第二存储卷210中的故障之后,主交换模块402指定第一存储卷206作为主存储卷。本领域的技术人员将认识到主交换模块402可以在检测到故障之后指定主存储卷的其他方法。
在一个实施例中,装置400包括引导第三存储卷214创建存储关系并且跟踪在创建存储关系之后到存储模块的更新的C-A强制故障转移模块404。所述存储关系包括第三存储卷214用于将更新异步地存储在第一存储卷206上的信息。在一个实施例中,C-A强制故障转移模块404位于第二存储控制器211上。在其他实施例中,C-A强制故障转移模块404位于主机202或其他存储控制器204、220上。
通常,本发明的实施例包括强制故障转移功能和强制故障回复功能,这些功能是对现有技术的故障转移和故障回复命令的改进。强制故障转移功能允许创建先前不存在的与存储卷关联的存储关系。例如,在第一和第二存储卷206、210之间可能存在典型的存储关系,以便将来自第一存储卷206的更新同步地存储在第二存储卷210上。
可以发出故障转移命令以便在第一存储卷206出现故障后被联机之后,指示第二存储卷210将更新发送到第一存储卷206。一旦第一存储卷206被同步,就发出故障回复命令以便在第一存储卷206再次被指定为主存储卷之后,引导第一存储卷206将更新存储在第二存储卷210上。使用现有技术的故障转移或故障回复命令,引导第二存储卷210跟踪第二存储卷210接收的更新并且然后将所跟踪的更新存储在第三存储卷214上的存储关系将不可能存在。
强制故障转移功能允许存储卷与其他存储卷建立初始化期间未预定义的存储关系。在一个实施例中,强制故障转移功能与其他存储卷建立存储关系但不发送更新。实际上,所述存储卷创建OOS位图以跟踪将被存储到其他存储卷的更改。然后,强制故障回复功能启动从跟踪OOS位图上的更改的存储卷流到其他存储卷的更新。在一个实施例中,强制故障转移功能终止所述存储卷的任何在先存储关系。
C-A强制故障转移模块404是强制故障转移功能的实例。例如,第三存储卷214与第二存储卷210具有异步存储关系,并且在正常操作期间接收更新。C-A强制故障转移模块404在第三存储卷214上与第一存储卷206建立存储关系。一旦建立存储关系,第三存储卷214便开始跟踪第三存储卷214接收的将被发送到第一存储卷206的更改。在一个实施例中,所述更改存储在OOS位图中。OOS位图可以存储在第三存储控制器220上。在没有强制故障转移功能的情况下,第三存储卷214将被限制为接收和发送到第二存储卷210的更新,并且不能与第一存储卷206建立新的存储关系以及跟踪到第一存储卷206的更新。
在一个实施例中,主交换模块402包括终止第一存储卷206上的存储关系以响应在第一存储卷206处检测到故障并且使第二存储卷210成为主存储卷的A-B终止模块406。所述存储关系包括第二存储卷210用于同步地存储来自第一存储卷206的数据的信息。在一个实施例中,终止第二存储卷210上的存储关系允许主机202指定第二存储卷210作为主存储卷,并且将更新发送到第二存储卷210。
在一个实施例中,B-C终止模块304包括跟踪在终止将更新从第二存储卷210发送到第三存储卷214之后第二存储卷210所接收的更新的跟踪更改模块408。通常,跟踪更改模块408跟踪与第二存储卷210关联的增量重新同步CR位图中的更改。在一个实施例中,增量重新同步CR位图位于第二存储控制器211上。跟踪更改模块408创建的增量重新同步CR位图允许跟踪更改模块408跟踪在B-C终止模块304暂停从第二存储卷210到第三存储卷214的更新之后接收的更新。通常,在创建新的增量重新同步CR位图之后,将不会使用与第二存储卷210关联并且用于跟踪第一存储卷206出现故障之前的更新的CR位图。
在一个实施例中,B-A-C存储模块306包括引导第一存储卷206在第一存储卷206上创建存储关系的A-C跟踪模块410。A-C跟踪模块410引导第一存储卷206创建与第一存储卷206关联的OOS位图,以便跟踪将被复制到第三存储卷214的更新。通常,OOS位图位于第一存储控制器204上。
在另一个实施例中,B-A-C存储模块306包括引导第二存储卷210在第二存储卷210上创建存储关系的B-A增量重新同步模块412。所述存储关系包括第二存储卷210用于将数据同步地存储在第一存储卷206上的信息。B-A增量重新同步模块412在第二存储卷210上重新创建出现故障之前存在并且从第二存储卷210删除的存储关系,以便允许主机102将更新发送到第二存储卷210。
通常,在B-C终止模块304终止从第二存储卷210到第三存储卷214的更新之前,将耗尽跟踪到第三存储卷214的更新并与第二存储卷210关联的OOS位图。在OOS位图耗尽之后,当B-A增量重新同步模块412引导第二存储卷210建立存储关系时,通常不会使用此位图。在一个实施例中,B-A增量重新同步模块412引导第二存储控制器211将跟踪更改模块408所创建的增量重新同步CR位图的内容合并到跟踪被复制到第一存储卷206的更新的新OOS位图中。在另一个实施例中,B-A增量重新同步模块412引导第二存储控制器211将跟踪更改模块408所创建的增量重新同步CR位图的内容合并到与第二存储卷210关联的现有OOS位图中,并且该OOS位图跟踪被复制到第一存储卷206的更新。在一个实施例中,一旦第一和第二存储卷206、210一致,将不使用OOS位图。
在一个实施例中,装置400包括引导第三存储卷214将从第一存储卷206发送到第三存储卷214的更新存储在第二存储卷210上以响应第一存储卷206被指定为主存储卷的C-B强制故障回复模块414。在另一个实施例中,装置400包括终止将更新从第一存储卷206发送到第三存储卷214以响应第二存储卷210变得与第三存储卷214基本一致的B-C终止模块416。在再一个实施例中,装置400包括将第一存储卷206接收的更新同步地存储在第二存储卷210上并且将第二存储卷210接收的更新异步地存储在第三存储卷214上,以响应终止将更新从第一存储卷206发送到第三存储卷214的A-B-C存储模块418。
图5是示出根据本发明的优选实施例的用于改进的同步镜像交换的方法500的一个实施例的示意性流程图。方法500开始(502),C-A故障回复模块302引导(504)第三存储卷214将从第二存储卷210发送到第三存储卷214的更新存储在第一存储卷206上以响应第一存储卷206在故障之后变得可运行。在一个实施例中,C-A故障回复模块302引导第三存储卷214发出在第三存储卷214上创建与第一存储卷206的存储关系的强制故障转移功能。
B-C终止模块304终止(506)将更新从第二存储卷210发送到第三存储卷214以响应第一存储卷206变得与第三存储卷214基本一致。通常,当第一存储卷206变为一致或几乎一致的状态时,主机202继续将更新发送到第二存储卷210,并且第二存储卷210继续将更新发送到第三存储卷214。
B-A-C存储模块306将第二存储卷210接收的更新同步地存储(508)在第一存储卷206上以响应B-C终止模块304终止将更新从第二存储卷210发送到第三存储卷214。此外,B-C终止模块304将第一存储卷206接收的更新异步地存储(508)在第三存储卷214上以响应B-C终止模块304终止将更新从第二存储卷210发送到第三存储卷214,方法500结束(510)。
在一个实施例中,方法500提供了一种方法以便从主卷交换到同步镜像卷,同时维持接收到第二存储卷210(先前是出现故障的第一存储卷206的镜像副本)的更新。第二存储卷210是新指定的主卷。方法500还允许在第一存储卷206返回操作之后同步第一存储卷206,同时维持第四存储卷218几乎一致(作为第三存储卷214继续接收更新的结果)。当第一和第二存储卷206、210的位置相当接近时,或使第二存储卷210作为指定的主存储卷性能降低很小或不降低时,可能希望维持第二存储卷210作为主存储卷。
图6是示出根据本发明的优选实施例的用于改进的同步镜像交换的方法600的备选实施例的示意性流程图。方法600提供了使用针对图5中描述的方法500所用的相同技术的相反过程,以便将级联数据存储系统200返回到其原始体系结构,其中第一存储卷206作为主存储卷,第二存储卷210同步接收来自第一存储卷206的更新,并且第三存储卷214异步接收来自第二存储卷210的更新。当包含第二存储卷210的中间存储站点比第一存储卷206更远离主机202时,或具有比第一存储卷206更慢的到主机202的连接时,可能需要方法600。
方法600开始于(602)主交换模块402,主交换模块指定(604)第二存储卷210作为主存储卷以响应在第一存储卷206处检测到故障。第一存储卷206被指定为主存储卷,第二存储卷210包括故障之前的第一存储卷的数据的同步镜像副本,并且第三存储卷214包括故障之前的第二存储卷的数据的异步镜像副本。C-A故障回复模块302引导(606)第三存储卷214将从第二存储卷210发送到第三存储卷214的更新存储在第一存储卷206上以响应第一存储卷206在故障之后变得可运行。
B-C终止模块304终止(608)将更新从第二存储卷210发送到第三存储卷214以响应第一存储卷206变得与第三存储卷214基本一致。B-A-C存储模块306将第二存储卷210接收的更新同步地存储(610)在第一存储卷206上,并且B-C终止模块304将第一存储卷206接收的更新异步地存储(610)在第三存储卷214上,以响应B-C终止模块304终止将更新从第二存储卷210发送到第三存储卷214。
主交换模块402判定(612)第一存储卷206是否将是主存储卷。如果否,则方法600结束(622)。如果主交换模块402判定(612)第一存储卷206将是主存储卷,则主交换模块402指定(614)第一存储卷206作为主存储卷。C-B强制故障回复模块414引导(616)第三存储卷214将从第一存储卷206发送到第三存储卷214的更新存储在第二存储卷210上以响应第一存储卷206被指定为主存储卷。
B-C终止模块416终止(618)将更新从第一存储卷206发送到第三存储卷214以响应第二存储卷210变得与第三存储卷214基本一致。A-B-C存储模块418将第一存储卷206接收的更新同步地存储(620)在第二存储卷210上,并且将第二存储卷210接收的更新异步地存储在第三存储卷214上,以响应终止将更新从第一存储卷206发送到第三存储卷214,方法600结束(622)。
图7A至7K是示出根据本发明的优选实施例的用于改进的同步镜像交换的数据系统200的一个实施例的示意性方块图。图7A至7K示出了根据本发明的优选实施例的用于重新配置数据系统200以实现在主存储卷出现故障之后将镜像数据卷指定为主存储卷的步骤。
图7A示出了针对图2描述的系统200,其中第一存储卷206处于故障状态。通常,故障将中断沿着第一存储卷206和第二存储卷210之间的连接212的同步数据流。主交换模块402在检测到故障之后指定第二存储卷210作为主存储卷(图7B)。在一个实施例中,A-B终止模块406终止第二存储卷210上与第一存储卷206的存储关系。此实施例允许主交换模块402指定第二存储卷210作为主存储模块,并且允许主机202通过主机202和第二存储卷210之间的连接228将更新发送到第二存储卷210。
C-A强制故障转移模块404引导第三存储卷214在第三存储卷214上建立存储关系。故障转移命令在第三存储卷214上建立第三和第一存储卷214、206之间的关系,以便第三存储卷214将更新发送到第一存储卷206。通常,第一存储卷206此时未运行,因此C-A强制故障转移模块引导第三存储卷214(通过第三存储控制器220)创建OOS位图230,以便跟踪第三存储卷214上将被复制到第一存储卷206的更改。
C-A强制故障转移模块404引导第三存储控制器220发出强制故障回复功能以便启动从第三存储卷214到第一存储卷206的更新(参见图7C)。一旦已恢复第一存储卷206,就通过第三和第一存储卷214、206之间的连接232发送更新。通常,更新被异步复制。在一个实施例中,获取与第一存储卷206(未示出)关联的OOS位图的内容(如果可能),以便重新同步可能在出现故障期间发生的更改。然后,系统200可以继续运行,更新从主机202流到第二存储卷210,并且第二存储卷210将更新异步发送到第三存储卷214,同时第三存储卷214更新第一存储卷206。
在一个实施例中,当第一存储卷206几乎同步时,跟踪更改模块408在第二存储控制器211上创建增量重新同步CR位图234,以便跟踪在停止到第三存储卷214的更新之后第二存储卷210将接收的更新(参见图7D)。最终,与第二存储卷210关联的原始CR位图224上的更新将被传输到第二存储卷的OOS位图226,并且原始CR位图224是不活动的(在图7E中示为不存在)。在准备停止从第二存储卷210到第三存储卷214的更新时,第三存储控制器220将暂停到第四存储卷218的更新,并且第四存储卷218开始变旧。
然后,B-C终止模块304终止从第二存储卷210到第三存储卷214的更新(参见图7F)。B-C终止模块304还终止第三存储卷214中的第二到第三存储卷关系。在清除与第三存储卷214关联的OOS位图230之前,更新继续流到第一存储卷206。第一和第三存储卷206和214通常在此时是一致的。然后暂停从第三存储卷214到第一存储卷206的更新(参见图7G)。
A-C强制故障转移模块410引导第一存储卷206创建OOS位图236以跟踪被复制到第三存储卷214的更新(参见图7H)。B-A-C存储模块306发出故障回复命令,并且第一存储卷206开始异步更新第三存储卷214(参见图7H)。
B-A增量重新同步模块412引导第二存储卷210在第二存储卷210上建立同步存储关系以将更新发送到第一存储卷206(参见图7I)。如果第一存储卷206与第二存储卷210没有关系,则B-A增量重新同步模块412引导第一存储卷206建立关系以从第二存储卷210接收更新。在一个实施例中,第二存储控制器211将增量重新同步CR位图234的内容合并到新的OOS位图238中以跟踪被复制到第一存储卷206的更新。在另一个实施例中,第二存储控制器211将增量重新同步CR位图234的内容合并到现有的未使用的OOS位图226(未在图7I中示出)内。
一旦清除与第二存储卷210关联的OOS位图238的内容,通常第一和第二存储卷206、210将是一致的,并且OOS位图238是不活动的(在图7J中示为不存在)。将在第一存储卷206上创建(或重新激活)CR位图240,并且B-A-C存储卷引导第一存储卷206将更新异步发送到第三存储卷214。当接收更新时,第三存储控制器220使用闪速复制过程更新第四存储卷218(参见图7K)。
现在,已在级联数据存储配置中配置系统200,其中数据从主机202流到第二存储卷210,同步地流到第一存储卷206,异步地流到第三存储卷214。在第四存储卷218上按时间顺序排列更新。如果需要第一存储卷206成为主存储卷,则重复此过程,并且将主卷从第二存储卷210交换到第一存储卷206。有利地,图7中所示的过程以及在此所述的方法500、600和装置300、400允许主卷交换和返回,其中第三/第四存储卷214、218保持近似同步,同时重新同步第一存储卷206。此外,更新继续从主机202流到第二存储卷210,并且从第二存储卷210流到第三存储卷214。
权利要求书(按照条约第19条的修改)
1.一种用于系统中的计算机程序产品,所述系统包括:
第一存储卷,其在出现故障之前被指定为主存储卷;
第二存储卷,其包括所述故障之前的所述第一存储卷的数据的同步镜像副本;以及
第三存储卷,其包括所述故障之前的所述第二存储卷的数据的异步镜像副本,所述计算机程序产品包括计算机可读介质,所述计算机可读介质具有针对激活同步镜像作为主存储卷而编程的计算机可用程序代码,所述计算机程序产品的操作包括:
引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在所述故障之后变得可运行;
终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致;以及
将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应在所述第一和第三存储卷基本一致之后终止将更新从所述第二存储卷发送到所述第三存储卷。
2.如权利要求1中所述的计算机程序产品,还包括指定所述第二存储卷作为主存储卷以响应在所述第一存储卷处检测到故障,其中所述第一存储卷被指定为所述主存储卷,所述第二存储卷包括所述故障之前的所述第一存储卷的数据的同步镜像副本,并且所述第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本。
3.如权利要求2中所述的计算机程序产品,还包括终止所述第二存储卷上的存储关系,所述存储关系包括所述第二存储卷用于同步地存储来自所述第一存储卷的数据的信息。
4.如权利要求2中所述的计算机程序产品,还包括:
指定所述第一存储卷作为所述主存储卷,以响应将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上;
引导所述第三存储卷将从所述第一存储卷发送到所述第三存储卷的更新存储在所述第二存储卷上以响应所述第一存储卷被指定为所述主存储卷;
终止将更新从所述第一存储卷发送到所述第三存储卷以响应所述第二存储卷变得与所述第三存储卷基本一致;以及
将所述第一存储卷接收的更新同步地存储在所述第二存储卷上并且将所述第二存储卷接收的更新异步地存储在所述第三存储卷上,以响应终止将更新从所述第一存储卷发送到所述第三存储卷。
5.如权利要求1中所述的计算机程序产品,其中引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上进一步包括:引导所述第三存储卷创建存储关系并且跟踪所述第三存储卷后续接收的更新,所述存储关系包括所述第三存储卷用于将更新异步地存储在所述第一存储卷上的信息。
6.如权利要求1中所述的计算机程序产品,其中终止将更新从所述第二存储卷发送到所述第三存储卷进一步包括以下操作之一:
a)从所述第二存储卷和所述第三存储卷删除存储关系,所述存储关系包括所述第二存储卷用于将数据存储在所述第三存储卷上的信息;以及
b)跟踪在终止将更新从所述第二存储卷发送到所述第三存储卷之后所述第二存储卷接收的更新。
7.如权利要求1中所述的计算机程序产品,其中将更新异步地存储在所述第三存储卷上进一步包括:使用闪速复制过程从所述第三存储卷更新第四存储卷,其中在所述第四存储卷上按时间顺序组织更新。
8.如权利要求1中所述的计算机程序产品,其中将所述第二存储卷接收的更新同步地存储在所述第一存储卷上进一步包括:引导所述第二存储卷在所述第二存储卷上创建存储关系,所述存储关系包括所述第二存储卷用于将数据同步地存储在所述第一存储卷上的信息。
9.一种用于激活同步镜像作为主存储卷的装置,所述装置包括:
主交换模块,其配置为指定第二存储卷作为主存储卷以响应在第一存储卷处检测到故障,其中所述第一存储卷被指定为所述主存储卷,所述第二存储卷包括所述故障之前的所述第一存储卷的数据的同步镜像副本,并且第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本;
C-A故障回复模块,其配置为引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在所述故障之后变得可运行;
B-C终止模块,其配置为终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致;以及
B-A-C存储模块,其配置为将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应所述B-C终止模块终止将更新从所述第二存储卷发送到所述第三存储卷。
10.如权利要求9中所述的装置,还包括C-A强制故障转移模块,其配置为引导所述第三存储卷创建存储关系并且跟踪在创建所述存储关系之后所述第三存储卷接收的更新,所述存储关系包括所述第三存储卷用于将更新异步地存储在所述第一存储卷上的信息。
11.如权利要求9中所述的装置,其中所述主交换模块还包括A-B终止模块,其配置为终止所述第二存储卷和所述第三存储卷上的存储关系以响应在所述第一存储卷处检测到故障并且使所述第二存储卷成为主存储卷,所述存储关系包括所述第二存储卷用于同步地存储来自所述第一存储卷的数据的信息。
12.如权利要求9中所述的装置,其中所述B-C终止模块还配置为从所述第二存储卷删除存储关系,所述存储关系包括所述第二存储卷用于将数据存储在所述第三存储卷上的信息。
13.如权利要求9中所述的装置,其中所述B-C终止模块还包括跟踪更改模块,其配置为跟踪在终止将更新从所述第二存储卷发送到所述第三存储卷之后所述第二存储卷接收的更新。
14.如权利要求9中所述的装置,还包括第四存储卷,并且其中所述第三存储卷被配置为使用闪速复制过程将更新存储到所述第四存储卷,其中在所述第四存储卷上按时间顺序组织所述更新。
15.如权利要求9中所述的装置,其中所述B-A-C存储模块还包括以下各项之一:
A-C跟踪模块,其配置为引导所述第一存储卷跟踪所述第一存储卷接收的要复制到所述第三存储卷的更新;以及
B-A增量重新同步模块,其配置为引导所述第二存储卷在所述第二存储卷上创建存储关系,所述存储关系包括所述第二存储卷用于将数据同步地存储在所述第一存储卷上的信息。

Claims (31)

1.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质具有针对激活同步镜像作为主存储卷而编程的计算机可用程序代码,所述计算机程序产品的操作包括:
引导第三存储卷将从第二存储卷发送到所述第三存储卷的更新存储在第一存储卷上以响应所述第一存储卷在故障之后变得可运行;
终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致;以及
将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应在所述第一和第三存储卷基本一致之后终止将更新从所述第二存储卷发送到所述第三存储卷。
2.如权利要求中所述的计算机程序产品,还包括指定所述第二存储卷作为主存储卷以响应在所述第一存储卷处检测到故障,其中所述第一存储卷被指定为所述主存储卷,所述第二存储卷包括所述第一存储卷的数据的同步镜像副本,并且所述第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本。
3.如权利要求中所述的计算机程序产品,还包括终止所述第二存储卷上的存储关系,所述存储关系包括所述第二存储卷用于同步地存储来自所述第一存储卷的数据的信息。
4.如权利要求中所述的计算机程序产品,还包括:
指定所述第一存储卷作为所述主存储卷,以响应将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上;
引导所述第三存储卷将从所述第一存储卷发送到所述第三存储卷的更新存储在所述第二存储卷上以响应所述第一存储卷被指定为所述主存储卷;
终止将更新从所述第一存储卷发送到所述第三存储卷以响应所述第二存储卷变得与所述第三存储卷基本一致;以及
将所述第一存储卷接收的更新同步地存储在所述第二存储卷上并且将所述第二存储卷接收的更新异步地存储在所述第三存储卷上,以响应终止将更新从所述第一存储卷发送到所述第三存储卷。
5.如权利要求中所述的计算机程序产品,其中引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上进一步包括:引导所述第三存储卷创建存储关系并且跟踪所述第三存储卷后续接收的更新,所述存储关系包括所述第三存储卷用于将更新异步地存储在所述第一存储卷上的信息。
6.如权利要求中所述的计算机程序产品,其中终止将更新从所述第二存储卷发送到所述第三存储卷进一步包括:从所述第二存储卷和所述第三存储卷删除存储关系,所述存储关系包括所述第二存储卷用于将数据存储在所述第三存储卷上的信息。
7.如权利要求中所述的计算机程序产品,其中终止将更新从所述第二存储卷发送到所述第三存储卷进一步包括:跟踪在终止将更新从所述第二存储卷发送到所述第三存储卷之后所述第二存储卷接收的更新。
8.如权利要求中所述的计算机程序产品,其中将更新异步地存储在所述第三存储卷上进一步包括:使用闪速复制过程从所述第三存储卷来更新第四存储卷,其中在所述第四存储卷上按时间顺序组织更新。
9.如权利要求中所述的计算机程序产品,其中所述第四存储卷包括适于重新初始化主存储卷的数据。
10.如权利要求中所述的计算机程序产品,其中终止将更新从所述第二存储卷发送到所述第三存储卷进一步包括终止到所述第四存储卷的更新。
11.如权利要求中所述的计算机程序产品,其中将所述第一存储卷接收的更新异步地存储在所述第三存储卷上进一步包括重新启动到所述第四存储卷的更新。
12.如权利要求中所述的计算机程序产品,其中将所述第一存储卷接收的更新异步地存储在所述第三存储卷上进一步包括跟踪所述第一存储卷接收的要复制到所述第三存储卷的更新。
13.如权利要求中所述的计算机程序产品,其中将所述第二存储卷接收的更新同步地存储在所述第一存储卷上进一步包括引导所述第二存储卷在所述第二存储卷上创建存储关系,所述存储关系包括所述第二存储卷用于将数据同步地存储在所述第一存储卷上的信息。
14.一种用于激活同步镜像作为主存储卷的装置,所述装置包括:
主交换模块,其配置为指定第二存储卷作为主存储卷以响应在第一存储卷处检测到故障,其中所述第一存储卷被指定为所述主存储卷,所述第二存储卷包括所述第一存储卷的数据的同步镜像副本,并且第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本;
C-A故障回复模块,其配置为引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在所述故障之后变得可运行;
B-C终止模块,其配置为终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致;以及
B-A-C存储模块,其配置为将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应所述B-C终止模块终止将更新从所述第二存储卷发送到所述第三存储卷。
15.如权利要求中所述的装置,还包括C-A强制故障转移模块,其配置为引导所述第三存储卷创建存储关系并且跟踪在创建所述存储关系之后所述第三存储卷接收的更新,所述存储关系包括所述第三存储卷用于将更新异步地存储在所述第一存储卷上的信息。
16.如权利要求中所述的装置,其中所述主交换模块还包括A-B终止模块,其配置为终止所述第二存储卷和所述第三存储卷上的存储关系以响应在所述第一存储卷处检测到故障并且使所述第二存储卷成为主存储卷,所述存储关系包括所述第二存储卷用于同步地存储来自所述第一存储卷的数据的信息。
17.如权利要求中所述的装置,其中所述B-C终止模块还被配置为从所述第二存储卷删除存储关系,所述存储关系包括所述第二存储卷用于将数据存储在所述第三存储卷上的信息。
18.如权利要求中所述的装置,其中所述B-C终止模块还包括跟踪更改模块,其配置为跟踪在终止将更新从所述第二存储卷发送到所述第三存储卷之后所述第二存储卷接收的更新。
19.如权利要求中所述的装置,还包括第四存储卷,并且其中所述第三存储卷被配置为使用闪速复制过程将更新存储到所述第四存储卷,其中在所述第四存储卷上按时间顺序组织所述更新。
20.如权利要求中所述的装置,其中所述B-C终止模块还被配置为终止到所述第四存储卷的更新。
21.如权利要求中所述的装置,其中所述B-A-C存储模块还被配置为重新启动到所述第四存储卷的更新。
22.如权利要求中所述的装置,其中所述B-A-C存储模块还包括A-C跟踪模块,其配置为引导所述第一存储卷跟踪所述第一存储卷接收的要复制到所述第三存储卷的更新。
23.如权利要求中所述的装置,其中所述B-A-C存储模块还包括B-A增量重新同步模块,其配置为引导所述第二存储卷在所述第二存储卷上创建存储关系,所述存储关系包括所述第二存储卷用于将数据同步地存储在所述第一存储卷上的信息。
24.一种用于激活同步镜像作为主存储卷的系统,所述系统包括:
第一存储卷,其在所述第一存储卷出现故障之前被指定为主存储卷;
第二存储卷,其包括所述故障之前的所述第一存储卷的数据的同步镜像副本;
第三存储卷,其包括所述故障之前的所述第二存储卷的数据的异步镜像副本;
主机,其配置为将更新存储到所述第一存储卷和所述第二存储卷,所述主机包括
主交换模块,其配置为指定所述第二存储卷作为所述主存储卷以响应在所述第一存储卷处检测到故障;
C-A故障回复模块,其配置为引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在所述故障之后变得可运行;
B-C终止模块,其配置为终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷近乎一致;以及
B-A-C存储模块,其配置为将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应终止将更新从所述第二存储卷发送到所述第三存储卷。
25.如权利要求中所述的系统,还包括与所述第三存储卷位于一起的第四存储卷,所述第三存储卷配置为使用闪速复制过程将更新存储到所述第四存储卷,其中在所述第四存储卷上按时间顺序组织所述更新。
26.如权利要求中所述的系统,其中所述主机还配置为使用所述第三存储卷的内容来初始化所述第一存储卷和所述第二存储卷之一以响应出现故障,其中从所述第二存储卷复制所述第三存储卷的内容。
27.一种用于在存储卷上创建新的存储关系的方法,所述方法包括:
在第一存储卷上创建存储关系,其中所述存储关系包括所述第一存储卷用于将所述第一存储卷接收的更新存储到第二存储卷的信息,并且所述第一存储卷与所述第二存储卷没有已有的存储关系;
跟踪从创建所述存储关系以来到数据结构中的所述第一存储卷的更新,其中所述更新旨在被复制到所述第二存储卷;以及
根据所述数据结构中的所跟踪更新将所述更新从所述第一存储卷复制到所述第二存储卷。
28.如权利要求中所述的方法,其中存储关系是第一存储关系,并且所述第一存储卷与第三存储卷具有已有的第二存储关系。
29.如权利要求中所述的方法,其中在不重新初始化所述第一存储卷的情况下创建所述存储关系。
30.一种用于部署软件以激活同步镜像作为主存储卷的方法,所述方法包括:
确定客户同步镜像和异步镜像配置以及可靠性要求;以及
执行同步镜像激活计算机代码,所述计算机代码配置为
指定第二存储卷作为主存储卷以响应在第一存储卷处检测到故障,其中所述第一存储卷被指定为所述主存储卷,所述第二存储卷包括所述第一存储卷的数据的同步镜像副本,并且第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本;
引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在所述故障之后变得可运行;
终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致;以及
将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应在所述第一和第三存储卷基本一致之后终止将更新从所述第二存储卷发送到所述第三存储卷。
31.一种用于激活同步镜像作为主存储卷的装置,所述装置包括:
用于指定第二存储卷作为主存储卷以响应在第一存储卷处检测到故障的设备,其中所述第一存储卷被指定为所述主存储卷,所述第二存储卷包括所述第一存储卷的数据的同步镜像副本,并且第三存储卷包括所述故障之前的所述第二存储卷的数据的异步镜像副本;
用于引导所述第三存储卷将从所述第二存储卷发送到所述第三存储卷的更新存储在所述第一存储卷上以响应所述第一存储卷在所述故障之后变得可运行的设备;
用于终止将更新从所述第二存储卷发送到所述第三存储卷以响应所述第一存储卷变得与所述第三存储卷基本一致的设备;以及
用于将所述第二存储卷接收的更新同步地存储在所述第一存储卷上并且将所述第一存储卷接收的更新异步地存储在所述第三存储卷上,以响应在所述第一和第三存储卷基本一致之后终止将更新从所述第二存储卷发送到所述第三存储卷的设备。
CN2007800332414A 2006-09-07 2007-08-22 用于改进的同步数据镜像交换的装置、系统和方法 Active CN101512495B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/470,970 2006-09-07
US11/470,970 US7627729B2 (en) 2006-09-07 2006-09-07 Apparatus, system, and method for an improved synchronous mirror swap
PCT/EP2007/058712 WO2008028803A2 (en) 2006-09-07 2007-08-22 Apparatus, system, and method for an improved synchronous data mirror swap

Publications (2)

Publication Number Publication Date
CN101512495A true CN101512495A (zh) 2009-08-19
CN101512495B CN101512495B (zh) 2011-10-12

Family

ID=38951439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800332414A Active CN101512495B (zh) 2006-09-07 2007-08-22 用于改进的同步数据镜像交换的装置、系统和方法

Country Status (8)

Country Link
US (1) US7627729B2 (zh)
EP (1) EP2078254B1 (zh)
JP (1) JP4870816B2 (zh)
CN (1) CN101512495B (zh)
AT (1) ATE452368T1 (zh)
DE (1) DE602007003862D1 (zh)
TW (1) TW200825739A (zh)
WO (1) WO2008028803A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991520A (zh) * 2015-05-25 2015-10-21 南京南瑞继保电气有限公司 一种镜像配置方法及装置
CN105159794A (zh) * 2015-08-18 2015-12-16 浪潮(北京)电子信息产业有限公司 镜像实现系统和方法
CN110515778A (zh) * 2019-08-30 2019-11-29 星辰天合(北京)数据科技有限公司 基于共享逻辑卷的数据保护的方法、装置和系统
CN110609822A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 数据流处理方法、设备和计算机程序产品

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US7437601B1 (en) * 2005-03-08 2008-10-14 Network Appliance, Inc. Method and system for re-synchronizing an asynchronous mirror without data loss
JP4887893B2 (ja) * 2006-04-26 2012-02-29 株式会社日立製作所 計算機システム及び計算機システムの制御方法
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US8161254B2 (en) * 2008-06-02 2012-04-17 Syncsort Incorporated Method for creating consistent backup image of a storage volume without requiring a snapshot
US8615678B1 (en) * 2008-06-30 2013-12-24 Emc Corporation Auto-adapting multi-tier cache
JP5147570B2 (ja) 2008-07-02 2013-02-20 株式会社日立製作所 ストレージシステム及びリモートコピー復旧方法
JP5422147B2 (ja) 2008-07-08 2014-02-19 株式会社日立製作所 リモートコピーシステム及びリモートコピー方法
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
ES2575155T3 (es) * 2008-08-08 2016-06-24 Amazon Technologies, Inc. Suministro de programas de ejecución con acceso fiable al almacenamiento de datos a nivel de bloque no local
US8214685B2 (en) * 2008-10-31 2012-07-03 Hewlett-Packard Development Company, L.P. Recovering from a backup copy of data in a multi-site storage system
JP5035230B2 (ja) * 2008-12-22 2012-09-26 富士通株式会社 ディスク搭載機構及びストレージ装置
TWI514249B (zh) * 2009-01-23 2015-12-21 Infortrend Technology Inc 遠端非同步資料卷複製的方法及執行該方法的儲存系統
US8127128B2 (en) * 2009-05-04 2012-02-28 International Business Machines Corporation Synchronization of swappable module in modular system
KR20100120397A (ko) * 2009-05-06 2010-11-16 주식회사 히타치엘지 데이터 스토리지 코리아 선택적 미러 방법
CN101587453B (zh) * 2009-06-18 2012-01-04 成都市华为赛门铁克科技有限公司 数据备份处理方法、数据存储节点设备及数据存储装置
US8095617B2 (en) * 2009-06-30 2012-01-10 Oracle America Inc. Caching data in a cluster computing system which avoids false-sharing conflicts
JP5424992B2 (ja) * 2010-06-17 2014-02-26 株式会社日立製作所 計算機システム、及びシステム制御方法
US8683154B2 (en) 2010-06-17 2014-03-25 Hitachi, Ltd. Computer system and system control method
US8392369B2 (en) 2010-09-10 2013-03-05 Microsoft Corporation File-backed in-memory structured storage for service synchronization
US8706946B2 (en) * 2011-02-11 2014-04-22 International Business Machines Corporation Extender storage pool system
US8751762B2 (en) * 2011-03-30 2014-06-10 International Business Machines Corporation Prevention of overlay of production data by point in time copy operations in a host based asynchronous mirroring environment
US8788877B2 (en) * 2011-08-03 2014-07-22 International Business Machines Corporation Acquiring a storage system into copy services management software
US8806268B2 (en) 2011-09-29 2014-08-12 International Business Machines Corporation Communication of conditions at a primary storage controller to a host
US8909985B2 (en) * 2012-07-12 2014-12-09 International Business Machines Corporation Multiple hyperswap replication sessions
JP5949408B2 (ja) * 2012-10-02 2016-07-06 富士通株式会社 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US9075762B2 (en) 2013-01-04 2015-07-07 International Business Machines Corporation Setting copy permissions for target data in a copy relationship
CN104937576B (zh) 2013-03-28 2018-08-31 慧与发展有限责任合伙企业 协调存储在基于非易失性存储器的系统中的数据的复制
US9405628B2 (en) 2013-09-23 2016-08-02 International Business Machines Corporation Data migration using multi-storage volume swap
CN103501337B (zh) * 2013-09-29 2017-05-10 北大医疗信息技术有限公司 多级数据节点更新同步系统和方法
US9619331B2 (en) 2014-01-18 2017-04-11 International Business Machines Corporation Storage unit replacement using point-in-time snap copy
US9720786B2 (en) 2014-04-22 2017-08-01 International Business Machines Corporation Resolving failed mirrored point-in-time copies with minimum disruption
US10133643B2 (en) 2015-05-05 2018-11-20 International Business Machines Corporation Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system
US10013324B2 (en) * 2015-12-04 2018-07-03 International Business Machines Corporation Data recovery in multi-target data storage networks
US10545990B2 (en) * 2016-03-31 2020-01-28 Veritas Technologies Llc Replication between heterogeneous storage systems
US9891849B2 (en) * 2016-04-14 2018-02-13 International Business Machines Corporation Accelerated recovery in data replication environments
US11474707B2 (en) 2016-06-03 2022-10-18 International Business Machines Corporation Data loss recovery in a secondary storage controller from a primary storage controller
US9946617B2 (en) 2016-06-06 2018-04-17 International Business Machines Corporation Optimized recovery in data replication environments
US10365852B2 (en) * 2016-07-29 2019-07-30 Vmware, Inc. Resumable replica resynchronization
US10437730B2 (en) 2016-08-22 2019-10-08 International Business Machines Corporation Read cache synchronization in data replication environments
US10572357B2 (en) 2017-03-29 2020-02-25 International Business Machines Corporation Switching over from using a first primary storage to using a second primary storage when the first primary storage is in a mirror relationship
US10712953B2 (en) * 2017-12-13 2020-07-14 International Business Machines Corporation Management of a data written via a bus interface to a storage controller during remote copy operations
US10705754B2 (en) * 2018-06-22 2020-07-07 International Business Machines Corporation Zero-data loss recovery for active-active sites configurations
US11099942B2 (en) 2019-03-21 2021-08-24 International Business Machines Corporation Archival to cloud storage while performing remote backup of data
US11573930B2 (en) * 2019-06-03 2023-02-07 Zuora, Inc. Self-healing data synchronization

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US7152078B2 (en) * 2001-12-27 2006-12-19 Hitachi, Ltd. Systems, methods and computer program products for backup and restoring storage volumes in a storage area network
US7149919B2 (en) * 2003-05-15 2006-12-12 Hewlett-Packard Development Company, L.P. Disaster recovery system with cascaded resynchronization
US7043665B2 (en) * 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US7188272B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7246258B2 (en) * 2004-04-28 2007-07-17 Lenovo (Singapore) Pte. Ltd. Minimizing resynchronization time after backup system failures in an appliance-based business continuance architecture
JP4575059B2 (ja) * 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991520A (zh) * 2015-05-25 2015-10-21 南京南瑞继保电气有限公司 一种镜像配置方法及装置
CN105159794A (zh) * 2015-08-18 2015-12-16 浪潮(北京)电子信息产业有限公司 镜像实现系统和方法
CN110609822A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 数据流处理方法、设备和计算机程序产品
CN110609822B (zh) * 2018-06-15 2023-02-28 伊姆西Ip控股有限责任公司 数据流处理方法、设备和计算机程序产品
CN110515778A (zh) * 2019-08-30 2019-11-29 星辰天合(北京)数据科技有限公司 基于共享逻辑卷的数据保护的方法、装置和系统
CN110515778B (zh) * 2019-08-30 2020-11-24 星辰天合(北京)数据科技有限公司 基于共享逻辑卷的数据保护的方法、装置和系统

Also Published As

Publication number Publication date
WO2008028803A2 (en) 2008-03-13
WO2008028803A3 (en) 2008-07-10
DE602007003862D1 (de) 2010-01-28
EP2078254B1 (en) 2009-12-16
US7627729B2 (en) 2009-12-01
EP2078254A2 (en) 2009-07-15
WO2008028803B1 (en) 2008-08-28
US20080065843A1 (en) 2008-03-13
JP4870816B2 (ja) 2012-02-08
ATE452368T1 (de) 2010-01-15
TW200825739A (en) 2008-06-16
CN101512495B (zh) 2011-10-12
JP2010503089A (ja) 2010-01-28

Similar Documents

Publication Publication Date Title
CN101512495B (zh) 用于改进的同步数据镜像交换的装置、系统和方法
CN101578586B (zh) 在故障转移和故障回复环境中使用虚拟拷贝
US7353335B2 (en) Storage control method for database recovery in logless mode
US7181581B2 (en) Method and apparatus for mirroring data stored in a mass storage system
EP1777625B1 (en) Method of mirroring and backing up a storage system
US6539462B1 (en) Remote data copy using a prospective suspend command
US9811430B1 (en) Method and system for incremental backup of data volumes
CN101535961B (zh) 使用元数据检测连续远程复制中的不匹配的装置、系统和方法
JP3968207B2 (ja) データ多重化方法およびデータ多重化システム
CN102033786B (zh) 一种对象存储系统中修复副本一致性的方法
US7836268B2 (en) Method, apparatus, and system for controlling data storage
JP2007310701A (ja) データベースシステム、ストレージ装置、初期コピー方法及びログ適用方法
US6073221A (en) Synchronization of shared data stores through use of non-empty track copy procedure
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
EP1344135A1 (en) Write logging in mirrored disk subsystems
JPH07239799A (ja) 遠隔データ・シャドーイングを提供する方法および遠隔データ二重化システム
JP5521595B2 (ja) ストレージシステム及びストレージ制御方法
CN103136070A (zh) 一种数据容灾处理的方法和装置
US20110196825A1 (en) Storage system and data duplication method in the same
US7260739B2 (en) Method, apparatus and program storage device for allowing continuous availability of data during volume set failures in a mirrored environment
JP2005122453A (ja) ストレージ装置のディスクコントローラ制御方式およびストレージ装置
US8131958B2 (en) Storage system, storage device, and data updating method using a journal volume
JP5817296B2 (ja) 制御装置、制御方法およびストレージ装置
JP2002278706A (ja) ディスクアレイ装置
US6516394B1 (en) System and method for management of storage devices using labels

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant