CN101086714B - 用于实施远程镜像操作的系统和方法 - Google Patents

用于实施远程镜像操作的系统和方法 Download PDF

Info

Publication number
CN101086714B
CN101086714B CN2007101085666A CN200710108566A CN101086714B CN 101086714 B CN101086714 B CN 101086714B CN 2007101085666 A CN2007101085666 A CN 2007101085666A CN 200710108566 A CN200710108566 A CN 200710108566A CN 101086714 B CN101086714 B CN 101086714B
Authority
CN
China
Prior art keywords
session
storage volume
volume group
threads
thread
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.)
Expired - Fee Related
Application number
CN2007101085666A
Other languages
English (en)
Other versions
CN101086714A (zh
Inventor
M·L·塔恩
S·B·科迪
S·达斯
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 CN101086714A publication Critical patent/CN101086714A/zh
Application granted granted Critical
Publication of CN101086714B publication Critical patent/CN101086714B/zh
Expired - Fee Related 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/2064Error 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 while ensuring consistency
    • 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/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

Abstract

一种用于创建和管理多个虚拟化远程镜像会话一致性组的系统和方法被提供。所述系统和方法提供了一种机制,该机制用于虚拟化远程镜像存储系统的单一物理会话,使得用户能够创建和管理多个虚拟会话,就如同它们是属于不同物理会话的存储卷一样。通过说明性实施例的所述机制,故障转移和故障回复操作可以关于第一虚拟会话组实施,而其它虚拟会话继续不被中断。由此,用户被提供了通过选择性故障转移操作将所选应用生产工作量从生产站点临时移动到恢复站点、而其它应用可以在所述生产站点上继续运行的灵活性。随后,所述被故障转移的应用可以故障回复到所述生产站点并重新加入所述物理会话。

Description

用于实施远程镜像操作的系统和方法
技术领域
本申请一般涉及一种改进的数据处理系统和方法。更具体地,本申请涉及一种用于创建和管理多个虚拟化远程镜像会话一致性分组的系统和方法。
背景技术
随着现在企业正日益更依赖于用于维护及使用商业相关信息的计算和存储系统,灾难恢复是相当重要的。由此,许多不同的灾难恢复机制已被设计用于帮助确保甚至在企业和个人的存储系统故障的情况下企业和个人对其数据的访问能力。
已开发的一种所述灾难恢复机制是可从纽约Armonk的国际商业机器公司购买的Global MirrorTM灾难恢复解决方案,其可用于IBM的企业存储设备上,所述企业存储设备包括DS8100、DS8300、DS6800、ESS模型800和ESS模型750。
Global MirrorTM提供了一种使用异步技术跨两个站点的长距远程拷贝解决方案。所述Global MirrorTM解决方案提供了在不影响整体性能的情况下在跨更长距离的存储单元卷对之间镜像数据的能力。GlobalMirrorTM还被设计为在本地站点出现灾难的情况下在恢复(或远程)站点提供应用一致数据。通过每几秒创建一组远程卷,所述Global MirrorTM解决方案解决了当大型数据库和卷跨越多个存储单元时可能被创建的一致性问题。通过Global MirrorTM,位于所述远程站点的数据被保持为位于本地站点的数据的时间点一致拷贝。
Global MirrorTM基于现有的拷贝服务功能Global CopyTM
Figure S071A8566620070615D000021
。Global MirrorTM操作在不干扰对源卷的I/O的情况下在规则的间隔周期性地在恢复站点调用时间点操作,由此给出持续更新的、接近最新的数据备份。然后,通过将许多卷分组为由主存储单元管理的会话,可以同时将多个卷拷贝到所述恢复站点,并且同时保持跨所述这些卷的时间点一致性。
在所述Global MirrorTM解决方案中,所述主存储单元控制GlobalMirrorTM会话中的一致性分组的创建。所述主存储单元向从属存储单元发送命令。一个存储单元被允许作为仅一个Global MirrorTM会话的主存储单元。
所述从属存储单元接收来自主存储单元的命令。所述从属存储单元当Global MirrorTM会话开始时被标识。所述从属存储单元构成一致性分组并实施其它Global MirrorTM处理。从属存储单元可以仅受一个主存储单元控制。
会话是跨多个存储单元的卷的集合,其中,所述多个存储单元被一起管理以创建数据的一致拷贝。所述会话用企业间唯一的ID来标识。所述ID标识了将参与到所述Global MirrorTM一致性分组之中的卷。对于灾难恢复,要求对于恢复必要的会话中的卷一直到故障时刻都是一致的。如果这些卷上的数据被失序拷贝,则使用这些卷的恢复过程变得无用。
当多于一个存储单元参与到所述Global MirrorTM会话之中时,控制路径被从所述主存储单元到从属存储单元建立。独立的控制路径可以在每个主存储单元与其对应的从属存储单元的每个之间被提供。所述主存储单元使用所述定义的控制路径直接与其从属存储单元通信。
活动的Global MirrorTM会话中的自动循环按照如下工作以保持位于远程站点的数据是位于本地站点的数据的时间点一致拷贝。首先,卷的一致性分组在所述本地站点创建。一致数据的增量被发送到所述远程站点,并且在所述远程站点实施
Figure S071A8566620070615D000023
操作。然后在所述本地和远程站点之间恢复Global Copy操作以拷贝不同步轨迹。这些步骤根据已定义的时间间隔进行重复。
目前,所述Global MirrorTM解决方案仅允许每物理存储控制单元(即用于存储子系统的控制处理器)一次运行一个物理会话。这大大降低了对于企业的商业灵活性,所述企业可能在一个存储控制单元上拥有有时具有不同服务级协议的多个应用。即,由于每物理存储控制单元仅允许运行一个物理会话,如果用户期望对特定一组卷的按计划的故障转移(failover)或故障回复(failback)操作,则所述故障转移或故障回复操作必须与由该物理存储控制单元控制的所有存储卷、以及由此利用该物理存储控制单元的所有应用有关地实施。
因此,即使所述故障转移或故障回复操作可能被期望用于仅一个应用的存储卷,但所有存储卷和应用必须进行所述故障转移或故障回复操作。由此,具有这样的机制将是有益的,该机制允许在远程镜像存储系统的一个物理会话中关联于单一应用的各个存储卷或各个存储卷组经受故障转移或故障回复操作,其中,所述远程镜像存储系统例如是基于GlobalMirrorTM的存储系统。
发明内容
说明性实施例提供了这样一种机制,所述机制用于虚拟化例如基于Global MirrorTM的存储系统的远程镜像存储系统的单一物理会话,使得用户能够创建和管理多个虚拟会话,就如同它们是属于不同物理会话的存储卷一样。通过说明性实施例的所述机制,例如故障转移和故障回复操作的远程镜像操作可以关于第一虚拟会话组实施,而其它虚拟会话继续不被中断。由此,用户被提供了通过选择性故障转移操作将所选应用生产工作量从生产站点临时移动到恢复站点、而其它应用可以继续运行在所述生产站点的灵活性。随后,所述被故障转移的应用可以故障回复到所述生产站点并且重新加入该物理会话中。
通过该说明性实施例,尽管可能通过对于每个存储控制单元的设计而存在仅一个活动物理会话,但属于该物理会话的所有卷可以根据用户想要单独控制的每个独立应用而被分隔为组。为生成针对每个独立应用的虚拟会话组,确定主卷、辅卷、卷、控制路径信息和每个虚拟会话组的会话参数的会话策略文件被创建。虚拟会话需要源与目标卷(即生产站点卷与恢复站点卷)之间的不同控制路径关系,并且,所述会话参数在所有会话中相同,即会话标识符、一致性组间隔、最大一致性组消耗时间、最大协调定时器、主服务器等。
所述会话策略文件然后被转换成会话数据对象,其中所述会话数据对象的每个包含到对应的存储控制单元的连接对象、路径连接对象,以及代表关联于该存储控制单元的物理存储设备的卷对象。包含所有子会话对象的单个统一最高会话对象被提供。该最高会话对象代表针对所述存储控制单元的真实物理会话。
为协调所述相同的单个物理会话中的多个虚拟会话,操作线程组(OTG)、任务指令指针(TIP)和唯一会话标识符(USI)被提供。对于特定虚拟会话的每个远程镜像操作(例如故障转移或故障回复),所有会话将作为属于一个线程组(即所述OTG)的线程操作。
所述任务指令指针(TIP)是对于所述OTG的全局指针。所述TIP由独立线程当其在操作中的特定步骤完成之后进行更新。为保持所述物理会话的完整性和一致性,重要的是,不允许任何单个线程在整个TIP被所述OTG中的每个线程成功更新之前进行。可选地,如果所述TIP的更新不成功,则每个线程不得不等待,直到所述更新成功,或校正动作被执行以校正失效步骤并且特定线程的特定失效步骤被成功地重新执行。如果线程操作基于其唯一会话标识符要求“跳过”某些步骤,则该特定线程将把所述TIP更新为“成功”,以便所述OTG进行到下一步骤。
所述OTG中的每个线程被分配了基于用户会话选择的唯一会话标识符(USI)以通过所述远程镜像操作。所述USI的目的是允许每个线程不同地执行并且响应所述远程镜像操作的每个步骤,例如,确定是否更新或寻找TIP来执行其之后的步骤。
由此,所述USI允许独立线程对例如故障转移或故障回复操作的远程镜像操作的每个步骤执行单独的动作。所述TIP被用于提供所述OTG的各个线程之间的一致性,从而不允许任何线程在所述OTG中的所有其它线程准备前进到其各自在虚拟会话操作中的下一动作之前前进到虚拟会话操作中的下一动作。由此,所述TIP负责保持所述物理会话的一致性,而所述USI负责允许每个线程与所述OTG中的其它线程不同地运行。所述策略对象、连接对象和卷对象以及这两种机制的组合允许存储控制单元的物理会话中的独立虚拟会话独立于该物理会话中的其它虚拟会话进行镜像操作。因此,关联于独立应用的卷可以进行远程镜像操作,而关联于其它独立应用的其它卷可以继续运行,而不进行所述远程镜像操作。
在一说明性实施例中,包括具有计算机可读程序的计算机可用媒介的计算机程序产品被提供。所述计算机可读程序当在计算设备上执行时可以使得该计算设备建立针对关联于该计算设备的存储控制单元的物理会话。所述物理会话可以包括多个存储卷组。所述计算机可读程序可以进一步使得该计算设备在所述物理会话中建立对于每个所述存储卷组的虚拟会话。所述计算机可读程序可以进一步使得该计算设备关于所述存储卷组中的一个,选择性地实施所述计算设备与第二计算设备之间的远程镜像操作,而对所述多个存储卷组中的其它存储卷组不进行所述远程镜像操作。所述远程镜像操作可以是例如故障转移操作或故障回复操作中的一个。
所述远程镜像操作可以包括:关联于运行在所述计算设备上的应用实例的第一存储卷中的应用数据到关联于所述第二计算设备的存储系统的第二存储卷的对等远程拷贝操作。
所述计算机可读程序可以进一步使得所述计算设备接收会话策略文件。所述会话策略文件可以包括标识所述物理会话和所述存储卷组的参数。所述计算机可读程序可以进一步使得所述计算设备生成对于每个所述存储卷组的虚拟会话对象,以由此建立对于每个所述存储卷组的虚拟会话。所述虚拟会话对象可以包括用于连接到特定存储控制单元的连接对象、基于针对所述会话策略文件中确定的卷组的控制路径信息生成的路径连接对象,以及针对作为如所述会话策略文件中所确定的虚拟会话的一部分的所述卷中的每个卷的卷对象。
所述计算机可读程序可以进一步使得所述计算设备基于所述会话策略文件生成物理会话对象。所述物理会话对象可以包括所述虚拟会话对象、操作线程组(OTG)和任务指令指针(TIP)。所述OTG可以包括多个线程:每个虚拟会话对象一个线程并且针对所述物理会话对象有一主线程。每个线程可以具有用于区别所述虚拟会话和所述物理会话的唯一会话标识符。
所述计算机可读程序可以使得所述计算设备选择性地执行远程镜像操作,其是通过:使用所述OTG中的多个线程执行所述远程镜像操作的操作,以及使用所述多个线程中的线程的唯一会话标识符协调所述远程镜像操作的操作的执行,使得一个存储卷组实施所述远程镜像操作,而其它存储卷组不实施所述远程镜像操作。所述计算机可读程序可以进一步使得所述计算设备由所述OTG的独立线程在所述远程镜像操作中的相应线程的操作完成之后更新所述TIP。所述计算机可读程序可以进一步使得所述计算设备直到所述OTG中的所有线程已更新所述TIP从而指示其当前操作的成功完成之前,防止所述OTG中的线程的执行继续到下一操作。
所述远程镜像操作可以是故障转移操作。作为该故障转移操作的一部分,所述OTG的多个线程中的物理会话线程可以暂停该物理会话,以及所述OTG的多个线程中的第一虚拟会话线程可以发起从关联于该第一虚拟会话线程的存储卷组到关联于所述第二计算设备的存储卷组的故障转移。所述物理会话线程可以从所述物理会话对象中移除关联于所述第一虚拟会话线程的存储卷组,并且可以恢复关联于该物理会话的其它虚拟会话的其它存储卷组的操作。
所述计算设备和第二计算设备可以在拓扑上彼此位于远程。所述计算设备和第二计算设备也可以在地理上彼此位于远程。
在另一说明性实施例中,一种数据处理系统被提供,其用于实施该数据处理系统与另一数据处理系统之间的远程镜像操作。所述数据处理系统可以包括处理器和耦合到该处理器的存储器。所述存储器可以包含这样的指令,所述指令当被所述处理器执行时使得该处理器实施上面关于所述计算机程序产品说明性实施例概述的操作中的各个操作或其组合。
在又一说明性实施例中,一种用于实施生产站点系统和恢复站点系统之间的远程镜像操作的方法被提供。所述方法可以包括:建立对于关联于所述生产站点系统的存储控制单元的物理会话。所述物理会话可以包括多个存储卷组。所述方法可以进一步包括:在所述物理会话中建立对于每个所述存储卷组的虚拟会话。可以关于所述存储卷组中的一个,选择性地实施所述生产站点系统与所述恢复站点系统之间的所述远程镜像操作,而对所述多个存储卷组中的其它存储卷组不进行所述远程镜像操作。所述方法可以进一步包括上面关于所述计算机程序产品说明性实施例概述的操作中的各个操作或其组合。
在再一说明性实施例中,一种提供数据镜像服务的方法被提供。所述方法可以包括:提供生产站点计算设备或恢复站点计算设备中的一个或更多,以及提供在所述一个生产站点计算设备或所述恢复站点计算设备中的至少一个上的数据镜像服务应用软件。所述数据镜像服务应用软件可以建立对于关联于所述一个或更多生产站点计算设备的存储控制单元的物理会话。所述物理会话可以包括多个存储卷组。
所述数据镜像服务应用软件可以进一步在所述物理会话中建立对于每个所述存储卷组的虚拟会话。所述数据镜像服务应用软件也可以关于所述存储卷组中的一个,选择性地实施生产站点计算设备和恢复站点计算设备之间的远程镜像操作,而对所述多个存储卷组中的其它存储卷组不进行该远程镜像操作。
本发明的这些和其它特征和优点将在下面对本发明的示例性实施例的详细描述中被描述,或者将由于下面对本发明的示例性实施例的详细描述而变得对于本领域的普通技术人员显而易见。
附图说明
本发明中被确信为新颖特征的特型在权利要求中被阐明。然而,通过参考下面对说明性实施例的详细描述并当结合附图阅读时,本发明本身以及其优选使用模式、另外的目的和优点将被最好地理解,在附图中:
图1是说明在其中说明性实施例的示例性方面可以被实现的分布式数据处理环境的示例图;
图2是在其中说明性实施例的示例性方面可以被实现的数据处理设备的示例框图;
图3是说明根据说明性实施例的远程镜像操作的示例图;
图4是根据一说明性实施例的会话策略文件的示例;
图5是说明根据一说明性实施例基于会话策略文件生成的对象之间的关系的示例图;
图6是说明根据一说明性实施例的镜像操作的示例图;
图7是说明根据一说明性实施例的对于虚拟会话的故障转移操作的各个步骤的示例图;以及
图8是概述了根据说明性实施例的示例性故障转移操作的流程图。
具体实施方式
说明性实施例提供了这样的机制,该机制用于虚拟化远程镜像系统中的物理会话,使得各个应用卷可以独立于该物理会话中的其它应用卷而进行远程镜像操作。说明性实施例优选用远程镜像系统实现,例如可从纽约Armonk的国际商业机器公司购买的Global MirrorTM。这样,说明性实施例优选用分布式数据处理系统实现,其中,位于生产站点的应用卷被复制到位于远程的恢复站点。尽管说明性实施例将根据与所述Global MirrorTM远程镜像系统一起使用被描述,但应当理解,说明性实施例不限于与Global MirrorTM一起使用,并且其可以与当前已知或可能随后被开发的任意远程镜像系统一起使用。
通过“位于远程”,其是指所述生产站点在拓扑上位于一个或更多通信网络上的所述恢复站点的远程。拓扑上位于远程的恢复站点在所述生产站点的存储区域网络(SAN)或服务器集群的外部。拓扑上位于远程的恢复站点可以在拓扑上位于远程的同时在地理上也位于远程,但这不是必须的。
现在参考附图,并且具体通过参考图1-2,在其中说明性实施例可以被实现的数据处理环境的示例图被提供。应当理解,图1-2仅是示例性的,并且并非意在断言或暗示关于在其中本发明的各方面或实施例可以被实现的环境的任意限制。在不脱离本发明的精神和范围的情况下,可以作出对所描述的环境的许多修改。
现在参考附图,图1描述了在其中说明性实施例的各方面可以被实现的示例性分布式数据处理系统的图形表述。分布式数据处理系统100可以包括在其中说明性实施例的实施例可以被实现的计算机网络。所述分布式数据处理系统100包含至少一个网络102,该网络是用于提供分布数据处理系统100中连接到一起的各个设备和计算机之间的通信链路的媒介。所述网络102可以包括例如有线、无线通信链路或光缆的连接。
在所描述的示例中,服务器104和服务器106连同存储单元108一起连接到网络102。另外,客户端110、112和114也连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计算机等等。在所描述的示例中,服务器104向客户端110、112和114提供例如引导文件、操作系统图像和应用的数据。客户端110、112和114在所描述的示例中是服务器104的客户端。分布式数据处理系统100可以包括另外的服务器、客户端和其它未示出的设备。
在所描述的示例中,分布式数据处理系统100是具有网络102的因特网,其代表使用传输控制协议/因特网协议(TCP/IP)协议组来相互通信的网络和网关的全世界集合。在因特网的中心是主节点或主机之间的高速数据通信线路的骨干,其由路由数据和消息的数千个商业、政府、教育和其它计算机系统组成。当然,所述分布式数据处理系统100可以还被实现为包括许多不同类型的网络,例如内联网、局域网(LAN)、广域网(WAN)等等。如上面所陈述的,图1意在作为示例,而不是对本发明的不同实施例的体系结构限制,并且因此,图1中所示的特定单元不应当被认为是限制了在其中本发明的说明性实施例可以被实现的环境。
现在参考图2,在其中所述说明性实施例的各方面可以被实现的示例性数据处理系统的框图被示出。数据处理系统200是例如图1中的服务器104或客户端110的计算机的示例,实现用于本发明的说明性实施例的过程的计算机可用代码或指令可以位于其中。
在所描述的示例中,数据处理系统200使用包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204的集线器体系结构。处理单元206、主存储器208和图形处理器210被连接到NB/MCH202。图形处理器210可以通过加速图形端口(AGP)连接到NB/MCH202。
在所描述的示例中,局域网(LAN)适配器212连接到SB/ICH204。音频适配器210、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232以及PCI/PCIe设备234通过总线238和总线240连接到SB/ICH204。PCI/PCIe设备可以包括例如以太网适配器、内插卡和用于笔记本电脑的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以是例如闪速二进制输入/输出系统(BIOS)。
HDD226和CD-ROM驱动器230通过总线240连接到SB/ICH204。HDD226和CD-ROM驱动器230可以使用例如集成驱动器电子电路(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以被连接到SB/ICH204。
操作系统运行在处理单元206上。所述操作系统协调并提供对图2中的所述数据处理系统200中的各个部件的控制。作为客户端,所述操作系统可以是例如
Figure S071A8566620070615D000101
Figure S071A8566620070615D000102
XP(Microsoft和Windows是微软公司在美国、其它国家或这两者中的商标)的可购买到的操作系统。例如JavaTM编程系统的面向对象编程系统可以结合所述操作系统运行,并且提供从在数据处理系统200上执行的JavaTM程序或应用对所述操作系统的调用(Java是Sun Microsystems公司在美国、其它国家或这两者中的商标)。
作为服务器,数据处理系统200可以是例如运行高级交互式执行体
Figure S071A8566620070615D000111
操作系统或
Figure S071A8566620070615D000112
操作系统的
Figure S071A8566620070615D000113
eServerTM
Figure S071A8566620070615D000114
计算机系统(eServer、pSeries和AIX是国际商业机器公司在美国、其它国家或这两者中的商标,而LINUX是Linus Torvalds美国、其它国家或这两者中的商标)。数据处理系统200可以是包括处理单元206中的多个处理器的对称多处理器(SMP)系统。可选地,单一处理器系统可以被使用。
用于所述操作系统、所述面向对象编程系统和应用或程序的指令位于例如HDD226的存储设备上,并且可以被装载到主存储器208中以由处理单元206执行。用于本发明的说明性实施例的过程可以由处理单元206使用计算机可用程序代码实施,其中,所述计算机可用程序代码可以位于例如主存储器208、ROM224的存储器中,或者一个或更多外围设备例如226和230中。
例如图2中所示的总线238或总线240的总线系统可以包括一个或更多总线。当然,所述总线系统可以使用任意类型的通信结构或体系结构来实现,其中,所述通信结构或体系结构提供被附接到该结构或体系结构的不同部件或设备之间的数据传输。例如图2的调制解调器222或网络适配器212的通信单元可以包括一个或更多用于传送和接收数据的设备。存储器可以例如是主存储器208、ROM224、或在图2中NB/MCH202中可找到的高速缓存。
本领域的普通技术人员将理解,图1-2中的所述硬件可以取决于实现而改变。除图1-2中所描述的硬件之外或取代其,可以使用例如闪速存储器、等价非易失性存储器或光盘驱动器等其它内部硬件或外围设备。同样,在不脱离本发明的精神和范围的情况下,说明性实施例的过程可以被应用于除之前提到的SMP系统之外的多处理器数据处理系统。
此外,所述数据处理系统200可以采用许多不同数据处理系统中任一个的形式,所述不同数据处理系统包括客户端计算设备、服务器计算设备、平板式计算机、膝上型计算机、电话或其它通信设备、个人数字助理(PDA)等。在某些说明性示例中,数据处理系统200可以是被配置了闪速存储器以提供用于存储例如操作系统文件和/或用户生成数据的非易失性存储器的便携式计算设备。基本上,数据处理系统200可以是任意已知或随后被开发的数据处理系统,而没有体系结构限制。
在上面说明性分布式数据处理系统的上下文中,通过该说明性实施例,第一服务器或服务器组可以提供用于电子商务企业的一个或更多应用。所述服务器可以具有拥有一个或更多存储控制单元的关联存储系统,在所述关联存储系统中,对应于所述应用的数据被存储在该存储系统的各个卷中。除提供用于电子商务企业的应用的“生产站点”的这些服务器之外,第二服务器或服务器组在拓扑上并且可能在地理上位于一个或更多通信网络中的远程位置被提供。这些第二服务器可以具有关联存储系统,其中,应用数据可以被作为远程镜像操作的一部分存储到所述关联存储系统。由此,这些第二服务器提供了“恢复站点”,用于存储用于运行在所述生产站点上的应用的故障转移和故障回复恢复的应用数据。
典型地,在已知远程镜像操作中,因为存储控制单元可以仅具有单一物理会话,所以当该远程镜像操作将被实施时,其对于由存储控制卷管理的所有卷实施。图3是说明根据一说明性实施例的远程镜像操作的示例图。在所描述的示例中,Global MirrorTM产品(也被称为PPRC-XD)被用于实施所述远程镜像操作,所述远程镜像操作在该例中是对等远程拷贝操作。Global MirrorTM是允许从一个站点(被称为生产站点)到第二站点(被称为恢复站点)对应用系统数据进行投影(shadow)的企业存储服务器(ESS)功能。位于生产站点的保存所述ESS中的数据的逻辑卷被称为主卷,并且位于恢复站点的保存所镜像的数据的对应逻辑卷被称为辅卷。在一说明性实施例中,所述生产和恢复站点ESS之间的连接可以使用企业系统连接(ESCON)链路来提供。
图3说明了当在同步模式下运行Global MirrorTM(PPRC-SYNC)时写操作的顺序。如图3中所示,在该同步类型操作中,对所述生产站点主卷320完成的更新被同步地投影到位于所述恢复站点的辅卷330上。因为这是同步解决方案,所以在所述写被认为对于运行在计算设备310上的应用已完成之前,在两个拷贝(主和辅)上确保写更新。
因为,在PPRC-SYNC操作中,所述应用在更新同时在主和辅卷320和330中同步完成之前不会获得“写完成”条件,因此从应用的视角,位于所述恢复站点辅卷330的数据是总是与位于所述主卷320的数据一致的实时数据。
该特性的一种含义在于,在正常PPRC-SYNC操作中,相关写以与其被应用于主卷320的相同的顺序应用于辅卷330。从应用一致性的视角,这在进行恢复时是非常重要的。PPRC-SYNC在不需要周期性地中断应用以建立一致性检查点的情况下可以提供在所述恢复站点的持续的数据一致性。从应用的视角,这是总是在所述恢复站点具有有效数据的非中断方式。
尽管在图3中说明了同步PPRC操作,但是应当理解,该说明性实施例的机制可以同样应用于同步和异步远程拷贝操作。在异步远程拷贝操作中,所述“写完成”可以在数据在辅卷330中被提交之前从主卷320返回。
如从图3中显而易见的,通过例如由Global MirrorTM或PPRC-XD产品提供的已知远程镜像系统,关联于存储控制单元的物理会话的所有应用数据和元数据必须进行所述远程镜像操作。不存在下述能力,即,选择例如关联于单一应用实例的数据和元数据的所述应用数据和元数据的子集、以及对于该应用数据和元数据的子集实施所述远程镜像操作。
所述说明性实施例提供了这样的机制,该机制用于将物理会话虚拟化为可以被用于在所选应用卷上独立实施远程镜像操作的多个虚拟会话。由此,通过说明性实施例的所述机制,例如故障转移和故障回复操作的远程镜像操作可以对于虚拟会话的第一子集实施,而其它虚拟会话继续不被中断。因此,向用户提供了通过选择性故障转移操作将所选应用生产工作流从生产站点临时移动到恢复站点而其它应用可以继续在所述生产站点运行的灵活性。随后,那些被故障转移的应用可以故障回复到所述生产站点并且重新加入该物理会话。
通过所述说明性实施例,尽管可能通过对于每个存储控制单元的设计而存在仅一个活动物理会话,但属于该物理会话的所有卷可以根据用户想要单独控制的每个独立应用而分隔为组。为生成针对每个独立应用的虚拟会话组,确定用于所述组的主卷、辅卷、
Figure S071A8566620070615D000141
卷、控制路径信息和会话参数的会话策略文件被创建。虚拟会话需要源和目标卷(即生产站点卷和恢复站点卷)之间的不同控制路径关系,并且所述会话参数在所有会话中相同。通过所述会话策略文件,这些不同控制路径、不同组和用于所述组的其它会话参数被确定。
图4是根据一说明性实施例的会话策略文件的示例。图4中所示的该示例性会话策略文件以可扩展标记语言(XML)格式提供,然而所述说明性实施例不限于此。相反,在不脱离本发明的精神和范围的情况下,所述会话策略文件可以以包括其它标记语言格式和非标记语言格式的任意合适的格式被提供。
如图4中所示,所述会话策略文件的第一部分410标识了存储服务器,例如将被用于异步对等远程拷贝(PPRC)操作的“专家(sharks)”或企业存储系统(ESS)。所述PPRC操作是将应用数据的卷从生产站点拷贝到拓扑上位于远程的恢复站点的远程镜像操作。Global MirrorTM是所述PPRC操作的一个示例。
所述会话策略文件的第二部分420标识了将被用于实施所述远程镜像操作的生产站点和恢复站点之间的控制路径。在所描述的示例中,针对作为所述物理会话的一部分的两个不同卷组中的每个,定义两个单独的控制路径。
所述会话策略文件的第三部分430标识了所述物理会话的会话标识符和其它参数,包括会话标识符、一致性组间隔、最大一致性组消耗时间、最大协调定时器、主存储单元(即主lss)等。所述第三部分430中的这些会话参数应用于该会话策略文件中确定的所有卷组。
所述会话标识符是代表物理会话的唯一编号,其中,所述物理会话代表当创建卷的一致拷贝时被一起管理的存储卷的集合。该存储卷的集合可以驻留在一个域中的一个或更多逻辑存储子系统(LSS)和一个或更多企业存储系统(ESS)中。物理会话必须对于参与所述PPRC环境的每个LSS打开。如果对于LSS打开一会话,则其意味着来自该LSS的卷可以被添加到该物理会话。
所述一致性组间隔(cginterval)参数是用于形成一致性组以便维持所述数据的全局一致性的时间。所述最大消耗时间(maxdraintime)参数是最大一致性组消耗时间。所述最大协调间隔(maxcoordinateinterval)参数是最大协调定时器。所述主lss参数是控制其它LSS的所述主ESS中的LSS。所述主LSS是用于与从属ESS通信以控制一致性组的创建和管理所述物理会话的ESS内部的功能的术语。所述主LSS在开始/恢复物理会话命令被发出给该主ESS中的LSS时被定义。
在所述会话策略文件的第四部分440中,用于所述物理会话的卷组被确定。如图4中所示,两个单独的卷组被标识为卷“关系(relationships)”。这些单独卷组可以关联于例如所述产品站点中被提供给特定用户或企业实体的不同应用或应用实例。
例如图4中所示的独立会话策略文件可以例如通过使用XML解析器来解析,并且被转换成独立会话数据对象,其中,所述会话数据对象的每个包含到对应存储控制单元的连接对象、路径连接对象和代表关联于该存储控制单元的物理存储设备的卷对象。所述会话策略文件的第四部分440中确定的每个卷组可以是用于生成对于虚拟会话的单独会话数据对象的基础。单个统一最高会话对象也可以被提供,其包含所有虚拟会话数据对象,即“子会话”对象。该最高会话对象代表针对所述存储控制单元的真实物理会话。
图5是说明根据一说明性实施例的基于会话策略文件生成的对象之间的关系的示例图。如图5中所示,根据所述会话策略文件,代表所述存储控制单元的实际物理会话的物理会话对象510被提供。所述物理会话对象510包含根据所述会话策略文件中的卷组定义生成的虚拟会话对象520和530。这些虚拟会话对象520和530的每个具有用于连接到特定存储控制单元的关联连接对象522和532,以及基于对于所述会话策略文件中确定的卷组的控制路径信息生成的路径连接对象524和534。另外,所述虚拟会话对象520和530还具有用于作为所述虚拟会话的一部分的卷的每个的卷对象526和536。
图5中所示的各个对象被说明性实施例的所述机制用于控制关于例如独立应用或应用实例的独立卷组的远程镜像操作的性能。通过这些对象,独立卷组可以进行远程镜像操作,而同一物理会话中的其它卷组可以保持不变。由此,独立应用可以进行远程镜像操作,而位于所述生产站点的其它应用被允许继续运行而不受所述远程镜像操作的干扰。
通过图5中所示的对象,所述物理会话对象510包括操作线程组(OTG)512和任务指令指针(TIP)514。所述OTG 512中的独立线程具有用于区分虚拟会话的相关联的唯一会话标识符(USI)。所述OTG 512、TIP514和USI被说明性实施例的所述机制用于协调同一单个物理会话中的多个虚拟会话。
通过所述说明性实施例,对于例如特定虚拟会话的故障转移或故障回复的每个远程镜像操作,所有虚拟会话将被作为属于同一单个线程组(即所述OTG512)的线程操作。
所述任务指令指针(TIP)514是对于所述OTG512的全局指针。所述TIP514由独立线程当其在远程镜像操作中的特定步骤完成之后进行更新。为维持所述物理会话的完整性和一致性,重要的是,不允许任何单一线程在整个TIP514被所述OTG512中的每个线程成功更新之前进行。可选地,如果TIP514的更新不成功,则每个线程不得不等待,直到TIP514的所述线程更新成功,或校正动作被执行以校正失效步骤并且特定线程的特定失效步骤被成功地重新执行。如果线程操作基于其唯一会话标识符(USI)要求“跳过”某些步骤,则该特定线程将把所述TIP514更新为“成功”,以便所述OTG512进行到下一步骤。
所述OTG512中的每个线程被分配了基于用户会话选择的唯一会话标识符(USI)以通过所述故障转移或故障回复操作。所述USI的目的是允许每个线程不同地执行或响应所述远程镜像操作的每个步骤,例如确定是否更新或寻找所述TIP514来执行其之后的步骤。
由此,所述USI允许独立线程对例如故障转移或故障回复操作的远程镜像操作的每个步骤实施单独的动作。所述TIP514被用于提供OTG512的各个线程之间的一致性,从而不允许任何线程在OTG512中的所有其它线程准备前进到其各自在远程镜像操作中的下一步骤之前前进到远程镜像操作中的下一步骤。由此,所述TIP514负责维持物理会话的一致性,而所述USI负责允许每个线程与所述OTG512中的其它线程不同地运行。所述策略对象、连接对象和卷对象以及这两种机制的组合允许存储控制单元的物理会话中的独立虚拟会话独立于该物理会话中的其它虚拟会话进行远程镜像操作。因此,关联于独立应用的卷可以进行远程镜像操作,而关联于其它独立应用的其它卷可以继续运行,而不进行所述远程镜像操作。
图6是说明根据一说明性实施例的远程镜像操作的示例图。如图6中所示,所述说明性实施例的远程镜像操作允许关联于独立应用实例620的卷610进行远程镜像操作,而其它应用实例630和640继续在生产站点650以正常方式运行。例如,关联于所述应用实例620的所述卷610可以进行生产站点650与在拓扑上以及可选地在地理上位于远程的恢复站点660之间的对等远程拷贝(PPRC)操作。
与图3中所示的已知远程镜像操作相反,所述说明性实施例提供一种用于远程镜像操作的更精细粒度应用的机制。所述远程镜像操作的精细粒度应用是经由所述说明性实施例的虚拟化和远程镜像操作控制机制而成为可能。如此后所描述的,所述远程镜像操作控制机制涉及在所述远程镜像操作期间使用所述OTG、TIP和USI在维持所述卷组之间的一致性的同时将所述远程镜像操作的应用控制在单个卷组。
一般地,当位于所述生产站点的存储服务器即将实施远程镜像操作时,所述远程镜像操作响应于调度、用户输入等被发起。用于实施所述远程镜像操作的命令被提供给所述物理会话对象,其导致所述OTG产生用于由所述物理会话对象维护的虚拟会话对象的每个的线程。每个线程被提供了USI,其中,该USI被所述OTG用于管理所产生的线程。所述物理会话对象的TIP被初始化为初始值。所述TIP例如可以对于所述OTG中的每个线程包含一个位,并且这些位可以被设为初始值。
在已初始化用于虚拟化所述物理会话的机制以及初始化所述OTG的各个线程的控制机制之后,所述物理会话对象被用于实施所述远程镜像操作。所述远程镜像操作中所实施的步骤取决于正在被实施的远程镜像操作的类型。出于说明目的,故障转移远程镜像操作将被用作示例操作来说明所述说明性实施例的控制机制,其中,所述控制机制用于控制由所述OTG中的不同线程代表的各个虚拟会话。
图7是说明根据一说明性实施例的用于虚拟会话的故障转移操作的各个步骤的示例图。应当指出,在所述故障转移操作中,主物理控制单元(即存储服务器控制器)负责控制所述故障转移操作。所述主物理控制单元被作为会话参数的一部分针对全局镜像会话确定。其它存储服务器控制器针对该全局镜像会话从属于该主物理控制单元。
在所述故障转移操作中,所述故障转移操作的第一步骤将暂停该物理会话,使得所有存储设备将完成形成其最终一致性组。此后,所述产品站点的卷被“故障转移”,例如,使用对等远程拷贝操作被远程拷贝到在拓扑上位于远程的恢复站点。在所述故障转移操作被实施后,所述已故障转移的卷的FlashCopy可以被实施,以由此更新所述被故障转移的卷的全局一致拷贝。该故障转移操作被以图7中所示的方式根据所述说明性实施例修改,使得所述故障转移关于所述物理会话中的独立卷组实施。
如图7中所示,作为对所述OTG中的线程的初始化以便实施所需故障转移操作的一部分,第一线程710被生成,其是用于控制关于所述物理会话的整个远程镜像操作的主会话线程。另外的线程针对其它虚拟会话的每个而产生,其包括被提供给第一虚拟会话对象的第二线程720、被提供给第二虚拟会话对象的第三线程730,以及被提供给第三虚拟会话对象的第四线程740。这些线程的每个是所述OTG的一部分,并且具有其自己的唯一USI,其中,所述唯一USI被所述OTG用于使得不同操作被所述不同线程710-740实施。
在所描述的示例中,故障转移操作将在关联于第一虚拟会话的第一卷组A与在拓扑上位于远程的恢复站点处的第二卷组B之间实施。同时,关联于其它虚拟会话的其它卷组不进行所述故障转移操作。
如图7中所示,所述主会话线程710被首先用于实施用于暂停所述物理会话的暂停操作,以致所有存储设备将完成形成其最终一致性组。一旦所述暂停操作被成功完成,关联于所述主会话线程710的TIP位被设为确定值,例如0。
如上面所提到的,为确保所述虚拟会话之间的一致性,每个线程必须在整个远程镜像操作可以进展到下一步骤之前将其关联TIP位更新为确定值,例如0。由此,其它线程720-740的每个实施跳过操作,其中仅关联于该线程的TIP位被设为成功完成值。
在每个线程710-740中,作出关于所述TIP位值是否全被设为成功完成值的确定。仅当所述TIP位值被更新为成功完成时,所述线程710-740的每个才将被允许进展到下一阶段。如果所述TIP位值未被全设为成功完成值,则所述线程710-740进入等待操作,在该等待操作中,所述线程进行等待,直到所述TIP位值被更新为成功完成值。一旦所有的所述TIP位值指示成功完成,所述远程镜像操作被允许继续到下一阶段,并且所述TIP位值被重置为其初始值。
在所述故障转移操作的下一阶段中,在所有的所述线程710-740通过更新所述TIP位值指示成功完成后,故障转移操作使用关联于所述第一虚拟会话对象的第二线程720实施。该故障转移操作实施从在所述生产站点处的第一卷组A到在拓扑上位于远程的恢复站点处的第二卷组B的对等远程拷贝操作。在所述故障转移操作成功完成后,所述第二线程720更新对应的TIP位值,以指示所述故障转移操作被成功完成。
其它线程710和730-740实施跳过操作,并且更新其对应的TIP位值以指示成功完成。再次,在所述线程710-740的每个中,作出关于所述TIP位值是否指示所述线程710-740的每个中的操作的成功完成的确定。如果是这样,则所述故障转移操作可以进展到下一步骤,否则,所述线程进入等待操作,直到所有的所述线程指示成功完成。
在所述故障转移操作的第三阶段中,所述主会话线程710从所述物理会话中移除关联于所述第二线程720的虚拟会话(VS1)。进行所述移除是由于,一旦VS1被故障转移,所述虚拟会话的剩余部分将恢复全局镜像操作(在所述整个物理会话的初始暂停之后)。为移除该VS1会话,关于VS1的会话对象(卷、连接、路径等)从所述主物理会话中移除,因此所述物理会话将用VS1内容继续全局镜像操作。
尽管VS1的所述移除正在被实施,其它线程720-740如在所述故障转移操作的之前步骤中那样实施跳过操作。此后,所述主会话线程710恢复关联于仍然作为所述物理会话的一部分的其它虚拟会话730-740的应用实例。其它线程720-740实施跳过操作。所述主会话线程710和虚拟会话线程730-740然后终止。
关联于进行所述故障转移操作的虚拟会话的线程720以FlashCopy操作继续,其中,所述FlashCopy操作在卷组B与FlashCopy卷组C之间实施。所述第二线程720然后或者终止,或者开始对于关联于与所述第二线程720关联的虚拟会话的卷的I/O操作。
在上面的操作顺序中,所述OTG使用所述各个线程710-740的USI来分派用于实施上面提到的各个操作的指令。由于所述故障转移操作将关于关联于所述虚拟会话(VS1)的存储卷组A实施,所以所述故障转移和FlashCopy指令将使用关联于该线程720的USI被分派给第二线程720。类似地,关联于对所述故障转移操作的控制的指令使用其关联USI被发出到所述第一线程710,该第一线程710实施为建立用于所述故障转移操作的OTG以及为恢复关联于与其它虚拟会话关联的存储卷组的应用实例所需的操作。不作为所述故障转移操作的一部分的其它线程基于其USI被发出跳过指令,用以基本上使得这些线程不实施任何动作。
由此,根据上述可见,关联于虚拟会话2(VS2)和虚拟会话3(VS3)的存储卷组不被故障转移,但关联于虚拟会话1(VS1)的存储卷组被故障转移到拓扑上位于远程的恢复站点,即具有到存储卷组C的FlashCopy的存储卷组B。因此,通过使用说明性实施例的所述机制,存储控制单元的物理会话中的一组存储卷可以进行远程镜像操作,而所述物理会话中的其它存储卷不进行远程镜像操作。
图8是概述根据说明性实施例的示例性故障转移操作的流程图。应当理解,该流程图说明的每个方框以及该流程图说明的方框的组合可以用计算机程序指令来实现。这些计算机程序指令可以被提供给处理器或用于生产机器的其它可编程数据处理装置,使得在所述处理器或其它可编程数据处理装置上执行的指令创建用于实现所述一个或多个流程图方框中确定的功能的装置。这些计算机程序指令还可以被存储在可以指导处理器或其它可编程数据处理装置以特定方式工作的计算机可读存储器或存储媒介中,使得被存储在所述计算机可读存储器或存储媒介中的指令产生下述制品,所述制品包括实现所述一个或多个流程图方框中确定的功能的指令装置。
相应地,所述流程图说明的方框支持用于实施所确定的功能的装置的组合、用于实施所确定的功能的步骤的组合和用于实施所确定的功能的程序指令装置。还应当理解,所述流程图说明的每个方框和所述流程图说明中的方框的组合可以用实施专门功能或步骤的基于专用硬件的计算机系统、或用专用硬件和计算机指令的组合来实现。
如图8中所示,所述操作开始于接收用于发起远程镜像操作的命令(步骤810)。响应于该远程镜像操作命令,所述OTG被初始化(步骤820)。如之前所描述的,所述初始化可以涉及产生对于所述虚拟会话的每个的线程、以及用于协调和控制所述远程镜像操作的主会话线程。所述初始化可以还包括为所述线程的每个分配USI和将所述TIP位值设为其初始值。
关联于所述远程镜像操作的下一阶段的指令被分派给每个所产生的线程(步骤830)。所述线程执行所分派的用于所述远程镜像操作的当前步骤的指令(步骤840)。作出关于是否所有的所述线程已指示其各自指令的成功完成的确定(步骤850)。如果不是,则所述操作等待(步骤860)直到所有的所述线程指示成功完成。
如果所有的所述线程指示成功完成,则作出关于是否所述远程镜像操作已完成的确定(步骤870)。如果不是,则所述操作返回步骤830,其中用于所述远程镜像操作的下一阶段的指令被分派。如果所述远程镜像操作已完成,则该操作终止。
应当指出,尽管上面的图7和8涉及故障转移操作的性能,但类似操作可以关于故障回复操作被实施。在故障回复操作中,当使物理存储卷为可用时,在故障转移操作后,例如,管理员经由管理员工作站可以通过向所述生产站点系统提交故障回复命令来发起故障回复操作。对等远程拷贝路径可以通过用于正被创建的应用实例的虚拟会话在所述生产站点和所述恢复站点之间重新建立。此后,存储在用于该应用实例的恢复站点卷中的数据可以使用所建立的虚拟会话被故障回复到所述生产站点卷和在该生产站点系统上被恢复的应用实例。所述故障回复可以独立于作为该物理会话的一部分的其它虚拟会话实施,使得所述其它虚拟会话可以继续以正常功能模式操作。
由此,所述说明性实施例提供了一种机制,通过该机制,存储控制单元的物理会话中的独立卷组可以进行远程镜像操作。因此,与已知远程镜像操作相反,所述说明性实施例通过所述存储控制单元的所述物理会话的虚拟化,提供将在生产站点和恢复站点之间被镜像的数据和元数据的更精细粒度选择,同时允许其数据和元数据不是所述镜像操作的一部分的应用实例继续运行。
重要的是要指出,尽管本发明已在完全运行的数据处理系统的上下文中被描述,但本领域的普通技术人员将理解,本发明的过程能够以指令的计算机可读媒介的形式和多种形式被发布,以及,不论实际用于执行所述发布的特定类型的信号承载媒介而等同地应用本发明。计算机可读媒体的例子包括例如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM的可记录型媒体,和例如数字和模拟通信链路、有线或无线通信链路的传输型媒体,其中,所述无线通信链路使用例如射频和光波传输的传输形式。所述计算机可读媒体可以采用编码格式的形式,其在特定数据处理系统中被解码用于实际使用。
本发明的描述已出于说明和描述目的被呈现,并且其并非旨在对于本发明在所公开的形式上进行穷举或限制。许多修改和变型对于本领域的普通技术人员将是显而易见的。所选择和描述的实施例是为了最好地说明本发明的原理、其实际应用,以及为使本领域的其他普通技术人员能够理解本发明的具有适于所设想的特定使用的各种修改的各种实施例。

Claims (27)

1.一种用于实施生产站点系统与恢复站点系统之间的远程镜像操作的系统,包括:
建立对于关联于所述生产站点系统的存储控制单元的物理会话的装置,其中所述物理会话包括多个存储卷组;
在所述物理会话中建立对于每个所述存储卷组的虚拟会话的装置;以及
选择性地使所述物理会话中对于所述存储卷组中的一个存储卷组的虚拟会话独立于其它虚拟会话进行远程镜像操作,其中该一个存储卷组关联于独立应用,而使得其它存储卷组不进行所述远程镜像的操作的装置。
2.根据权利要求1所述的系统,其中所述选择性地进行远程镜像操作的装置包括:
关联于运行在所述生产站点系统上的应用实例的第一存储卷中的应用数据到关联于所述恢复站点系统的存储系统的第二存储卷的对等远程拷贝操作的装置。
3.根据权利要求1所述的系统,其中还包括:
接收会话策略文件的装置,其中所述会话策略文件包括标识所述物理会话和所述存储卷组的参数;以及
生成对于每个所述存储卷组的虚拟会话对象,以由此建立对于每个所述存储卷组的虚拟会话的装置。
4.根据权利要求3所述的系统,其中所述虚拟会话对象包括:用于连接到特定存储控制单元的连接对象,基于针对所述会话策略文件中所确定的存储卷组的控制路径信息生成的路径连接对象,以及针对作为如所述会话策略文件中所确定的所述虚拟会话的一部分的所述存储卷组中的每个存储卷组的卷对象。
5.根据权利要求3所述的系统,其中还包括:
基于所述会话策略文件生成物理会话对象的装置,其中所述物理会话对象包括所述虚拟会话对象、操作线程组和任务指令指针。
6.根据权利要求5所述的系统,其中所述操作线程组包括多个线程:每个虚拟会话对象一个线程并且针对所述物理会话对象有一主线程,以及其中每个线程具有用于区分所述虚拟会话和所述物理会话的唯一会话标识符。
7.根据权利要求6所述的系统,其中选择性地进行远程镜像操作的装置包括:
使用所述操作线程组中的所述多个线程执行所述远程镜像操作的操作的装置;以及
使用所述多个线程中的线程的所述唯一会话标识符协调所述远程镜像操作的操作的执行,使得一个存储卷组实施所述远程镜像操作,而其它存储卷组不实施所述远程镜像操作的装置。
8.根据权利要求7所述的系统,其中还包括:
由所述操作线程组的独立线程在所述远程镜像操作中的相应线程的操作完成之后更新所述任务指令指针的装置。
9.根据权利要求8所述的系统,其中还包括:
直到所述操作线程组中的所有线程已更新所述任务指令指针从而指示其当前操作的成功完成之前,防止所述操作线程组中的线程的执行继续到下一操作的装置。
10.根据权利要求7所述的系统,其中所述远程镜像操作是故障转移操作,其中还包括:
所述操作线程组中的所述多个线程中的物理会话线程暂停该物理会话的装置;
所述操作线程组中的所述多个线程中的第一虚拟会话线程发起从关联于所述第一虚拟会话线程的存储卷组到关联于所述恢复站点系统的存储卷组的故障转移的装置;
所述物理会话线程从所述物理会话对象中移除关联于所述第一虚拟会话线程的所述存储卷组,并且恢复关联于所述物理会话的其它虚拟会话的其它存储卷组的操作的装置。
11.根据权利要求1所述的系统,其中所述远程镜像操作是故障转移操作或故障回复操作中的一个。
12.根据权利要求1所述的系统,其中所述生产站点系统和所述恢复站点系统在拓扑上彼此位于远程。
13.根据权利要求1所述的系统,其中所述生产站点系统和所述恢复站点系统在地理上彼此位于远程。
14.一种用于实施生产站点系统与恢复站点系统之间的远程镜像操作的方法,包括:
建立对于关联于所述生产站点系统的存储控制单元的物理会话,其中所述物理会话包括多个存储卷组;
在所述物理会话中建立对于每个所述存储卷组的虚拟会话;
选择性地使所述物理会话中对于所述存储卷组中的一个存储卷组的虚拟会话独立于其它虚拟会话进行远程镜像操作,其中该一个存储卷组关联于独立应用,而使得其它存储卷组不进行所述远程镜像的操作。
15.根据权利要求14所述的方法,其中所述远程镜像操作包括:
关联于运行在所述生产站点系统上的应用实例的第一存储卷中的应用数据到关联于所述恢复站点系统的存储系统的第二存储卷的对等远程拷贝操作。
16.根据权利要求14所述的方法,还包括:
接收会话策略文件,其中所述会话策略文件包括标识所述物理会话和所述存储卷组的参数;以及
生成对于每个所述存储卷组的虚拟会话对象,以由此建立对于每个所述存储卷组的虚拟会话。
17.根据权利要求16所述的方法,还包括:
基于所述会话策略文件生成物理会话对象,其中所述物理会话对象包括所述虚拟会话对象、操作线程组和任务指令指针。
18.根据权利要求17所述的方法,其中所述操作线程组包括多个线程:每个虚拟会话对象一个线程并且针对所述物理会话对象有一主线程,以及其中每个线程具有用于区分所述虚拟会话和所述物理会话的唯一会话标识符。
19.根据权利要求18所述的方法,其中选择性地进行远程镜像操作包括:
使用所述操作线程组中的所述多个线程执行所述远程镜像操作的操作;以及
使用所述多个线程中的线程的所述唯一会话标识符协调所述远程镜像操作中的操作的执行,使得一个存储卷组实施所述远程镜像操作,而其它存储卷组不实施所述远程镜像操作。
20.根据权利要求19所述的方法,还包括:
由所述操作线程组的独立线程在所述远程镜像操作中的相应线程的操作完成之后更新所述任务指令指针。
21.根据权利要求20所述的方法,还包括:
直到所述操作线程组中的所有线程已更新所述任务指令指针从而指示其当前操作的成功完成之前,防止所述操作线程组中的线程的执行继续到下一操作。
22.根据权利要求16所述的方法,其中所述虚拟会话对象包括:用于连接到特定存储控制单元的连接对象,基于针对所述会话策略文件中所确定的卷组的控制路径信息生成的路径连接对象,以及针对作为如所述会话策略文件中所确定的虚拟会话的一部分的所述存储卷组中的每个存储卷组的卷对象。
23.根据权利要求19所述的方法,其中所述远程镜像操作是故障转移操作,以及其中:
所述操作线程组中的所述多个线程中的物理会话线程暂停所述物理会话;
所述操作线程组中的所述多个线程中的第一虚拟会话线程发起从关联于所述第一虚拟会话线程的存储卷组到关联于所述恢复站点系统的存储卷组的故障转移;
所述物理会话线程从所述物理会话对象中移除关联于所述第一虚拟会话线程的所述存储卷组,并且恢复关联于所述物理会话的其它虚拟会话的其它存储卷组的操作。
24.根据权利要求14所述的方法,其中所述远程镜像操作是故障转移操作或故障回复操作中的一个。
25.根据权利要求14所述的方法,其中所述生产站点系统和所述恢复站点系统在拓扑上彼此位于远程。
26.根据权利要求14所述的方法,其中,所述生产站点系统和所述恢复站点系统在地理上彼此位于远程。
27.一种提供数据镜像服务的方法,包括:
提供生产站点计算设备或恢复站点计算设备中的一个或更多;
建立对于关联于所述一个或更多生产站点计算设备的存储控制单元的物理会话,其中所述物理会话包括多个存储卷组;
在所述物理会话中建立对于每个所述存储卷组的虚拟会话;以及
选择性地使所述物理会话中对于所述存储卷组中的一个存储卷组的虚拟会话独立于其它虚拟会话进行远程镜像操作,其中该一个存储卷组关联于独立应用,而使得其它存储卷组不进行所述远程镜像的操作。
CN2007101085666A 2006-06-08 2007-06-06 用于实施远程镜像操作的系统和方法 Expired - Fee Related CN101086714B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/422,962 US7657782B2 (en) 2006-06-08 2006-06-08 Creating and managing multiple virtualized remote mirroring session consistency groups
US11/422,962 2006-06-08

Publications (2)

Publication Number Publication Date
CN101086714A CN101086714A (zh) 2007-12-12
CN101086714B true CN101086714B (zh) 2010-08-18

Family

ID=38920373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101085666A Expired - Fee Related CN101086714B (zh) 2006-06-08 2007-06-06 用于实施远程镜像操作的系统和方法

Country Status (3)

Country Link
US (1) US7657782B2 (zh)
JP (1) JP5235338B2 (zh)
CN (1) CN101086714B (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680908B2 (en) * 2006-09-28 2010-03-16 Microsoft Corporation State replication
US7779291B2 (en) * 2006-12-29 2010-08-17 Emc Corporation Four site triangular asynchronous replication
US7788207B2 (en) * 2007-07-09 2010-08-31 Blackboard Inc. Systems and methods for integrating educational software systems
US8271420B2 (en) * 2007-07-09 2012-09-18 Blackboard Inc. Systems and methods for integrating educational software systems
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US9367512B2 (en) * 2009-04-22 2016-06-14 Aventura Hq, Inc. Systems and methods for dynamically updating virtual desktops or virtual applications in a standard computing environment
US8234332B2 (en) * 2009-04-22 2012-07-31 Aventura Hq, Inc. Systems and methods for updating computer memory and file locations within virtual computing environments
US9244716B2 (en) * 2009-10-30 2016-01-26 Avaya Inc. Generation of open virtualization framework package for solution installations and upgrades
KR20110080583A (ko) * 2010-01-06 2011-07-13 삼성전자주식회사 원격 운영체제 복구 가능한 컴퓨터 시스템 및 그 방법
US8392754B2 (en) 2010-10-11 2013-03-05 International Business Machines Corporation Disaster recovery production takeover
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
US8639984B2 (en) 2011-08-09 2014-01-28 International Business Machines Corporation Checkpoint debugging using mirrored virtual machines
US9891937B2 (en) 2012-01-30 2018-02-13 Lg Electronics Inc. Method for managing virtual machine and device therefor
US10936591B2 (en) 2012-05-15 2021-03-02 Microsoft Technology Licensing, Llc Idempotent command execution
US9239868B2 (en) 2012-06-19 2016-01-19 Microsoft Technology Licensing, Llc Virtual session management and reestablishment
CN104272281A (zh) * 2012-06-25 2015-01-07 株式会社日立制作所 计算机系统和应用程序运行环境转移方法
US9251194B2 (en) 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US8898109B2 (en) 2012-07-27 2014-11-25 Microsoft Corporation Automatic transaction retry after session failure
US9235464B2 (en) 2012-10-16 2016-01-12 Microsoft Technology Licensing, Llc Smart error recovery for database applications
US20140164323A1 (en) * 2012-12-10 2014-06-12 Transparent Io, Inc. Synchronous/Asynchronous Storage System
US9063997B2 (en) 2013-02-12 2015-06-23 International Business Machines Corporation Asynchronous pausing of the formation of consistency groups
US9307011B2 (en) * 2013-04-01 2016-04-05 Netapp, Inc. Synchronous mirroring of NVLog to multiple destinations (architecture level)
WO2015081473A1 (zh) * 2013-12-02 2015-06-11 华为技术有限公司 异步复制方法、装置与系统
CN105094942B (zh) * 2014-04-23 2018-09-21 华为技术有限公司 Hsm会话管理方法、管理虚拟机和服务器
JP6398417B2 (ja) 2014-07-22 2018-10-03 富士通株式会社 ストレージ装置、ストレージシステム及びストレージ制御プログラム
US9804935B1 (en) * 2015-01-26 2017-10-31 Intel Corporation Methods for repairing a corrupted database to a new, correct state by selectively using redo and undo operations
US9935824B2 (en) 2015-06-15 2018-04-03 International Business Machines Corporation Virtualization of consistency groups
US10671493B1 (en) 2017-08-29 2020-06-02 Wells Fargo Bank, N.A. Extended remote copy configurator of three-site data replication for disaster recovery
US11379335B2 (en) * 2017-10-05 2022-07-05 International Business Machines Corporation Self-reporting remote copy performance on a consistency group
WO2020162943A1 (en) * 2019-02-07 2020-08-13 Thogamalai Krishnakumar Arumugham Holistic intelligence and autonomous information system and method thereof
US11150845B2 (en) 2019-11-01 2021-10-19 EMC IP Holding Company LLC Methods and systems for servicing data requests in a multi-node system
US11294725B2 (en) 2019-11-01 2022-04-05 EMC IP Holding Company LLC Method and system for identifying a preferred thread pool associated with a file system
US11288211B2 (en) 2019-11-01 2022-03-29 EMC IP Holding Company LLC Methods and systems for optimizing storage resources
US11392464B2 (en) * 2019-11-01 2022-07-19 EMC IP Holding Company LLC Methods and systems for mirroring and failover of nodes
CN112887192B (zh) * 2021-01-12 2023-05-30 讯飞智元信息科技有限公司 跨网通信方法及其电子设备、计算机可读存储介质
CN116501264B (zh) * 2023-06-25 2023-09-15 苏州浪潮智能科技有限公司 一种数据存储方法、装置、系统、设备及可读存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504894A (en) * 1992-04-30 1996-04-02 International Business Machines Corporation Workload manager for achieving transaction class response time goals in a multiprocessing system
JP2516317B2 (ja) * 1992-10-13 1996-07-24 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ処理システムとディジタル信号プロセッサへのロ―ディング方法
US5671439A (en) * 1995-01-10 1997-09-23 Micron Electronics, Inc. Multi-drive virtual mass storage device and method of operating same
JPH08228203A (ja) 1995-02-21 1996-09-03 Fujitsu Ltd データ転送方式
US5778411A (en) * 1995-05-16 1998-07-07 Symbios, Inc. Method for virtual to physical mapping in a mapped compressed virtual storage subsystem
US6393481B1 (en) * 1997-10-06 2002-05-21 Worldcom, Inc. Method and apparatus for providing real-time call processing services in an intelligent network
US6035306A (en) * 1997-11-24 2000-03-07 Terascape Software Inc. Method for improving performance of large databases
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US7100071B2 (en) * 1998-07-16 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for allocating fail-over memory
WO2001022273A1 (en) 1999-09-24 2001-03-29 Sun Microsystems, Inc. Mechanism for enabling session information to be shared across multiple processes
US6625161B1 (en) * 1999-12-14 2003-09-23 Fujitsu Limited Adaptive inverse multiplexing method and system
EP1117220A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6820182B1 (en) * 2000-10-18 2004-11-16 International Business Machines Corporation Support for exhaustion recovery in a data processing system with memory mirroring
AU2002239391A1 (en) * 2000-11-30 2002-06-11 Message Machines, Inc. Systems and methods for routing messages to communications devices
AU2002306495A1 (en) * 2001-02-13 2002-08-28 Candera, Inc. Storage virtualization and storage management to provide higher level storage services
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6757778B1 (en) * 2002-05-07 2004-06-29 Veritas Operating Corporation Storage management system
US20040006587A1 (en) * 2002-07-02 2004-01-08 Dell Products L.P. Information handling system and method for clustering with internal cross coupled storage
US7000142B2 (en) * 2002-07-25 2006-02-14 Lsi Logic Corporation Mirrored extensions to a multiple disk storage system
US7613298B2 (en) * 2002-10-03 2009-11-03 Medialive System and process for adaptive and progressive scrambling of video streams
US20050162424A1 (en) * 2003-02-07 2005-07-28 Yuko Imai Computer product, session management method, and session management apparatus
US7583607B2 (en) * 2003-03-06 2009-09-01 Hewlett-Packard Development Company, L.P. Method and apparatus for designating and implementing support level agreements
US7120824B2 (en) * 2003-05-09 2006-10-10 International Business Machines Corporation Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
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
US20050050273A1 (en) * 2003-08-27 2005-03-03 Horn Robert L. RAID controller architecture with integrated map-and-forward function, virtualization, scalability, and mirror consistency
JP4307982B2 (ja) * 2003-12-19 2009-08-05 株式会社日立製作所 データ多重化制御方法
JP2005202532A (ja) * 2004-01-14 2005-07-28 Hitachi Ltd 複数コピーグループの一括サスペンド方法およびシステム
CA2556420A1 (en) 2004-02-19 2005-09-01 Georgia Tech Research Corporation Systems and methods for parallel communication

Also Published As

Publication number Publication date
US20080010496A1 (en) 2008-01-10
CN101086714A (zh) 2007-12-12
US7657782B2 (en) 2010-02-02
JP2007328785A (ja) 2007-12-20
JP5235338B2 (ja) 2013-07-10

Similar Documents

Publication Publication Date Title
CN101086714B (zh) 用于实施远程镜像操作的系统和方法
CN100530124C (zh) 将应用重新定位到拓扑上位于远程计算系统的系统和方法
EP3218810B1 (en) Virtual machine cluster backup
CN100461121C (zh) 把存储单元和相关元数据复制到存储器的方法和系统
AU2016405587B2 (en) Splitting and moving ranges in a distributed system
CN101799742B (zh) 用于在存储系统之间转移精简配置卷的方法和装置
CN102142006B (zh) 分布式文件系统的文件处理方法及装置
CN106528327B (zh) 一种数据处理方法以及备份服务器
EP2131284A1 (en) Storage system and method of producing recovery volume
CN107665154A (zh) 基于rdma与消息传递的可靠数据分析方法
CN110023912A (zh) 异步本地和远程生成一致的时间点快照拷贝
CN102591744A (zh) 从任何群集节点的数据的备份和还原
CN103761166A (zh) 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法
CN101799743A (zh) 用于逻辑卷管理的方法和装置
CN103226518A (zh) 一种在存储管理系统中进行卷扩展的方法和装置
CN105960635A (zh) 从具有不同时间点的源数据的存储库中的源数据的拷贝创建复原拷贝
CN103229172A (zh) 复制数据
CN102404383A (zh) 在分布式基础设施中执行计算
CN107291821A (zh) 一种同城双活架构快速切换的方法
Malinowski et al. Multi-agent large-scale parallel crowd simulation with nvram-based distributed cache
CN105988901A (zh) 数据复制方法及存储系统
CN106855834B (zh) 一种数据备份方法、装置和系统
CN105045541B (zh) 一种增量快照方法及装置
US10409629B1 (en) Automated host data protection configuration
CN103970620B (zh) 一种准连续性数据复制方法及装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100818

CF01 Termination of patent right due to non-payment of annual fee