用于在镜像卷之间进行切换的方法和系统的利记博彩app
【专利摘要】本发明涉及用于在镜像卷之间进行切换的方法和系统。为了在镜像卷之间进行切换,创建这些镜像卷之间的复制关系标识符(ID),以结合多路设备驱动器使用该复制关系ID,用于在镜像卷之间切换针对第一路径至第二路径之间的应用的输入/输出(I/O)。
【专利说明】用于在镜像卷之间进行切换的方法和系统
【技术领域】
[0001]本发明总体上涉及计算机,更具体地涉及在计算环境中在镜像卷(mirroredvolume)之间进行切换。
技术背景
[0002]在当今社会,计算机系统是普遍的。计算机系统可见于工作单位、家中、或者学校。计算机系统可以包括数据存储系统或磁盘存储系统,以处理和储存数据。存储系统可以包括各种存储部件,例如,配置于存储环境中的一个或多个盘驱动器。例如,该存储环境可以包括以阵列的形式实现的多个盘驱动器,诸如,独立盘冗余陈列(RAID)拓扑结构,以在硬件或软件出现故障时提供数据安全保障。该存储环境还可以包括其它的存储部件,例如,控制器和接口以管理数据流。此外,该计算机系统可以包括复杂数据处理系统或计算环境。数据处理系统常常需要由单个计算机无法实现的计算资源或可用性要求。
[0003]此外,信息技术系统(包括存储系统)会需要保护以免遭现场灾难或运转中断(outage),这里,运转中断可能是计划的也可能是意外的。此外,信息技术系统需要用于数据迁移、数据备份、或数据复制的特征。用于灾难或运转中断恢复、数据迁移、数据备份和数据复制的实现方式可以包括存储系统中数据的镜像或复制。这种数据的镜像或复制会涉及信息技术系统的主机、存储系统以及连接组网部件之间的交互作用。
【发明内容】
[0004]在一个实施例中,提供一种用于在计算环境中在镜像卷之间进行切换的方法。为了在镜像卷之间进行切换,创建这些镜像卷之间的复制关系标识符(ID),以结合多路设备驱动器使用该复制关系ID,用于在镜像卷之间切换针对第一路径至第二路径之间的应用的输入/输出(I/o)。
[0005]在另一个实施例中,提供一种用于在计算环境中在镜像卷之间进行切换的计算机系统。所述计算机系统包括计算机可读介质以及与所述计算机可读介质可操作的通信的处理器。所述处理器创建这些镜像卷之间的复制关系标识符(ID),以结合多路设备驱动器使用所述复制关系ID,用于在镜像卷之间切换针对第一路径至第二路径之间的应用的输入/ 输出(I/O)。
[0006]在另一个实施例中,提供一种用于在计算环境中在镜像卷之间进行切换的计算机程序产品。计算机可读存储介质具有存储在其上的计算机可读程序代码部分。所述计算机可读程序代码部分包括第一可执行部分,所述第一可执行部分创建这些镜像卷之间的复制关系标识符(ID),以结合多路设备驱动器使用所述复制关系ID,用于在镜像卷之间切换针对第一路径至第二路径之间的应用的输入/输出(I/O)。
[0007]除上述示例性方法实施例之外,还提供了其他示例性系统和计算机产品实施例,这些实施例也提供了相关的优点。已经提供了上述
【发明内容】
,以使用简化的形式引入一系列的构思,这些构思将在以下【具体实施方式】部分中得到详细的描述。该
【发明内容】
部分并非意图标识所要求的主题的关键特征或基本特征,也并非意图在确定所要求的主题的范围方面给予帮助。所要求的主题并不局限于那些解决在发明背景部分提到的任何或全部缺点的实现方式。
【专利附图】
【附图说明】
[0008]为了更容易地理解本发明的优点,将参考在附图中例示的具体实施例提供对以上简要描述的本发明的更加详细具体的描述。应该理解,本发明的这些利用附图描述的实施例不应该被认为是对本发明的范围进行限制,而是通过使用附图利用附加的特征和细节来描述和说明本发明,在这些附图中:
[0009]图1A是例示具有本发明能够实现的示例性存储设备的计算系统环境的方框图;
[0010]图1B是例示具有本发明能够实现的示例性存储设备的替代计算系统环境的方框图;
[0011]图2是例示本发明能够实现的计算系统环境中的数据存储系统的硬件结构的方框图;
[0012]图3是例示本发明能够实现的用于在计算环境中在镜像卷之间进行切换的示例性方法的流程图;
[0013]图4是例示本发明能够实现的用于在计算环境中在镜像卷之间进行切换的示例性替代方法的流程图;
[0014]图5是例示本发明能够实现的用于在计算环境中在镜像卷之间进行切换的示例性替代方法的流程图。
【具体实施方式】
[0015]正如前面提到的那样,计算机系统可以包括复杂数据处理系统或计算环境。企业存储服务器(ESS)(例如,IBM TotalStorage企业存储服务器)可以是盘存储服务器,该盘存储服务器包括与存储设备耦合的一个或多个处理器,这些存储设备包括大容量可伸缩存储设备、独立盘冗余阵列(RAID)等等。企业存储服务器连接至网络并且包括用于在存储系统中复制数据的特征。
[0016]点对点远程复制(PPRC)是一种允许应用系统数据从第一位置(site)镜像(shadow)至第二位置的ESS功能。第一位置可以被称为应用位置、本地位置或主要位置。第二位置可以被称为恢复位置、远程位置或次要位置。在本地位置处容纳ESS中的数据的逻辑卷被称为本地卷,而在远程位置处容纳镜像的数据的相应的逻辑卷被称为远程卷。高速链接(例如,ESCON链接)可以连接至本地ESS系统和远程ESS系统。
[0017]ESS当前支持直接从次要PPRC装置读取的主机。此外,典型地在PPRC操作环境中从主存储装置至次存储装置建立经由光纤通信协议的点对点远程复制(PPRC/FCP)关系。由此,主机和PPRC/FCP主装置可以并行访问PPRC/FCP次装置。在这种情况下,该次装置是主装置和独立主机系统两者的目标装置。
[0018]当前,存在对提高在开放系统服务器上在两个镜像卷之间进行超交换的效率的需求。例如,两个镜像卷需要公共标识符,该公共标识符在主机服务器可访问的所有卷中是唯一的,从而可以使用多路设备驱动器功能在镜像之间进行交换,而不中断主机应用。由此,为了解决这些当前需求,如在此将要描述的,在一个实施例中,为了在镜像卷之间进行切换,在这些镜像卷之间创建复制关系标识符(ID),以结合多路设备驱动器使用该复制关系ID,用于在镜像卷之间切换针对第一路径至第二路径之间的应用的输入/输出(I/O)。
[0019]在一个实施例中,该复制关系ID可以结合主机系统上的多路设备驱动器一起使用,以提供简单的并且非破坏性的方式来将所有的应用从一个逻辑单元号(LUN)移动至单独位置处的镜像LUN。该多路设备驱动器功能将利用类似于针对单个LUN从一个路径至另一个路径切换I/O的多路功能从一个LUN至其镜像LUN切换I/O。
[0020]相应地,在一个实施例中,仅仅举例来说,使用机架功率控制模块(RPC模块),以通过搭载关于由集群存储系统中的RPC模块发出的功率警报的命令,允许位于本地服务器处的本地存储分区,用于控制位于目的地服务器上的目的地存储分区。由此,RPC模块被用作一种用于使服务器中的一个分区通知/控制另一个分区(例如,对方分区)在另一个服务器上运行的方式。
[0021]现在参考图1A,描述了计算系统环境的示例性结构50。计算机系统50包括中央处理器(CPU)52,该中央处理器52连接至通信端口 58和存储器件56。通信端口 58与通信网络60通信。可以配置通信网络60和存储网络以便与服务器(主机)64和存储系统进行通信,该存储系统可以包括存储设备54。存储系统可以包括硬盘驱动器(HDD)设备、固态器件(SSD)等等,其可以被配置成独立盘冗余阵列(RAID)。可以在位于系统50或别处的(单个或多个)存储设备54上执行如下将要描述的操作,该系统可以包括多个单独工作的和/或与其它CPU装置52 —起工作的多个存储器件56。存储器件56可以包括例如电可擦可编程只读存储器(EEPROM)或大量相关装置。存储器件56和存储设备54经由信号承载介质与CPU52连接。此外,CPU52通过通信端口 58连接至通信网络60,该通信网络60具有附装的多个附加计算机主系统64。此外,存储器件56和CPU 52可以嵌入在并且包括于计算系统50的每个部件中。每个存储系统还可以包括分离的和/或不同的存储器件56和CPU52,他们共同工作或者作为单独的存储器件56和/或CPU 52。
[0022]图1B是例示具有本发明能够实现的示例性存储设备的替代计算系统环境的方框图。主机4a、4b可以包括本领域已知的任何计算装置,包括如下服务器,通过该服务器其它客户计算机可以访问存储器或客户端。主机4a、4b均包括至少一个适配器,诸如光纤信道、SCSI适配器卡、或者本领域已知的任何其它网络适配器卡。主机适配器允许主机4a、4b经由交换机8a、8b与存储控制器6a、6b进行通信。交换机8a、8b可以包括国际商业机器公司(IBM)光纤信道存储集线器或交换机、IBM SAN光纤信道交换机、或者任何本领域已知的其它交换设备。每个交换机8a、8b均具有与网络12连接的端口,该网络12可以包括任何局域网、广域网、国际互联网络或其它网络系统。网络12可以使用路由器和交换机来动态地确定通过该网络12的数据通路。
[0023]在所描述的实现方式的一个实施例中,主控器6a包括具有端□ 16a、16b、16c、16d的接口卡14a和14b,次级控制器6b包括具有端口 20a、20b、20c、20d的接口卡18a和18b。主控器6a将经由端口 16a、16b、16c、16d中的一个,交换机8a,网络12,交换机8b,然后次级控制器6b上的端口 20a、20b、20c、20d中的一个,与次级控制器6b进行通信。由此,该主控器6a可以选择16个I/O路径中的一个以与次级控制器6b进行通信,S卩,与端口 20a、20b、20c、20d中的一个配对的端口 16a、16b、16c、16d中的一个。在替代实施例中,控制器6a、6b中的每一个可以包括不同数目的接口卡,这些接口卡具有不同数目的端口以在他们之间提供或多或少的通信路径。
[0024]辅助存储器IOb将指定的数据卷的镜像副本保存在主存储器IOa中。在建立阶段期间,在主存储器IOa中的主卷与辅助存储器IOb中的镜像该主卷的相应的次级卷之间建立一种关系。在建立该关系之后,主控器6a将从主机4a、4b至主卷的任何更新写入至次级控制器6b以写入至次级存储器IOb中的次级卷。
[0025]主控制器6a和次级控制器6b可以包括IBM点对点远程复制(PPRC)、扩展远程复制(XRC)软件、或其它供应商镜像软件,以实现控制器6a、6b之间的通信,从而协调数据镜像。在这些实施例中,控制器6a、6b可以包括大规模的存储控制器,诸如IBM 3990和企业存储系统级控制器。在开放式系统实施例中,主控制器6a和次级控制器6b可以包括来自不同供应商的不同的型号的控制器等,并且可以不包括任何用于执行备份操作的专门的协议软件。进一步地,该控制器可以包括本领域已知的任何操作系统,包括微软公司Windows操作系统。
[0026]在开放式实施例中,主控器6a可以使用通常使用的写指令,诸如,SCSI写指令,以复制主卷至次级存储器IOb中的次级卷中。在这些开放式系统实施例中,次级控制器6b不需要特殊用途的软件来协调与主控制器6a的镜像活动,因为主控制器6a利用标准写指令实现镜像。进一步地,在这种开放式系统中,主控制器6a和次级控制器6b可以包括任何本领域已知的控制器装置,并且主控制器6a和次级控制器6b可以是不同型号、不同类型、甚至不同级别的存储控制器。
[0027]为了实现上述机制,并且考虑到图1B给出的计算环境,与主控制器6a关联的主机适配器由应用层指示以发送输入/输出命令(例如,写指令)至与次级控制器6b关联的主机适配器。与主控器6a关联的主机适配器然后在写命令中设置控制标记,以指示该命令和数据包含特殊任务标识符。与主控制器6a关联的主机适配器然后复制该标识符至SCSI⑶B两者并且将该相同的标识符附加至相应的数据帧的末尾。主机适配器然后经由网络12和交换机8b发送该写命令和数据(包括该标识符作为该数据的一部分)至次级控制器6b。
[0028]与次级控制器6b关联的主机适配器接收该1/0(例如,写入)命令。与次级控器6b关联的主机适配器然后检查控制标记,以指示该命令和数据包含特殊标识符并且确定设置了该控制标记。与次级控制器6b关联的主机适配器然后比较SCSI⑶B中的标识符与附加至相应的数据帧的末尾处的标识符。如果这两个标识符(格式)匹配,那么发送数据至高速缓冲存储器,并且返回好状态通知至主主控器6a。如果这两个标识符不匹配,返回SCSI检查状态至主控制器6a,以指示失败。
[0029]上述标识符可以根据具体的实现方式而变化。例如,在其中主控制器和次级控制器是协作实体的实施例中,可以使用次级控制器所知的信息。在一个实施例中,该标识符可以包括逻辑块地址(LBA)、卷标识信息(卷ID)、和/或轨迹标识(轨迹ID)信息。最后,该标识符可以包括计数器或计数机制。
[0030]图2是示出根据本发明的计算机系统中的数据存储系统的硬件结构的方框图200。示出了主机计算机210、220、225,每一均充当用于执行数据处理的中央处理器,作为数据存储系统200的一部分。集群主机/节点(物理的或虚拟的装置)210、220和225可以是一个或多个新的物理装置或逻辑装置,以在数据存储系统200中完成本发明的目的。在一个实施例中,仅仅举例来说,数据存储系统200可以是IBM系统存储器DS8000。网络接线260可以是光纤信道矩阵网、光纤信道点至点链路、经由以太网矩阵网或点对点链路的光纤信道、FICON或ESCON I/O接口、任何其它I/O接口类型、无线网络、有线网络、LAN、WAN、异构、同构、公共(即,国际互联网络)、私有、或任何其组合。主机210、220和225可以是本地的或者分布在一个或多个位置处,并且可以配备有任何类型的矩阵网(fabric)(或矩阵网信道)(在图2中未示出)或者至该存储控制器240的网络适配器260,诸如,光纤信道、FIC0N、ESC0N、以太网、光纤、无线或同轴适配器。数据存储系统200相应地配备有合适的矩阵网(在图2中未示出)或网络适配器260以进行通信。在图2描述了数据存储系统200,其包括存储控制器240和集群主机210、220和225。集群主机210、220和225可以包括集群节点。
[0031]为了便于更清楚地理解在此描述的方法,在图2中示出的存储控制器240作为单个处理部件,包括微处理器242、系统存储器243和非易失性存储设备("NVS" )216。注意,在某些实施例中,存储控制器240由多个处理部件组成,每个具有其自己的处理器组合体和系统存储器,并且在数据存储系统200内部通过专用网络相互连接。存储设备230 (在图2中标记为230a、230b和230η)可以由一个或多个存储设备组成,诸如,存储阵列,他们(通过存储网络)连接至存储控制器240,其中一个或多个集群主机210、220和225连接至每个存储控制器240。
[0032]在一些实施例中,包括于存储设备230中的装置可以以环路结构的方式连接。存储控制器240管理存储设备230并且帮助处理针对存储设备230的写和读请求。存储控制器240的系统存储器243存储程序指令和数据,处理器242可以访问这些程序指令和数据,用于执行如在此描述的本发明的执行和管理存储设备230的功能和方法步骤。在一个实施例中,系统存储器243包括操作软件250,或者系统存储器243与操作软件250关联或通信以用于执行在此描述的方法和操作。如图2所示,系统存储器243还可以包括用于存储设备230的高速缓冲存储器245或者与高速缓冲存储器245通信,该高速缓冲存储器245在此也被称为"高速缓存",用于缓冲"写数据"和"读数据",他们分别被称为读/写请求及其相关数据。在一个实施例中,高速缓冲存储器245被分配在系统存储器243外部的一个装置中,但是仍然可以由微处理器242访问,并且除了用于执行在此描述的操作以外,还可以用来提供针对数据丢失的额外的安全保障。
[0033]在一些实施例中,利用易失性存储器和非易失性存储器实现高速缓冲存储器245,并且其经由局部总线(在图2中未示出)与微处理器242耦合,用于增强数据存储系统200的性能。包括于数据存储控制器中的NVS 216可以由微处理器242访问并且可以用来提供对在其它附图中描述的本发明的操作和执行的附加支持。NVS 216还可以被称为"持久的"高速缓冲存储器或"高速缓存",并且可以利用可以或者可以不使用外部电力来保持存储在其中的数据的非易失存储器来实现。出于适合于实现本发明的目标的目的,可以将NVS存储在高速缓冲存储器245中并与高速缓冲存储器245—起使用。在一些实施例中,诸如电池组的备用电源(在图2中未示出)可以为NVS 216提供足够的功率以在数据存储系统200出现功率损耗时将数据保持在其中。在某些实施例中,NVS216的容量小于或等于高速缓冲存储器245的总容量。
[0034]存储设备230物理上可以由一个或多个存储设备(诸如,存储阵列)组成。存储阵列是个体存储设备的逻辑组,诸如,硬盘。在某些实施例中,存储设备230由JBOD (简单盘捆绑)阵列或RAID (独立盘冗余阵列)阵列组成。可以进一步地组合一系列的物理存储器阵列以形成存储组(rank),其把物理存储器与逻辑配置分开。在存储组中的存储空间可以被分派至逻辑卷,这些逻辑卷限定了在读/写请求中指定的存储位置。
[0035]在一个实施例中,仅仅举例来说,如图2所示的存储系统可以包括逻辑卷,或简单地说,"卷",其可以具有各种不同的分配。存储设备230a、230b和230η在数据存储系统200中被示出为存储组,并且在此被称为存储组230a、230b和230η。该存储组可以是数据存储系统200本地的,也可以位于物理上远程的位置处。换句话说,本地存储控制器可以与远程存储控制器连接并且管理在该远程位置处的存储器。存储组230a被示出为配置有两个整个的卷234和236,以及一个部分的卷232a。存储组230b被示出为具有另一个部分的卷232b。由此,跨越存储组230a和230b分派卷232。存储组230η被示出为被完全地分派至卷238,也就是说,存储组230η引用用于卷238的整个物理存储器。根据上述示例,应该理解,可以配置存储组以包括一个或多个部分的和/或整个的卷。卷和存储组可以被进一步地分成所谓的"轨道",其表示存储设备的固定块。因此轨道与给定的卷关联并且被给予给定的存储组。
[0036]存储控制器240可以包括多路设备驱动器255、复制关系标识模块257和PPRC模块259。多路设备驱动器255、复制关系标识模块257和PPRC模块259可以与存储控制器240、主机210、220、225和存储设备230中的每一个部件结合工作。
[0037]每个分布式数据处理节点/主机210、220、和225均与服务处理器/微处理器242(例如,服务处理器)关联,服务处理器/微处理器242中的每一个负责启动与其关联的节点并且用于帮助系统级服务处理器监视每个节点;服务处理器/微处理242可以通过与其关联的节点的各种物理连接与该节点关联,例如,该服务处理器的硬件卡可以附接至PCI总线。应该注意到,每个节点可以具有多个服务处理器/微处理器242,尽管只有一个服务处理器将负责启动与其关联的节点。多路设备驱动器255、复制关系标识模块257和PPRC模块259可以在结构上是一个完整的模块,或者可以与其他个体模块关联和/或包括在其它个体模块中。多路设备驱动器255、复制关系标识模块257和PPRC模块259还可以位于高速缓冲存储器245或其它部件中。
[0038]存储控制器240包括:用于控制至主机计算机210、220、225的光纤信道协议的控制开关241 ;用于控制所有存储控制器240的微处理器242 ;用于存储控制存储控制器240的操作的微程序(操作软件)250和用于控制的数据的非易失性控制存储器243 ;用于临时存储(缓冲)数据的高速缓冲存储器245 ;和用于帮助高速缓冲存储器245读和写数据的缓冲器244 ;用于控制至或自存储设备230、多路设备驱动器255、复制关系标识模块257和PPRC模块259的控制数据传递的协议的控制开关241,其中可以设置信息。多个缓冲器244可以在本发明中实现以帮助在此描述的操作。在一个实施例中,集群主机/节点210、220、225和存储控制器240通过网络适配器(这可以是光纤信道)260作为接口(即,经由至少一个称为"矩阵网"的交换机)连接。
[0039]在一个实施例中,主机计算机或一个或多个物理的或虚拟的装置210、220、225和存储控制器240通过网络(这可以是光纤信道)260作为接口(B卩,经由至少一个称为"矩阵网"的交换机)连接。在一个实施例中,将描述图2所示的系统的操作。微处理器242可以控制存储器243存储来自主机装置(物理的或虚拟的)210的命令信息以及用于标识该主机装置(物理的或虚拟的)210的信息。控制开关241、缓冲器244、高速缓冲存储器245、操作软件250、微处理器242、存储器243、NVS216、多路设备驱动器255、复制关系标识模块257和PPRC模块259彼此之间通信并且可以是分离的或一个或多个个体部件。此外,(如果不是所有的部件),某些部件(诸如操作软件250)可以包括在存储器243中。出于适合于本发明的目的,所示出的装置中的每个部件可以连接在一起或者彼此通信。
[0040]如上所述,多路设备驱动器255、复制关系标识模块257和PPRC模块259还可以位于高速缓冲存储器245或其它部件中。因而,基于存储器结构和用户偏好,可以按照需要使用多路设备驱动器255、复制关系标识模块257、和PPRC模块259中的一个或多个。
[0041]图3是例示用于在计算环境中在镜像卷之间进行切换的示例性方法300的流程图。为了在企业存储系统中在镜像卷之间进行切换,方法300开始(步骤302)于通过在这些镜像卷之间创建复制关系标识符(ID),以结合多路设备驱动器使用该复制关系ID,用于在镜像卷之间切换针对第一路径至第二路径之间的应用的输入/输出(I/O)(步骤304)。方法300结束(步骤306)。
[0042]如下将更具体地描述图3。针对这两个镜像卷创建唯一的名称(例如,复制关系ID或"CopyRelationld"),其包括主镜像的卷ID以及关系的唯一 ID。该复制关系ID被用于在镜像卷之间切换,而不会引起任何应用的中断。复制关系Id可以在卷之间移动,并且还可以移动至不是原始镜像关系的一部分的卷,并且仍然可以用于标识具有超交换(Hyperswap)功能的卷。
[0043]当创建了 PPRC关系时,复制关系ID被分配给主PPRC和次级PPRC。该复制关系Id由主PPRC的序列号和创建PPRC关系的时间戳组成。该复制关系Id在由主系统管理的全部子系统中是唯一的。复制关系Id存储在主PPRC和次级PPRC两者上的元数据中,从而不管物理卷驻留在什么子系统或位置中,该复制关系标识符都可以被保留至主机卷的使用期限。
[0044]当卷从Simplex (单工)变化至主PPRC时创建用于卷的复制关系标识符。如果该卷再次变成Simplex (单工),它将仍然保留该复制关系标识符以便主机存取(access)不会被中断。该复制关系标识符保持与该卷关联直至针对该卷创建了新的PPRC关系。如果执行Hyperswap,该次级PPRC变成该新的主PPRC并且它将保留相同的复制关系标识符。(该超交换是持续的可用性解决方案,其中访问同时被复制的存储系统并且包括一组存储卷的一组节点(和/或卷)从主存储系统切换至次级(复制品)存储系统,并且必须这样做而不导致集群中的任何节点中的任何应用的中断。超交换操作可以在出现存储系统故障时发生(此时,称为无计划的超交换),或者在管理控制下发生(此时,称为计划的超交换)。此外,超交换操作可以涉及存储系统中的启动卷和非启动卷。)如果重新建立了具有新的次级PPRC的新的主PPRC,那么可以从新的主PPRC将复制关系标识符复制至成为新的次级PPRC的新的卷。
[0045]如果复制关系标识符被分配给一个卷,那么返回该复制关系标识符至主机作为设备标识Vro页(页83h)内部的供应商特定的名称描述符。这些信息由主系统保留并且由多路径驱动装置用于当超时或者与主PPRC的通信发生错误时从主PPRC至次级PPRC切换。交换机利用对象端口群状态,以具有自主系统至主PPRC的激活路径以及自主系统至次级PPRC的待机路径。当访问主PPRC时发生超时或错误时,主系统将经由复制关系标识符通过替代路径切换至PPRC次级卷。该复制关系标识符可以结合主机系统上的多路设备驱动程序一起使用,以提供简单的并且非破坏性的方式来将所有的应用从一个逻辑单元号(LUN)移动至分离位置处的镜像LUN。
[0046]为了进一步地描述设备标识Vro页(页83h)内部的供应商特定的名称描述符,应该注意到,随着不同SCSI装置和SCI命令集的数目的增加,SCSI总线或SCSI装置必须能够唯一地标识另一个SCSI装置,以便从这个装置接收传输。这些唯一标识符需要全球唯一性,并且必须利用全世界普遍使用的技术来标识。相应地,作为共享的命令集标准的一部分,行业团体开发了提供在行业范围内指定使用的SCSI主命令标准的SCSI主命令-2(SPC-2)文档。在该文档中,已经定义了标准化的查询重要产品数据(VPD)页,其可以包含针对寻址的SCSI装置和/或在SCSI装置上寻址的逻辑单元(例如,从包含在SCSI装置内的一个或多个盘创建的可寻址存储块,其可以提供至应用程序或另一个SCSI装置的唯一连接)具有不同特性的各种标识符。该页被称为设备标识Vro页(在此被描述为"VPD83h 页")。
[0047]现在参考图4,图4是例示本发明能够实现的用于在计算环境中在镜像卷之间进行切换的示例性方法400的流程图。方法400开始于(步骤402)通过针对点对点远程复制(PPRC)创建复制关系标识符(ID)(例如,唯一名称),该复制关系标识符(ID)包括主镜像的卷标识符(ID)以及该镜像关系的唯一 ID (步骤404)。分配该复制关系标识符至主PPRC和次级PPRC(步骤406)。该复制关系标识符存储在主PPRC和次级PPRC两者上的元数据中,并且包括主PPRC的序列号以及建立主PPRC和次级PPRC之间的关系的时间戳。方法400然后确定是否向镜像关系添加了卷和/或卷是否从单工类型卷变化至点对点远程复制(PPRC)卷(步骤407)。如果是,针对添加的卷创建复制关系ID和/或将复制关系ID移动至添加的卷(步骤408)。如果不是,方法400确定是否有卷从PPRC卷变化回simplex类型卷(步骤410)。如果该卷从PPRC卷变化回simplex类别卷,那么由该卷保留复制关系标识符,由此不会中断主机存取(步骤412)。如果不是,方法400可以跳至步骤416,并且确定是否执行超交换(步骤416)。在步骤412之后,方法400然后可以保持卷和复制关系标识符之间的关联性,直至针对该卷创建了新的PPRC关系(步骤414)。根据步骤406、410和/或414,方法400可以确定是否执行超交换(步骤416)。如果是,该方法将点对点远程复制(PPRC)从主PPRC切换至次级PPRC (步骤418)。如果没有执行超交换,该方法400可以移至步骤424和并且将复制关系标识符返回至主机(步骤424)。在步骤418处,次级PPRC成为新的主PPRC并且保持针对主PPRC和次级PPRC之间的关系创建的复制关系标识符。然后方法400确定是否建立/重新建立新的主PPRC,其中一个卷成为新的次级PPRC (步骤420)。如果是,从新的主PPRC复制该复制关系标识符至新的次级PPRC (步骤422)。根据步骤404,在分配该复制关系标识符至一个卷时,方法400返回该复制关系标识符至主机作为设备标识重要产品数据(VPD)页内部的供应商规格名称描述符(步骤424)。方法400结束(步骤426)。
[0048]在一个实施例中,如以下在图5中进一步描述,在高级IBM Unix(AIX)多路径I/O(MPIO)中,连同AIX路径控制模块(PCM),运用"复制关系ID"来标识多个LUN,该多个LUN在存储区网络(SAN)复制装置中被配置成单个装置。这些配置成SAN复制装置的LUN被标识为AIX上单个盘实例。SAN复制装置的状态由存储系统上的PPRC状态确定。该状态指示是否可以从一个LUN至配置成SAN复制装置的一部分的另一个LUN进行切换。如果在一个路径上发生了超时,那么SAN复制装置状态指示其可以被切换,并且如果该路径上的再试已经超过了切换时间阀值,PCM将切换(例如,故障转移(failover))至配置为该SAN复制装置的一部分的另一个LUN。在该切换之后,PCM将在替代路径上重定向I/O至SAN复制装置,因为其将重定向I/O至替代路径,用于MPIO中的单个LUN。由此,本发明允许多路径驱动器利用与重定向I/O至相同LUN上的替代路径的方法相同的方法在镜像LUN之间切换 I/O。
[0049]图5是例示本发明能够实现的用于在计算环境中在镜像卷之间进行切换的示例性替代方法500的流程图。方法500开始于(步骤502)通过由点对点远程复制(PPRC)的状态确定镜像卷中的一个卷的状态(步骤504)。方法500通过点对点远程复制(PPRC)的状态指示是否执行从镜像卷中的一个卷至镜像卷中的另一个卷的切换(步骤506)。方法500在镜像卷中的一个卷出现故障或超时时从镜像卷中的一个卷切换至镜像卷中的另一个卷(步骤508)。接下来,方法500可以在超时超过阀值之后再次尝试针对该镜像卷的路径(步骤510)。在执行切换之后,方法500可以经由多路设备驱动器从镜像卷中的一个卷至镜像卷中的另一个卷通过替代路径重定向I/O至主机(步骤512)。方法500结束(步骤514)。
[0050]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为"电路"、"模块"或"系统"。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0051]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0052]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0053]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0054]已经参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0055]这些计算机程序指令还可以存在计算机可读介质中,该计算机可读介质可以指引计算机、其它可编程序数据处理装置、或其它装置按照特殊的方式工作,从而使得存储在该计算机可读介质中的指令产生一种生产产品,其包括实现在流程图和/或方框图的一个或多个块中指定的功能/动作的指令。这些计算机程序指令还可以加载至计算机、其它可编程序数据处理装置、或其它装置,以使得在该计算机、其它可编程序装置或其他装置上执行一系列可操作的步骤,以生成计算机实现的方法过程,从而使得在计算机或其它可编程序装置上执行的指令提供用于实现在流程图和/或方框图的一个或多个块中指定的功能/动作的方法。
[0056]以上附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
【权利要求】
1.一种用于在计算环境中通过处理器装置在镜像卷之间进行切换的方法,所述方法包括: 创建镜像卷之间的复制关系标识符ID,以结合多路设备驱动器使用所述复制关系ID,用于在所述镜像卷之间切换针对第一路径至第二路径之间的应用的输入/输出I/O。
2.根据权利要求1的方法,进一步地包括:在发生故障转移时经由带内请求命令返回所述复制关系ID至主机。
3.根据权利要求1的方法,进一步地包括:在所述镜像卷的每一个和稍后被添加至所述镜像卷的卷之间移动所述复制关系ID,其中所述复制关系ID标识能够执行超交换的镜像卷。
4.根据权利要求1的方法,进一步地包括:在建立点对点远程复制PPRC的时候,分配所述复制关系ID至主PPRC和次级PPRC,其中,所述复制关系ID存储在所述主PPRC和所述次级PPRC两者上的元数据中,包括所述主PPRC的序列号以及创建所述主PPRC和所述次级PPRC之间的关系的时间戳。
5.根据权利要求1的方法,进一步地包括: 当卷从单工类型卷变化至点对点远程复制PPRC卷时在该卷中创建所述复制关系ID,其中,如果卷变化回所述单工类型卷,那么保留所述复制关系ID,由此主机存取不被中断,以及 保留所述卷与所述复制关系ID之间的关联性直至针对所述卷创建了新的PPRC关系。
6.根据权利要求5的方法,进一步地包括: 如果执行了超交换,那么将所述PPRC从主PPRC切换至次级PPRC,其中,所述次级PPRC成为新的主PPRC, 保留针对所述主PPRC和所述次级PPRC之间的关系创建的所述复制关系ID,以及 如果重新建立了新的主PPRC,其中一个卷成为新的次级PPRC,那么从所述新的主PPRC将所述复制关系ID复制至所述新的次级PPRC。
7.根据权利要求6的方法,进一步地包括: 在分配所述复制关系ID至一个卷时,返回所述复制关系ID至主机作为设备标识重要产品数据VPD页内部的供应商规格名称描述符。
8.根据权利要求1的方法,进一步地包括: 根据点对点远程复制PPRC的状态确定所述镜像卷中的一个卷的状态, 通过所述PPRC的状态指示是否执行从所述镜像卷中的一个卷至所述镜像卷中的另一个卷的切换, 在发生超时或者所述镜像卷中的一个卷出现故障时,从所述镜像卷中的一个卷切换至所述镜像卷中的另一个卷, 在所述超时超过阀值时再次尝试针对所述镜像卷中的一个卷的路径,以及 在执行切换之后,经由所述多路设备驱动器从所述镜像卷中的一个卷至所述镜像卷中的另一个卷通过替代路径重定向所述I/O至主机。
9.一种用于在计算环境中在镜像卷之间进行切换的系统,所述系统包括: 多路设备驱动器, 处理器装置,所述处理器装置与所述多路设备驱动器通信,并且在所述计算存储环境中可操作, 其中,所述处理器装置: 创建镜像卷之间的复制关系标识符ID,以结合所述多路设备驱动器使用所述复制关系ID,用于在所述镜像卷之间切换针对第一路径至第二路径之间的应用的输入/输出I/O。
10.根据权利要求9的系统,其中,所述处理器装置在发生故障转移时经由带内请求命令返回所述复制关系ID至主机。
11.根据权利要求9的系统,其中,所述处理器装置在所述镜像卷的每一个和稍后被添加至所述镜像卷的卷之间移动所述复制关系ID,其中所述复制关系ID标识能够执行超交换的镜像卷。
12.根据权利要求9的系统,其中,所述处理器装置,在建立点对点远程复制PPRC的时候,分配所述复制关系ID至主PPRC和次级PPRC,其中,所述复制关系ID存储在所述主PPRC和所述次级PPRC两者上的元数据中,包括所述主PPRC的序列号以及创建所述主PPRC和所述次级PPRC之间的关系的时间戳。
13.根据权利要求9的系统,其中,所述处理器装置: 当卷从单工类型卷变化至点对点远程复制PPRC卷时在该卷中创建所述复制关系ID,其中,如果卷变化回所述单工类型卷,那么保留所述复制关系ID,由此主机存取不被中断,以及 保留所述卷与所述复制关系ID之间的关联性直至针对所述卷创建了新的PPRC关系。
14.根据权利要求13的系统,其中,所述处理器装置: 如果执行了超交换,将所述PPRC从主PPRC切换至次级PPRC,其中,所述次级PPRC成为新的主PPRC, 保留针对所述主PPRC和所述次级PPRC之间的关系创建的所述复制关系ID,以及 如果重新建立了新的主PPRC,其中一个卷成为新的次级PPRC,那么从所述新的主PPRC将所述复制关系ID复制至所述新的次级PPRC。
15.根据权利要求14的系统,其中,所述处理器装置分配所述复制关系ID至一个卷并且返回所述复制关系ID至主机作为设备标识重要产品数据VPD页内部的供应商规格名称描述符。
16.根据权利要求9的系统,其中,所述处理器装置: 根据点对点远程复制PPRC的状态确定所述镜像卷中的一个卷的状态, 通过所述PPRC的状态指示是否执行从所述镜像卷中的一个卷至所述镜像卷中的另一个卷的切换, 在发生超时或者所述镜像卷中的一个卷出现故障时,从所述镜像卷中的一个卷切换至所述镜像卷中的另一个卷, 在所述超时超过阀值时再次尝试针对所述镜像卷中的一个卷的路径,以及 在执行切换之后,经由所述多路设备驱动器从所述镜像卷中的一个卷至所述镜像卷中的另一个卷通过替代路径重定向所述I/O至主机。
【文档编号】G06F9/48GK103793271SQ201310518365
【公开日】2014年5月14日 申请日期:2013年10月29日 优先权日:2012年10月29日
【发明者】J·M·巴恩斯, G·S·多姆罗, N·S·哈姆, C·S·麦尔格瑞恩, J·M·明奇, S·M·蒂 申请人:国际商业机器公司