使用写队列机制实施多阵列一致性组的方法

文档序号:6595684阅读:218来源:国知局
专利名称:使用写队列机制实施多阵列一致性组的方法
技术领域
本发明主要涉及存储系统领域,更具体地,涉及用于为数据库备份实施多阵列一致性组的方法。
背景技术
单个应用可使用多个逻辑单元(LUs)。例如,数据库系统可具有在一个LU上的日志文件和在另一个LU上的数据文件。数据库可使用备份技术,其对数据库LUs制作快照, 并将该快照备份到合适的存储媒体,如磁带。此类备份技术可以被实施而不脱机该数据库; 该数据库可不停顿1/0(输入/输出)功能。例如,该数据库文件可在制作快照时继续运行, 其中该快照可能不与该数据库活动相协调。在可能实施备份之前,该快照备份技术可能需要该数据库文件所使用的所有LUs的一致性快照。该一致性可确保实际上从该备份处准确地重新存储该应用。当数据库系统具有位于不同存储阵列上的LUs时可使用一致性组(CG)。CG可由一个或多个LUs组成,并可用于创建该CG所有成员的快照作为单个原子操作。

发明内容
一种用于实施多阵列一致性组的方法包括将写输入/输出(I/O)队列间隔应用于一致性组(CG)的逻辑单元(LU)成员。该CG的LU成员驻留的存储阵列是参与参与存储阵列。该方法也包括使用时间戳对每一个写I/O作标记,并且在该参与存储阵列从主存储阵列接收快照请求后,暂停从该参与存储阵列到该CG的LU成员的I/O。该快照请求具有快照请求时间戳。该方法进一步包括确定该快照请求时间戳是否在该参与存储阵列的写I/O队列间隔内。当该快照请求时间戳被确定在该参与存储阵列的写I/O队列间隔内时,该参与存储阵列执行以下至少一个(a)完成早于该快照请求时间戳的每一个写1/0,(b)创建该 CG的LU成员的本地快照,或(c)恢复I/O到该CG的LU成员。一种用于实施多阵列一致性组的方法包括在一致性组(CG)存储阵列的控制器上启动一致性组(CG)的快照。具有该控制器的该CG存储阵列定义为主机,以及该CG的逻辑单元(LU)成员所在的存储阵列是参与存储阵列。该方法也包括记录该启动的CG快照的时间戳并将PREPARE请求从该主机发送到每一个参与存储阵列的每一个控制器。将每一个接收PREPARE请求的参与存储阵列定义为从机。该方法进一步包括当该从机接收到该 PERPARE请求时,暂停到该LU成员的I/O并确定该时间戳是否符合在该从机的写输入/输出(I/O)队列间隔内,当该时间戳符合在该写I/O队列间隔内时,刷新在该写I/O队列间隔内早于该时间戳的每一个写1/0,以及执行以下至少一个(a)创建该LU成员的快照,(b) 恢复1/0,(c)将PERPARE状态记入永久存储器,或(d)将PERPARE-ACK消息发送到该主机。一种计算机可读介质,其具有计算机可执行指令以实施一方法,其中该方法包括将写输入/输出(I/O)队列间隔应用于一致性组(CG)的逻辑单元(LU)成员。该CG的LU 成员所在的存储阵列是参与存储阵列。该方法也包括在该参与存储阵列从主存储阵列接收
4快照请求后,该参与存储阵列使用时间戳对每一个写I/O作标记并暂停从该参与存储阵列到该CG的LU成员的I/O。该快照请求具有快照请求时间戳。该方法进一步包括确定该快照请求时间戳是否在该参与存储阵列的写I/O队列间隔内。当该快照请求时间戳被确定在该参与存储阵列的写I/O队列间隔内时,该参与存储阵列执行以下至少一个(a)完成早于该快照请求时间戳的每一个写1/0,(b)创建该CG的LU成员的本地快照,或(c)恢复I/O 到该CG的LU成员。应当可以理解,不管是上述概括的描述还是后面详细的描述都仅仅是示例性和说明性的,并不会是对本发明的必要限制。包括并组成说明书一部分的附图揭示了本发明的主题。该说明书和该附图一起用来解释本发明的原理。


通过参考附图,本发明的众多优点可以被本领域的技术人员更好地理解图IA示出了多阵列存储数据库的方框图;图IB示出了在存储数据库的多个一致性组成员之上的多个写I/O的方框图;图2A和2B是描述了在多阵列存储数据库上的快照请求的实施方式的流程图;图3是描述了使用写队列机制实施多阵列一致性组的方法的流程图;和图4是描述了使用写队列机制实施多阵列一致性组的方法的另一实施方案的流程图。
具体实施例方式此时对在该附图中所描述的公开主题进一步做出详细说明。此时参照图IA和1B,示出了多阵列存储数据库以及在存储数据库的多个一致性组成员之上的多个写I/O的方框图。存储数据库102可包括多个存储阵列104,逻辑单元 (LUs)位于不同存储阵列上。一致性组(CG)可由在大量存储阵列之上的一个或多个LUs 组成以支持创建所有CG成员的快照作为单个基本操作。在存储阵列104中,主机可见的小型计算机系统接口(SCSI)逻辑单元(LU)可映射到虚拟卷106,例如,当存储虚拟化管理器 (SVM) 108部署在该存储阵列104中时。虚拟卷106可来自在存储阵列104内的一个或多个存储池110的容量。图IB示出了三个虚拟卷VV1,VV2,VV3,具有多个排队的写I/O =Wll, W12, W13, W21,W22,W23, W31,W32,W33。一致性组可包括 VV1,VV2 和 VV3,但是应当清楚,可在该一致性组内包括任意数量的虚拟卷。可使用在存储阵列控制器缓存112内的写I/O队列机制来创建时间窗口,在该时间窗口期间快照可在多个存储阵列104上创建。该写I/O队列机制可用于成为一致性组的成员的LUs。包括一致性组的LU成员的存储阵列可被称为参与存储阵列114。每一个该参与存储阵列114可具有普通时间概念,如通过使用分布式时钟同步机制116。例如,该分布式时钟同步机制116可以是网络时间协议(NTP)。一个或多个写I/O可排队为按先进先出(FIFO)顺序的LU。可使用该FIFO顺序, 不考虑该写I/O是否具有逻辑块地址(LBA),该LBA可与已存在于存储阵列控制器118的高速缓存112内的写LBA重叠。可使用来自该参与存储阵列114所使用的分布式时钟同步机制116的时间戳来标记每一个写I/O。在一致性组内的LU的写I/O队列可表现为从当前时间到该队列中最早写I/O的时间戳的时间间隔。该存储阵列控制器118可在该队列中保留足够的写1/0,以使该写I/O队列所表现的时间间隔大于在该参与存储阵列114之间通信的消息的最长等待时间。当参与存储阵列114接收到来自主存储阵列11 的快照请求时,参与存储阵列 114可暂停到一致性组成员的I/O。该主存储阵列11 可定义为接收从用户或主机的至少一个的快照请求的存储阵列。该参与存储阵列114可确定来自该主存储阵列11 的该快照请求的时间戳是否在该写I/O队列间隔内。如果该快照请求的时间戳在该写队列间隔内, 则该参与存储阵列114可完成早于该一致性组快照请求时间戳的写,创建该一致性组的LU 成员的本地快照,并恢复I/O到该一致性组的LU成员。在图IB的方框图中,一致性组快照可包括写Wll,W21和W31,不包括后来的写。 但是,由于在多阵列系统中的延迟,到最后存储阵列暂停该一致性组的最后LU成员时,写 W22,W12,W32和W23已经被排队。当该参与存储阵列114接收到该一致性组快照请求时,为了该一致性组快照成功,在该参与存储阵列114内的队列应该足够大以使写W22,W12,W32 和W23仍在该各个参与存储阵列队列中而并未被写入该一致性组的LU成员。在创建该本地快照之前,如果Wl 1,W21和W31任意一个仍在该队列中,每一个可被刷新到成员LU。一致性组的每一个参与存储阵列114可与其他参与存储阵列交换测试消息,如经常地,用来确定往返延迟。可使用该往返延迟来确定该写I/O队列间隔的最小时间间隔。但是,应当预料到,使用该往返延迟来设置该最小时间间隔可能不总是可行的。例如,该LU的队列的大小可由每一个在一致性组内LU可允许使用多少高速缓存的存储器阵列宽度阈值来限制。因此,当在接收新的写I/O中达到/超出该高速缓存阈值时,可从该FIFO队列到物理驱动器来刷新较早的写1/0,即使其减少了该队列所表现的时间间隔的大小。该写队列机制可用于包括电池支持的高速缓存的存储阵列。进一步地,可将该高速缓存镜像到在该存储阵列中另一控制器,如为了冗余目的。此时参照图2A和2B,描述了在多阵列存储数据库上的快照请求的实施方式的流程图。该一致性组快照创建的协调可利用两阶段提交(2PC)协议。当在参与存储阵列的控制器上启动一致性组快照时,可将控制器定义为该处理200的主机。实施该快照请求的该处理200可根据图2A和2B的流程图来进行。在操作202中,处理200的开端被打上时间戳。例如,主机可根据该分布式时钟同步机制对该处理200的开端打上时间戳。在操作204中,将PREPARE请求发送到在该一致性组内的所有参与存储阵列控制器。例如,该主机可将该PREPARE请求发送到在该一致性组内的所有参与存储阵列控制器。可将每一个接收PREPARE请求的参与存储阵列定义为从机。在操作206中,暂停到该一致性组的LU成员的I/O。例如,该从机可在接收PREPARE请求后暂停I/O。在操作208中,传送合适的查询,该合适的查询包括来自该主机的一致性组时间戳是否符合在该从机的写I/O队列间隔内。例如,可将该合适的查询传送到该从机的控制器。如果该操作208的结果为否(no),(即,该时间戳不符合在该写I/O队列间隔内), 在操作210中,记录ABORT并发送AB0RT-ACK。例如,该从机可将ABORT记录给永久存储器并发送AB0RT-ACK。例如,该从机可将ABORT记录给永久存储器并发送AB0RT-ACK给该主机。 随后该处理200可进行到操作220,如下所示。如果该操作208的结果为是(yes),(即该时间戳符合在该写1/0队列间隔内),在操作212中,刷新早于该处理200时间戳的写1/0。例如,该从机可刷新在该队列中早于该处理200时间戳的任意写I/O。在操作214中,创建该LU的快照。例如,该从机可创建该LU的快照,在操作216中,到该LU的I/O被恢复。例如,该从机可恢复I/O到该LU。在操作218中,记录PREPARED状态并发送PREPARE-ACK消息。例如,该从机可将PREPARED状态记录给永久存储器,以及该从机可将PREPARE-ACK消息发送给该主机。随后该处理进行到操作220。在操作220中,传送接收查询,该接收查询包括该主机是否从所有从机接收 PREPARE-ACK消息。例如,可将该接收查询传送给该主机。如果该操作220的结果为否,在操作222中,发出ROLLBACK消息。例如,该主机可将ROLLBACK消息发出给所有从机。在操作2M中,记录了该ROLLBACK状态,并释放了任意锁定。例如,当从机接收到该ROLLBACK消息时,该从机可将该ROLLBACK状态记录到永久存储器,以及该从机可释放该从机可能已保持的代表该整个处理200的任意锁定。在操作226中,删除在操作214中进行的快照。例如,该从机可删除在操作214中进行的快照。在操作228中,发出R0LLBACK-ACK消息。例如,该从机可将该R0LLBACK-ACK消息发给该主机。随后该处理200可在236处结束,其结果如下所示。如果该操作200的结果为是,(即,接收到了 R0LLBACK-ACK消息,如该主机从所有从机),处理200可进行到操作230处。在操作230中,发出COMMIT请求。例如,该主机可将该COMMIT请求发布到所有从机。在操作232中,记录COMMIT状态,并释放了任意锁定。例如,当从机接收到该COMMIT 请求时,该从机可将该COMMIT状态记录到永久存储器,以及该从机可释放其所保持的代表整个处理200的任意锁定。在操作234中,发送C0MMIT-ACK消息。例如,该从机可将 COMMIT-ACK消息发给该主机。随后该处理200可在236结束。在结束236该处理200的结果可因此基于该主机从该从机处接收到了哪种消息。如果该主机从所有从机处接收到了 C0MMIT-ACK消息,该整个处理200成功,并对在该一致性组内的所有LUs已经进行了一致性快照。如果该主机从所有从机接收到了 R0LLBACK-ACK消息,该整个处理200未形成一致性快照,但每一个从机进行了清除(如,释放了任意锁定并删除了在操作214中进行的快照)。该2PC协议可以是具有假定ABORT的被称为2PC的变体。在本例中,在发出 PREPARE请求时启动计时器。例如,该主机可启动计时器,在该主机发出PREPARE请求到该一致性组中的所有参与存储阵列控制器时(操作204)。如果该计时器在该主机接收到来自所有从机的响应之前到期,则发出ROLLBACK消息。例如,如果该计时器没有接收到来自所有从机的响应而到期,该主机可假设该整个处理200需要被退出,以及该主机可将 ROLLBACK消息发送到所有从机。因此,如果该计时器在该主机接收到来自所有从机的响应之前到期,可将该处理200处置为操作220的结果为否。如果在该计时器到期后发出 PREPARE-ACK消息,可重新发出该ROLLBACK消息。例如,如果从机将PREPARE-ACK消息发送到该主机,在该计时器到期后,如在该ROLLBACK消息发出后从机停止并恢复起来,该主机可随后将该ROLLBACK消息重新发送到该从机处,于是该从机可进行清除。如果该主机发生故障,如在将PREPARE消息发送到所有从机后具有永久故障, 每一个从机可能需要手动ROLLBACK。在本发明的一实施方案中,由用户执行该手动 ROLLBACK。应当预料到,限制控制器高速缓存的地方可使用其它存储装置来筹划该排队的写 1/0。例如,可使用固态硬盘(SSDs)。当使用另一种存储装置时,可使用常用控制器缓存管理机制从该高速缓存到其它存储装置来刷新写I/O。这样,将该写I/O队列保留在该其它存储装置上。以下参照方法的流程图说明对本发明进行描述。应当理解,该流程图说明的每一个块和/或在该流程图说明中块的组合,可由计算机程序指令来实施。可将这些计算机程序指令提供给通用计算机,专业计算机或其他可编程数据处理设备的处理器,以产生机制使得通过该计算机或其他可编程数据处理设备的处理器所执行的指令创造出实施该流程图中指定的功能/行为的装置。可同样将这些计算机程序指令存储到计算机可读实体介质中(因而包括计算机程序产品),该介质能够将计算机或其他可编程数据处理设备引导成以特定方式运作,使得存储在该计算机可读实体介质中的该指令产生包括实施在该流程图中指定功能/行为的指令装置的制品。在本发明的一实施方案中,可将该写I/O队列机制实施为现有RAID(独立冗余磁盘阵列)引擎的补充,其可支持跨越多个存储阵列的一致性组。进一步地,本发明可使用本领域已知的任何存储阵列支持的本地快照机制。可不需要将该本地快照机制认识为多存储阵列一致性组,或该写I/O阵列,以正确进行操作。另外,使用该2PC协议可使得在一致性组快照未完成情况中自动清除存储阵列。此时参照图3,示出了描述了使用写队列机制实施多阵列一致性组的方法300的流程图,依照本发明的实施方案。方法300可将写输入/输出(I/O)队列间隔用于一致性组(CG)的逻辑单元(LU)成员302。该CG的LU成员驻留的存储阵列可以是参与存储阵列。 方法300可使用时间戳对每一个写I/O标记304。方法300在参与存储阵列306从主存储阵列接收到快照请求后可暂停从该参与存储阵列到该CG的LU成员的I/O。该快照请求可以具有快照请求时间戳。方法300可确定该快照请求时间戳是否在该参与存储阵列的写 I/O队列间隔内308。当确定了该快照请求时间戳在该参与存储阵列的写I/O队列间隔内时,该参与存储阵列可实施以下至少一个(a)完成早于该快照请求时间戳的每一个写I/ 0,(b)创建该CG的LU成员的本地快照,或(c)恢复I/O到该CG的LU成员。将写I/O队列间隔用于CG的LU成员的方法300可包括按先入先出(FIFO)顺序排列写I/O。使用时间戳对每一个写I/O标记的方法300可包括根据分布式时钟同步机制来同步该CG的每一个参与存储阵列。该分布式时钟同步机制可以是网络时间协议(NTP)。 将写I/O队列间隔用于CG的LU成员的方法300可包括将该写I/O队列间隔表现为从当前时间到该队列中最早写I/O的时间戳的时间间隔。方法300可进一步包括在该CG的每一个参与存储阵列之间交换测试消息,用来确定往返延迟。方法300可进一步包括使用该往返延迟来确定该写I/O队列间隔的最小时间间隔。此时参照图4,示出了描述了使用写队列机制实施多阵列一致性组的方法400的另一实施方案的流程图。方法400可在CG存储阵列的控制器上启动一致性组(CG)的快照 402。可将具有该控制器的该CG存储阵列定义为主机,该CG的逻辑单元(LU)成员所在的存储阵列可以是参与存储阵列。方法400可记录该启动的CG快照的时间戳404。方法400 可将PREPARE请求从该主机发送到每一个参与存储阵列的每一个控制器406。可将每一个接收PREPARE请求的参与存储阵列定义为从机。方法400可暂停到该LU成员的I/O并确定该时间戳是否符合在该从机写输入/输出(I/O)队列间隔内,当该从机接收到该PERPARE 请求时408。方法400可刷新在该写I/O队列间隔内早于该时间戳的每一个写1/0,当该时间戳符合在该写I/O队列间隔内时410。方法400可实施以下至少一个(a)创建该LU成员的快照,(b)恢复1/0,(c)将PERPARE状态记入永久存储器,或(d)将PERPARE-ACK消息发送到该主机412。方法400可进一步包括当该主机从每一个从机处接收到该PREPARE-ACK消息时, 从该主机处发出COMMIT请求到每一个从机。当每一个从机从该主机处接收到该COMMIT请求时,每一个从机可实施以下至少一个(a)将新状态记录到永久存储器,(b)释放代表整个处理所保持的锁定,(c)删除该LU成员的快照,或(d)将C0MMIT-ACK消息发送给该主机。 当该方法400的时间戳不符合在该写I/O队列间隔内时,该从机可将ABORT消息发送到永久存储器以及该从机将ABORT消息发送到该主机。方法400可进一步包括从该主机处发出 ROLLBACK消息给每一个从机,当该主机从至少一个从机处接收到该ABORT消息时。当每一个从机从该主机处接收到该ROLLBACK消息时,每一个从机可实施以下至少一个(a)将新状态记录到永久存储器,(b)释放代表整个处理所保持的锁定,(c)删除该LU成员的快照, 或(d)将R0LLBACK-ACK消息发送给该主机。方法400可进一步包括启动计时器,在方法 400的从该主机到每一个参与存储阵列的每一个控制器处发送PREPARE请求的步骤后可启动该计时器。方法400可进一步包括当该计时器在该主机从每一个从机处接收到响应之前到期时,将第一 ROLLBACK消息发送给每一个从机。方法400可进一步包括当该从机在发出该第一 ROLLBACK消息后发送PREPARE-ACK消息时,将第二 ROLLBACK消息发送给从机。在本发明中,所公开的方法可被实施为指令集或装置可读的软件。这样的软件包可以是计算机程序产品,其采用了计算机可读存储介质,该介质包括存储的计算机代码用来对计算机编程以实施本发明所公开的功能和过程。该计算机可读介质可包括,但不限于, 任意类型的常用软盘、光盘、CD-ROM、磁盘、硬盘、磁光盘、ROM、RAM、EPR0M、EEPR0M、磁或光卡、或任意其他适合存储电子指令的媒体。进一步地,应当理解,该方法中所公开的步骤的指定顺序或层次是示范性方式的实施例。基于设计偏好,应当理解,该方法中步骤的指定顺序或层次可重新设置而保留在所公开的主题内。该附属方法权利要求展现了按单个顺序的各个步骤的元件,并不必然地意味着将其限制于所展现的指定顺序或层次。应当相信,通过前述将理解本公开和许多其伴随的优点,以及应当清楚,其组件的形式、结构和布置可以进行不同的变化而不背离本公开主题或不牺牲所有其物质优点。所述的形式只是示例说明,下列权利要求的目的是包含和包括此类变化。
权利要求
1.一种方法,包括将一写输入/输出(I/O)队列间隔应用于一致性组(CG)的一逻辑单元(LU)成员,所述CG的所述LU成员驻留的一存储阵列是一参与存储阵列; 使用时间戳对每一个写I/O作标记;在该参与存储阵列从一主存储阵列接收一快照请求后暂停从该参与存储阵列到该CG 的该LU成员的1/0,该快照请求具有一快照请求时间戳;和确定该快照请求时间戳是否在该参与存储阵列的该写I/O队列间隔内, 其中当确定了该快照请求时间戳在该参与存储阵列的该写I/O队列间隔内时,该参与存储阵列执行以下至少一个(a)完成早于该快照请求时间戳的每一个写1/0,(b)创建该 CG的该LU成员的一本地快照,或(c)恢复I/O到该CG的该LU成员。
2.如权利要求1所述的方法,其中将一写I/O队列间隔应用于CG的一LU成员包括 按一先入先出(FIFO)顺序排列写I/O。
3.如权利要求1所述的方法,其中使用时间戳对每一个写I/O作标记包括 根据一分布式时钟同步机制同步该CG的每一个参与存储阵列。
4.如权利要求3所述的方法,其中该分布式时钟同步机制是一网络时间协议(NTP)。
5.如权利要求1所述的方法,其中将一写I/O队列间隔应用于CG的一LU成员包括 将该写I/O队列间隔表现为从当前时间到该队列中最早的写I/O的时间戳的时间间隔。
6.如权利要求1所述的方法,进一步包括在该CG的每一个参与存储阵列之间交换一测试消息以确定一往返延迟。
7.如权利要求6所述的方法,进一步包括使用该往返延迟确定该写I/O队列间隔的一最小时间间隔。
8.一种方法,包括在一致性组(CG)存储阵列的一控制器上启动CG快照,具有该控制器的该CG存储阵列被定义为一主机,该CG的一逻辑单元(LU)成员驻留的一存储阵列是一参与存储阵列; 记录该启动的CG快照的一时间戳;将一 PREPARE请求从该主机发送到每一个参与存储阵列的每一个控制器,将接收一 PREPARE请求的每一个参与存储阵列被定义为一从机;当该从机接收该PERPARE请求时,暂停到该LU成员的I/O并确定该时间戳是否在该从机的写输入/输出(I/O)队列间隔内;当该时间戳在该写I/O队列间隔内时,刷新在该写I/O队列间隔内早于该时间戳的每一个写I/O ;和实施以下至少一个(a)创建该LU成员的快照,(b)恢复1/0,(c)将一 PERPARE状态记录入一永久存储器,或(d)将一 PERPARE-ACK消息发送到该主机。
9.如权利要求8所述的方法,进一步包括当该主机从每一个从机接收该PERPARE-ACK 消息时,从该主机将一 COMMIT请求发送到每一个从机。
10.如权利要求9所述的方法,其中当每一个从机从该主机接收到该COMMIT请求时,每一个从机执行以下至少一个(a)将一新状态记录到一永久存储器,(b)释放代表整个处理所保持的锁定,(c)删除该LU成员的该快照,或(d)将一 C0MMIT-ACK消息发送给该主机。
11.如权利要求8所述的方法,其中当该时间戳不在该写I/O队列间隔内时,该从机将一 ABORT消息记录到一永久存储器并且该从机发送一 ABORT消息到该主机。
12.如权利要求11所述的方法,进一步包括当该主机从至少一个从机接收该ABORT消息时从该主机发出一 ROLLBACK消息给每一个从机,其中当每一个从机从该主机接收该ROLLBACK消息时,每一个从机执行以下至少一个 (a)将一新状态记录到一永久存储器,(b)释放代表整个处理所保持的锁定,(c)删除该LU 成员的该快照,或(d)将一 R0LLBACK-ACK消息发送给该主机。
13.如权利要求8所述的方法,进一步包括启动一计时器,该计时器在所述的将一 PREPARE请求从该主机发送到每一个参与存储阵列的每一个控制器的步骤之后被启动。
14.如权利要求13所述的方法,进一步包括当该计时器在该主机从每一个从机接收一响应之前到期时,发送一第一 ROLLBACK消息给每一个从机。
15.如权利要求14所述的方法,进一步包括当该第一ROLLBACK消息被发送后一从机发送一 PREPARE-ACK消息时,将一第二 ROLLBACK消息发送给该从机。
16.一种计算机可读介质,其具有计算机可执行指令以实施一方法,所述方法包括 将一写输入/输出(I/O)队列间隔应用于一致性组(CG)的一逻辑单元(LU)成员,该CG的该LU成员驻留的一存储阵列是一参与存储阵列; 使用时间戳对每一个写I/O作标记;在该参与存储阵列从一主存储阵列接收一快照请求后暂停从该参与存储阵列到该CG 的该LU成员的1/0,该快照请求具有一快照请求时间戳;和确定该快照请求时间戳是否在该参与存储阵列的该写I/O队列间隔内, 其中当确定了该快照请求时间戳在该参与存储阵列的该写I/O队列间隔内时,该参与存储阵列执行以下至少一个(a)完成早于该快照请求时间戳的每一个写1/0,(b)创建该 CG的该LU成员的一本地快照,或(c)恢复I/O到该CG的该LU成员。
17.如权利要求16所述的计算机可读介质,其中将一写I/O队列间隔应用于CG的一 LU成员包括按一先入先出(FIFO)顺序排列写I/O。
18.如权利要求16所述的计算机可读介质,其中将一写I/O队列间隔应用于CG的一 LU成员包括将该写I/O队列间隔表现为从当前时间到该队列中最早的写I/O的时间戳的一时间间隔。
19.如权利要求16所述的计算机可读介质,进一步包括在该CG的每一个参与存储阵列之间交换一测试消息以确定一往返延迟。
20.如权利要求19所述的计算机可读介质,进一步包括使用该往返延迟确定该写I/O 队列间隔的一最小时间间隔。
全文摘要
一种实施多阵列一致性组的方法,包括将写输入/输出(I/O)队列间隔用于一致性组(CG)的逻辑单元(LU)成员。该方法同样包括使用时间戳来标记每一个写I/O,并在该参与存储阵列从主存储阵列接收快照请求后暂停从该参与存储阵列到该CG的LU成员的I/O。该方法进一步包括确定该快照请求时间戳是否在该参与存储阵列的写I/O队列间隔内。
文档编号G06F13/00GK102239479SQ200980148789
公开日2011年11月9日 申请日期2009年1月23日 优先权日2008年12月18日
发明者马丁·杰斯 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1