存储装置、存储装置的控制方法及计算机可读的记录介质的制作方法

文档序号:6504833阅读:129来源:国知局
存储装置、存储装置的控制方法及计算机可读的记录介质的制作方法
【专利摘要】一种在TPGS适配的和非TPGS适配的多路径驱动器被使用的环境中可以没有问题地使用的存储装置。所述存储装置基于仅仅TPGS适配的多路径驱动器发送的指令是否被接收来判断所述TPGS适配的多路径驱动器和所述非TPGS适配的多路径驱动器中的哪一个被用于每个主机(50),在通过被设置为备用路径的路径从其中使用所述TPGS适配的多路径驱动器的所述主机接收到将为其返回检测的指令时,以忽略所述备用路径设置的方式来处理所述指令。
【专利说明】存储装置、存储装置的控制方法及计算机可读的记录介质
【技术领域】
[0001]本发明涉及存储装置、用于存储装置的控制方法以及计算机可读的记录介质。
【背景技术】
[0002]作为存储装置,存在能够通过多个路径与若干服务器连接的装置(例如,参见专利文献I和2)。近年来的这种存储装置通常是通过在它的主机中的每一个上安装目标端口组支持(Target Port Group Support, TPGS)适配的多路径驱动器来投入使用的装置(以下被称作传统的装置)。
[0003]引用列表
[0004]专利文献1:日本专利公开文献N0.2009-140062
[0005]专利文献2:日本专利公开文献N0.2005-78595

【发明内容】

[0006]技术问题
[0007]存在主机中的非TPGS适配的多路径驱动器误解传统装置的状态的情况,因此传统装置是在非TPGS适配的多路径驱动器在它的主机中正在被使用时可能出现无意的错误的装置。
[0008]具体地说,传统装置如下地被配置:在通过备用路径来接收检测要被返回至其的指令时返回“2(未准备好)/040B(逻辑单元不可访问在备用状态中的目标端口)”的检测。
[0009]然后,已经接收所述检测“2/040B”的TPGS适配的多路径驱动器识别用于发送所述指令的路径是备用路径,然后利用另一个路径等来执行所述指令的重发。
[0010]另一方面,非TPGS适配的多路径驱动器是不需要能够识别所述检测“2/040B”的含义的驱动器(没有指定对“2/040B”的检测的操作的驱动器)。因此,在传统装置与非TPGS适配的多路径驱动器一起使用时,存在非TPGS适配的多路径驱动器误解传统装置的状态的情况,这导致了无意的错误。
[0011]所公开的技术的一个目的是提供即使非TPGS适配的多路径驱动器被用于几个主机,使每个非TPGS适配的多路径驱动器能够不误解存储装置的状态的技术。
[0012]问题的解决方案
[0013]根据所公开的技术的一个方面,与均具有多个主机侧通信端口和多路径驱动器的多个主机连接的存储装置,包括:多个逻辑存储单位;多个通信端口,所述多个通信端口中的每一个要与一个或更多个主机侧通信端口连接;驱动器类型判断部,所述驱动器类型判断部在所述多个通信端口中的任何一个接收到TPGS适配的多路径驱动器发送但是非TPGS适配的多路径驱动器不发送的规定的SCSI指令时,将表示用于已经发送所述规定的SCSI指令的主机中的多路径驱动器是TPGS适配的多路径驱动器的信息储存到存储器中;以及指令处理部,所述指令处理部处理由所述多个通信端口接收的每个SCSI指令,其中,对于通过由用户设置为备用路径的通信路径所接收的SCSI指令,所述指令处理部通过参考所述存储器来判断TPGS适配的多路径驱动器是否被用于发送所述SCSI指令的主机,如果所述TPGS适配的多路径驱动器被用于所述主机,则将表示所述通信路径是备用路径的检测发回所述主机,然而如果所述TPGS适配的多路径驱动器不被用于所述主机,则假定通信路径不是所述备用路径来处理所述SCSI指令。
[0014]根据所公开的技术的一个方面,一种用于具有多个通信端口的存储装置的控制方法,所述多个通信端口通过多个路径要被连接到均具有多个主机侧通信端口和多路径驱动器的多个主机,从而处理器执行:在所述多个通信端口中的任何一个接收到TPGS适配的多路径驱动器发送但是非TPGS适配的多路径驱动器不发送的规定的SCSI指令时,将表示在已经发送所述规定的SCSI指令的主机中所使用的所述多路径驱动器是所述TPGS适配的多路径驱动器的信息储存到存储器中;以及当处理通过所述多个通信端口接收的每个SCSI指令时,对于通过由用户设置为备用路径的通信路径接收的SCSI指令,通过参考所述存储器来判断TPGS适配的多路径驱动器是否被用于发送了所述SCSI指令的主机,如果所述TPGS适配的多路径驱动器被用于所述主机,则将表示所述通信路径是所述备用路径的检测发回所述主机,然而如果所述TPGS适配的多路径驱动器不被用于所述主机,则假定所述通信路径不是所述备用路径来处理所述SCSI指令。
[0015]根据所公开的技术的一个方面,一种其中储存了程序的计算机可读记录介质,所述程序由具有多个通信端口的存储装置中的处理器来执行,所述多个通信端口通过多个路径要被连接到均具有多个主机侧通信端口和多路径驱动器的多个主机,所述程序使所述处理器执行包括下述操作的处理:在所述多个通信端口中的任何一个接收到TPGS适配的多路径驱动器发送但是非TPGS适配的多路径驱动器不发送的规定的SCSI指令时,将表示用于已经发送所述规定的SCSI指令的主机的所述多路径驱动器是所述TPGS适配的多路径驱动器的信息储存到存储器中;以及当处理通过所述多个通信端口接收的每个SCSI指令时,对于通过由用户设置为备用路径的通信路径接收的SCSI指令,通过参考所述存储器来判断TPGS适配的多路径驱动器是否被用于发送了所述SCSI指令的主机,如果所述TPGS适配的多路径驱动器被用于所述主机,则将表示所述通信路径是所述备用路径的检测发回所述主机,然而如果所述TPGS适配的多路径驱动器不被用于所述主机,则假定所述通信路径不是所述备用路径来处理所述SCSI指令。
[0016]发明的有益效果
[0017]根据所公开的技术,即使非TPGS适配的多路径驱动器被用于若干主机,也可使每个非TPGS适配的多路径驱动器能够不误解存储装置的状态。
【专利附图】

【附图说明】
[0018]图1是根据实施例的存储装置的配置和使用方式的说明性示图;
[0019]图2是包括在根据该实施例的存储装置内的CM的框图;
[0020]图3是包括在根据该实施例的存储装置内的CM的功能框图;
[0021]图4是通过驱动器类型判断部执行的驱动器类型判断处理的流程图;
[0022]图5是引发器管理表的说明性的示图;
[0023]图6是通过指令处理部执行的关于路径状态的改变的处理的流程图;以及
[0024]图7是通过该指令处理部执行的指令响应处理的流程图。【具体实施方式】
[0025]以下将参考附图深入地描述本发明的一个实施例。
[0026]首先,参考图1和图2来说明根据本实施例的存储装置10的配置和使用方式。
[0027]根据本实施例的存储装置10(图1)是假定它将通过多个路径被连接到均具有TPGS适配的多路径驱动器或者非TPGS适配的多路径驱动器的多个主机50所开发的装置。
[0028]如图1所示,存储装置10包括两个控制器模块12 (以下缩写成CM12)和盘部15。
[0029]盘部15是包括多个硬盘驱动器的单元。CMl2是使盘部15用作多个逻辑存储单元(所谓的逻辑单元)的单元(模块)。
[0030]如图2所不,CM12包括两个通信适配器(Communication Adapter, CA) 21、中央处理器(Central Processing Unit, CPU) 22、存储部 23 以及输入-输出(Input-Output, 10)控制器24。
[0031]包括在CM12内的每个CA21是通过光纤信道、因特网小型计算机系统接口(Internet Small Computer System Interface, iSCSI)等与主机 50 通信的单兀。每个CA21包括通过开关(switch) 55与几个主机总线适配器(Host Bus Adapter, HBA) 51连接的多个端口(通信端口 ;参见图1)。
[0032]存储部23 (图2)是包括随机存取存储器(Random Access Memory, RAM)、存储有通过CPU22执行的控制程序(固件)的闪速只读存储器(Read Only Memory, ROM)等的单元。10控制器24是在盘部15(盘部15中的每个硬盘驱动器)之间执行输入/输出控制的单元。CPU22是根据控制程序来整体地控制CM12中的各个部的单元。
[0033]接下来的讨论将集中在存储装置10的操作/功能上。
[0034]图3是包括在存储装置10内的CM12的功能框图。如图3所示,根据控制程序来工作的CPU22作为配置管理部22a、驱动器类型判断部22b以及指令处理部22c来运行。
[0035]驱动器类型判断部22b是每当SCSI指令(封装指令(encapsulatedcommand))被所有CM12上的一个端口接收时执行其过程被显示在图4中的驱动器类型判断处理的单元(功能块)。
[0036]S卩,在端口(以下为接收端口)接收SCSI指令(以下为所接收的指令)时,驱动器类型判断部22b判断所接收的指令是否是报告目标端口群(Report Target Port Groups,RTPG)指令(步骤S201)。要注意的是,尽管省去RTPG指令的详细说明,但是只有TPGS适配的多路径驱动器发送这个RTPG指令。
[0037]在所接收的指令不是RTPG指令(步骤SlOl ;否)时,驱动器类型判断部22b不执行特别的处理而结束这个驱动器类型判断处理(图4的处理)。
[0038]然而,在所接收的指令是RTPG指令(步骤SlOl ;是)时,驱动器类型判断部22b将所接收的指令的源引发器是发出RTPG的引发器的结果储存到用于所接收的端口的引发器管理表30中(步骤S102)。
[0039]在本文中,引发器管理表30被定义为基于逐个端口(参见图3)设置在存储部23中并且具有图5所示的配置的表。
[0040]S卩,引发器管理表30具有表本身中的每个记录的序号被设置至其的序号字段,以及所接收的指令的源HBA51的标识符(万维名称等)被设置至其的标识符字段。此外,弓丨发器管理表30具有通过相同记录中的标识符识别的HBA51的内部控制号码被设置至其的内部控制号码字段。此外,引发器管理表30具有表示所接收的指令的源HBA51是发出RTPG的引发器的信息(“发出RTPG的引发器”)的线程区域字段。
[0041]这个引发器管理表30是在引发器(HBA51)登录时与引发器有关的记录被增加至其,并且在引发器退出时与引发器有关的记录从其被删除的表。即,在执行步骤S102的处理时,与所接收的指令的源HBA51有关的记录已经存在于用于接收端口的引发器管理表30中。因此,在步骤S102中,仅仅执行将表示所接收的指令的源HBA51是发出RTPG的引发器的信息(“发出RTPG的引发器”)设置为记录的线程区域字段的处理。
[0042]已经完成步骤S102的处理(图4)的驱动器类型判断部22b终止驱动器类型判断处理。
[0043]配置管理部22a(图3)基本上是一种单元(功能块),该单元通过用户对主机50的操作来从用户接收改变一个配置管理表28的内容的指令,并且根据所接收的指令来改变配置管理表28的内容。
[0044]在本文中,配置管理表28是基于逐个端口设置在存储部23中的表。配置管理表28可以保留连接到与自身有关的端口(在下文中被称为关联端口)的每个HBA51的标识符、表示每个HBA51之间的路径是备用路径还是有效路径等的信息。
[0045]配置管理部22a在从用户被指示将某一端口和某一 HBA51之间的有效路径变为备用路径时,根据该指示来改变用于端口的配置管理表28的内容。此外,配置管理部22a也执行指示指令处理部22c的处理,以开始关于路径状态的改变的处理。
[0046]指令处理部22c通过来自配置管理部22a的指示来开始的关于路径状态的改变的处理是图6所示的过程中的处理。为了说明方便,将在详细讨论关于路径状态的改变的这个处理前讨论指令处理部22c的正常操作。
[0047]指令处理部22c通常在驱动器类型判断处理(图4)后执行关于每个SCSI指令的指令响应处理,该指令响应处理的过程被示出在图7中。
[0048]S卩,在处理SCSI指令(以下称为处理目标指令)时,指令处理部22c首先判断处理目标指令是否是有时需要检测的答复的检测响应目标指令(步骤S301)。
[0049]在处理目标指令不是检测响应目标指令(步骤S301 ;否)时,指令处理部22c执行指令处理(步骤S304)。顺便说一下,“执行指令处理”意思是“执行其内容被指定为处理目标指令的处理(例如,在步骤S301后所执行的步骤S304中,响应于询问指令的处理)”。
[0050]然后,已经完成步骤S304的处理的指令处理部22c终止指令响应处理(图7的处理),并且在已经接收到以下的SCSI指令时开始用于以下的SCSI指令的指令响应处理。
[0051]另一方面,在处理目标指令是检测响应目标指令(步骤S301 ;是)时,指令处理部22c判断处理目标指令的通信路径(用于发送处理目标指令的路径)是否是备用路径(步骤S302)。更具体地说,指令处理部22c判断表示处理目标指令的源引发器(源HBA51)之间的路径是备用路径的信息是否被储存在用于已经接收到处理目标指令的端口(以下称为接收端口)的配置管理表28上。
[0052]在处理目标指令的通信路径不是备用路径(步骤S302 ;否)时,指令处理部22c执行指令处理(步骤S304),并且此后终止指令响应处理。顺便说一下,在步骤S302后所执行的步骤S304中,例如,通过IO控制器24来执行控制盘部15中的硬盘驱动器的处理。[0053]另一方面,在处理目标指令的通信路径是备用路径(步骤S302 ;是)时,指令处理部22c参考用于接收端口的引发器管理表30 (图5)。然后,指令处理部22c基于在引发器管理表30上的信息来判断处理目标指令的源引发器是否是发出RTPG的引发器(步骤S303)。
[0054]在源引发器是发出RTPG的引发器(步骤S303;是)时,指令处理部22c将“2/040B”的检测发回到源引发器(步骤S305),并且此后结束指令响应处理。
[0055]然而,在源引发器不是发出RTPG的引发器(步骤S301 ;否)时,指令处理部22c执行指令处理(步骤S304)。即,在这种情况下,指令处理部22c通过忽略通信路径被设置为备用路径的事实来执行指令处理。
[0056]然后,已完成步骤S304的处理的指令处理部22c结束指令响应处理。
[0057]简而言之,在需要检测的答复的指令通过备用路径被接收并且指令的源驱动器是TPGS适配的多路径驱动器时,检测“2 (未准备好)/040B (在备用状态逻辑单元不可访问目标端口)”应该被发回。然而,通过非TPGS适配的多路径驱动器的检测“2/040B”的解释根据它们的出售者而不同。因此,由此得出结论在指令的源驱动器是非TPGS适配的多路径驱动器的情况下返回检测“2/040B”可能造成无意的错误。
[0058]另一方面,忽略备用路径设置并且执行命令处理可以使得检测“2/040B”不发送到非TPGS适配的多路径驱动器,这不会引起无意的错误。由于那个原因,存储装置10(CM12)被如下地配置:执行驱动器类型判断处理以及前面的过程的指令响应处理。
[0059]回到图6,将描述关于路径状态的改变的处理的内容。
[0060]正如已经说明的,关于路径状态的改变的处理是指令处理部22c使配置管理部22a在被用户指示将某一端口和某一 HBA51之间的路径(有效路径)改变为备用路径时执行的处理。
[0061]如图6所示,已经开始关于路径状态的改变的处理的指令处理部22c首先执行暂停处理(步骤S201)。
[0062]暂停处理是控制CA21以便完成每个已经被接收的SCSI指令的处理并且不接收与这次被变成备用路径的路径(以下被称作状态改变的路径)有关的SCSI指令。
[0063]已经完成暂停处理的指令处理部22c执行检测登记处理(步骤S202)。这个检测登记处理是登记(储存)表示在接收到下一个SCSI指令时,检测“6/2A06”将被返回到通过状态变换路径访问的每个逻辑存储单元的信息。要注意的是,检测“6 (单元注意)/2A06 (不对称访问状态改变)”是促使多路配置的重构的检测。已经接收到这个检测的TPGS适配的/非TPGS适配的多路径驱动器曾经从SAN(存储区域网;包括存储装置10、主机50等的网络)退出,并且再次登录到SAN。
[0064]已经完成检测登记处理的指令处理部22c执行将CA21的状态返回到通常状态(CA21也接收与状态改变的路径有关的SCSI指令的状态)的恢复处理(步骤S203)。
[0065]已经完成恢复处理的指令处理部22c开始根据通过检测登记处理所登记的内容将检测“6/2A06”发送到每个逻辑存储单元的检测发送处理(步骤S204)。要注意的是,已经完成恢复处理的指令处理部22c返回到它对已经被执行驱动器类型判断处理的每个SCSI指令执行指令响应处理(图7)的状态。即,已经完成恢复处理的指令处理部22c在如下的状态中工作:它通过发回检测“6/2A06”响应于经由状态变换路径的用于每个逻辑存储单元的SCSI指令,并且它对每个其它的SCSI指令执行指令响应处理。[0066]然后,已经完成检测发送处理的指令处理部22c结束关于路径状态的改变的处理。
[0067]如上所述,根据本实施例的存储装置10基于仅仅TPGS适配的多路径驱动器发送的指令是否被接收来判断TPGS适配的多路径驱动器和非TPGS适配的多路径驱动器中的哪一个被用于每个主机50中。并且,存储装置10在从其中使用TPGS适配的多路径驱动器的主机50通过被设置为备用路径的路径接收指令时,以忽略备用路径设置的方式来处理指令。因此,利用所使用的存储装置10,可以建立非TPGS适配的多路径驱动器不接收检测“2/040B”并且因此不误解存储装置10的状态的SAN。
[0068]此外,存储装置10具有可以为HBA和端口的每个组合(为每个所谓的I_T连结)进行路径状态的设置(与路径被用作有效路径还是备用路径有关的设置)的配置。
[0069]另一方面,现有的存储装置是必须为ΗΒΑ、端口以及逻辑存储单元的每个组合(为每个I_T_L连结)进行路径状态的设置的装置。并且,在必须为每个I_T_L连结设置路径状态的设置的情况下,操作者可能忘记改变一些路径的路径状态。因此,还可以说的是,根据本实施例的存储装置10是操作者在设置路径状态中犯错的概率比现有的存储装置低的
装直。
[0070]改进的实施例
[0071]如上所述的存储装置10能够以各种形式被修改。例如,存储装置10可以被修改成包括储存与所有端口相关的信息的表而不是上述的多个配置管理表28 (每个配置管理表28储存与特定端口有关的信息)。此外,存储装置10也可以被修改成包括储存关于所有端口的信息的表而不是上述的多个引发器管理表30的装置。
[0072]此外,存储装置10也可以被修改成必须为ΗΒΑ51、端口以及逻辑存储单元的每个组合(为每个I_T_L连结)进行路径状态的设置的装置。然而,如上所述,随着所使用的可以为HBA和端口的每个组合(为每个所谓的I_T连结)进行路径状态的设置的配置被使用,可以使操作者在设置路径状态中犯错的概率比现有存储装置低。因此,期望采用上述实施例的配置。
[0073]存储装置10可以被修改成CM12的数量、CMl2中的CA21的数量等与如上所述的那些数量不同的装置、其CA21执行通过CPU22所执行的上述处理的一部分的装置等。
[0074]附图标记列表:
[0075]10存储装置
[0076]12控制模块
[0077]15 盘部
[0078]21CA
[0079]22CPU
[0080]22a配置管理部
[0081]22b驱动器类型判断部
[0082]22c指令处理部
[0083]23存储部
[0084]2410 控制器
[0085]28配置管理表[0086]30引发器管理表
[0087]50 主机
[0088]5IHBA
[0089]55 开关
【权利要求】
1.一种与均具有多个主机侧通信端口和多路径驱动器的多个主机连接的存储装置,所述存储装置包括: 多个逻辑存储单元; 多个通信端口,所述多个通信端口中的每一个要与一个或更多个主机侧通信端口连接; 驱动器类型判断部,所述驱动器类型判断部在所述多个通信端口中的任何一个接收到目标端口组支持TPGS适配的多路径驱动器发送但是非TPGS适配的多路径驱动器不发送的规定的SCSI指令时,将表示用于已经发送所述规定的SCSI指令的主机的所述多路径驱动器是所述TPGS适配的多路径驱动器的信息储存到存储器中;以及 指令处理部,所述指令处理部处理所述多个通信端口接收的每个SCSI指令,其中,对于通过由用户设置为备用路径的通信路径所接收的SCSI指令,所述指令处理部通过参考所述存储器来判断TPGS适配的多路径驱动器是否被用于发送了所述SCSI指令的主机,如果所述TPGS适配的多路径驱动器被用于所述主机,则将表示所述通信路径是所述备用路径的检测发回所述主机,然而如果所述TPGS适配的多路径驱动器不被用于所述主机,则假定所述通信路径不是所述备用路径来处理所述SCSI指令。
2.如权利要求1所述的存储装置 ,还包括: 配置管理表,所述配置管理表对于主机侧通信端口和通信端口的每个组合来储存表示在它们之间的通信路径是有效路径还是备用路径的信息;以及 配置管理部,所述配置管理部将所述配置管理表的内容变为由所述用户指定的内容, 其中,所述指令处理部参考所述配置管理表来工作。
3.如权利要求2所述的存储装置,其中,所述配置管理部在被指示设置主机侧通信端口和通信端口之间的通信路径时,改变所述配置管理表的内容,并且在通过所述通信路径接收至每个逻辑存储单元的下一个SCSI指令时,开始将促使重构多路配置的检测发回所述SCSI指令的发送器的配置改变通知处理。
4.如权利要求1所述的存储装置,其中,所述规定的SCSI指令是报告目标端口组RTPG指令。
5.如权利要求3所述的存储装置,其中,由所述配置改变通知处理发回的检测是“6/2A06”。
6.一种用于具有多个通信端口的存储装置的控制方法,所述多个通信端口通过多个路径要被连接到均具有多个主机侧通信端口和多路径驱动器的多个主机,处理器执行: 在所述多个通信端口中的任何一个接收到目标端口组支持TPGS适配的多路径驱动器发送但是非TPGS适配的多路径驱动器不发送的规定的SCSI指令时,将表示用于已经发送所述规定的SCSI指令的主机的所述多路径驱动器是所述TPGS适配的多路径驱动器的信息储存到存储器中;以及 当处理通过所述多个通信端口接收的每个SCSI指令时,对于通过由用户设置为备用路径的通信路径接收的SCSI指令,通过参考所述存储器来判断TPGS适配的多路径驱动器是否被用于发送了所述SCSI指令的主机,如果所述TPGS适配的多路径驱动器被用于所述主机,则将表示所述通信路径是所述备用路径的检测发回所述主机,然而如果所述TPGS适配的多路径驱动器不被用于所述主机,则假定所述通信路径不是所述备用路径来处理所述SCSI指令。
7.一种其中储存了程序的计算机可读记录介质,所述程序由具有多个通信端口的存储装置中的处理器来执行,所述多个通信端口通过多个路径要被连接到均具有多个主机侧通信端口和多路径驱动器的多个主机,所述程序使所述处理器执行包括下述操作的处理:在所述多个通信端口中的任何一个接收到目标端口组支持TPGS适配的多路径驱动器发送但是非TPGS适配的多路径驱动器不发送的规定的SCSI指令时,将表示用于已经发送所述规定的SCSI指令的主机的所述多路径驱动器是所述TPGS适配的多路径驱动器的信息储存到存储器中;以及 当处理由所述多个通信端口接收的每个SCSI指令时,对于通过由用户设置为备用路径的通信路径接收的SCSI指令,通过参考所述存储器来判断TPGS适配的多路径驱动器是否被用于发送了所述SCSI指令的主机,如果所述TPGS适配的多路径驱动器被用于所述主机,则将表示所述通信路径是所述备用路径的检测发回所述主机,然而如果所述TPGS适配的多路径驱动器不被用于所述主机,则假定所述通信路径不是所述备用路径来处理所述SCSI指令。
【文档编号】G06F3/06GK103677657SQ201310261588
【公开日】2014年3月26日 申请日期:2013年6月27日 优先权日:2012年8月29日
【发明者】高仓淳, 服部健二 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1