存储子系统、主计算机、存储系统、负载均衡方法和程序的制作方法

文档序号:6612213阅读:190来源:国知局
专利名称:存储子系统、主计算机、存储系统、负载均衡方法和程序的制作方法
存储子系统、主计算机、存储系统、 负载均衡方法和程序技术领域本申请基于且要求于2006年6月27日提出的日本专利申请No. 2006-176500的优先权利益,其公开内容在此被完整地结合作为参考。本发明涉及存储设备的负载均衡技术,特别地,涉及其中存储子 系统和主计算机彼此合作以执行负载均衡处理的技术。
背景技术
当多个主计算机通过FC (光纤通道)交换机连接到磁盘阵列子 系统时,磁盘阵列子系统中的某一主机端口或某一控制器被集中加载, 因此产生在它响应时间(主机端口瓶颈或控制器瓶颈)上的延迟。为了避免响应时间上的这种延迟由人分析不断改变的I/O性能以 适当地执行负载均衡是麻烦的。日本专利申请公开No. 2003-296153公开了在存储子系统内执行负载均衡的存储设备。该存储系统包括存储子系统中的多个存储处理部,并且在每个存 储处理部上测量处理负载。进一步地,针对负载限定最大/最小阈值。当任意存储处理部被加载超过最大值时,它询问其它存储处理部 它们的负载状态从而分配其负载给低负载存储处理部。当任意存储处 理部被加载小于最小值时,它询问其它存储处理部它们的负载状态从 而释放其负载给低负载存储处理部,而该任意存储处理部自己进入节 电模式。如上所述,存储处理部的负载均衡改进了对主机的响应和功率效率。按照前述的相关技术,负载均衡处理只在存储子系统(存储处理
部)中执行,主计算机和存储子系统不能彼此一起工作来执行负载均 衡处理。发明内容因此,本发明的示意性目的是提供在其中主计算机和存储子系统 能够彼此合作以执行负载均衡处理的存储系统等。作为本发明的一个示意性方面,按照本发明的存储子系统的控制 器包括以下功能周期性地产生并更新负载均衡请求表,所述负载均 衡请求表包括指示每个主机端口是否需要进行负载均衡的信息、标识 请求负载均衡的主计算机的主机总线适配器的主机总线适配器标识信息以及标识共享负载的主机端口的信息;以及根据主计算机的请求发送负载均衡请求表给主计算机。作为本发明的又一个示意性方面,按照本发明的主计算机包括 负载均衡执行单元,用于请求存储子系统发送负载均衡请求表,所述 负载均衡请求表包括指示存储子系统中的每个主机端口是否需要进行 负载均衡的信息、标识请求负载均衡的主机总线适配器的主机总线适 配器标识信息以及标识共享负载的主机端口的信息,以及当响应于该 请求从存储子系统发送的负载均衡请求表中的主机总线适配器标识信 息包括相应于其主机总线适配器的信息时,按照包括在负载均衡请求 表中的信息执行负载均衡。作为本发明另一个示意性方面,按照本发明的存储系统包括主计算机;以及存储子系统。存储子系统具有多个用于接收来自主计算机的I/O命令的主机端 口 ,以及用于根据I/O命令执行从存储设备读出/向存储设备写入的控 制器,其中该控制器具有周期性地产生并更新负载均衡请求表,以及 根据主计算机的请求发送负载均衡请求表给主计算机的功能,所述负 载均衡请求表包括指示每个主机端口是否需要进行负载均衡的信息、 标识请求负载均衡的主计算机的主机总线适配器的主机总线适配器标 识信息以及标识共享负载的主机端口的信息。作为本发明又一个示意性方面,主计算机具有发送I/O命令给存
储子系统的多个主机总线适配器以及负载均衡执行单元,所述负载均 衡执行单元用于请求存储子系统发送负载均衡请求表,以及当响应于 该请求从存储子系统发送的负载均衡请求表中的主机总线适配器标识 信息包括与其主机总线适配器相应的信息时,根据包括在负载均衡请 求表中的信息执行负载均衡。作为本发明又一方面,按照本发明的负载均衡方法描述如下存 储子系统周期性地产生并更新负载均衡请求表,所述负载均衡请求表 包括指示每个主机端口是否需要进行负载均衡的信息、标识请求负载 均衡的主计算机的主机总线适配器的主机总线适配器标识信息以及标 识共享负载的主机端口的信息;主计算机请求存储子系统发送负载均 衡请求表;响应于该请求存储子系统发送负载均衡请求表给主计算机; 当从存储子系统接收的负载均衡请求表的主机总线适配器标识信息包 括与其主机总线适配器相应的信息时,主计算机根据包括在负载均衡请求表中的信息执行负载均衡。作为本发明更进一步的示意性方面,按照本发明的负载均衡程序使存储子系统执行以下处理周期性地产生并更新负载均衡请求表, 所述负载均衡请求表包括指示每个主机端口是否需要进行负载均衡的 信息、标识请求负载均衡的主计算机的主机总线适配器的主机总线适 配器标识信息以及标识共享负载的主机端口的信息;以及根据主计算机的请求发送负载均衡请求表给主计算机。作为本发明更进一步的示意性方面,按照本发明的第二负载均衡程序使主计算机执行以下处理:请求存储子系统发送负载均衡请求表, 所述负载均衡请求表包括指示存储子系统的每个主机端口是否需要进 行负载均衡的信息、标识请求负载均衡的主机总线适配器的主机总线 适配器标识信息以及标识共享负载的主机端口的信息;并且当响应于 该请求从存储子系统发送的负载均衡请求表中的主机总线适配器标识 信息包括相应于其主机总线适配器的信息时,按照包括在负载均衡请 求表中的信息执行负载均衡。根据本发明,存储子系统响应于主计算机的请求发送负载均衡请求表。负载均衡请求表指示信息比如指定将共享负载的主机端口的信
息,因此主计算机能够根据包括在负载均衡请求表中的信息执行负载 均衡处理。也就是说,可以实现自动负载均衡功能,在其中存储子系 统和主计算机彼此合作。


图1是显示作为本发明的一个示意性实施例的SAN系统的总框图;图2是主计算机和磁盘阵列子系统的功能框图;图3是显示磁盘阵列子系统的接收命令处理操作的流程图;图4A是显示磁盘阵列子系统的WWPN获得命令的处理操作的流 程图,图4B是显示磁盘阵列子系统的负载均衡请求表获得命令的处 理操作的流程图;图5是主计算机的路径监视操作的流程图;图6是显示负载均衡请求表的例子的图;图7是显示负载均衡请求表的例子的图;以及图8是显示负载均衡请求表的例子的图。
具体实施方式
此后,将参考附图解释作为本发明一个示意性实施例的SAN (存 储区域网络)系统50 (存储系统的一个例子)的配置和操作。图1是SAN系统50的总框图。该SAN系统50包括多个主计算 机la、 lb等(此后,在不需要区分它们的情况下称为"主计算机l") 以及磁盘阵列子系统IO (存储子系统的一个例子)。主计算机1具有主机总线适配器(此后,称为"HBA"),磁盘阵 列子系统10具有主机端口 。 HBA和主机端口通过FC交换机40和41 彼此连接。HBA和主机端口被给予WWPN (World Wide Port Name 全球端口名称),比如"WWPNa"等,如图1的圆括号所示。WWPN 是唯一识别端口的64位地址,该地址在制造HBA和控制器时写入 ROM (只读存储器)。主计算机1通过访问路径30、 31、 32发出I/O命令给磁盘阵列子
系统10,并执行从逻辑盘读出数据/向逻辑盘写入数据。图2是图1中的主计算机la和磁盘阵列子系统IO的功能性框图。 主计算机la具有文件系统2、上层驱动器(upper driver) 3、路径冗余驱动器4、下层驱动器(lower driver) 5、两个HBA6和7。 该磁盘阵列子系统IO具有两个控制器11、 12和逻辑盘13、 14、15等。(主计算机la的配置) 应用程序8是由主计算机1的CPU(中央处理单元)执行的任意 应用程序,并且请求文件系统2从逻辑盘13等读出文件/向逻辑盘13 等写入文件。文件系统2维持逻辑驱动器中的文件的文件名和逻辑驱动器中的 存储位置之间的链接。上层驱动器3通过文件系统2传递应用程序8给定的I/O给路径 冗余驱动器4。HBA 6和7分别通过主机接口电缆20和21连接到磁盘阵列子系 统10的控制器11和12上的主机端口 16和18,并且主计算机l对由 磁盘阵列子系统10控制的逻辑盘13、 14和15执行I/O。 下层驱动器5控制HBA6和7从而执行I/O处理。 路径冗余驱动器4传递从上层驱动器3接收的I/O给下层驱动器 5,并通过HBA 6或7从下层驱动器5接收对由磁盘阵列子系统控制 的逻辑盘13、 14和15执行I/0的结果,从而确定是正常终止还是异 常终止。当确定异常终止由路径的组成部件(比如HBA 6、 7,主机 接口电缆20、 21以及控制器11、 12)的失灵(故障)引起时,路径 冗余驱动器4通过使用替换路径执行已经被异常终止结束的I/O的重 试处理。按照本发明,路径冗余驱动器4从磁盘阵列子系统10获得负载 均衡请求表24,并根据包括在该表中的信息执行负载均衡。具体地,路径冗余驱动器4包括通过有效地使用多个I/O路径从而使得i/o不只集中在i/o路径中的一个(例如,控制器ll)来执行I/O的负载均衡(分配I/O给控制器11或12上的主机端口 16、 17、18、 19)的功能。也就是说,路径冗余驱动器4和执行上述内容的CPU是负载均 衡执行单元的一个例子。主计算机1执行的每个I/O的结果在HBA 6、下层驱动器5、路 径冗余驱动器4、上层驱动器3、文件系统2和应用程序8的每一层被 评估,并且如果需要的话执行某种处理。主计算机lb等具有与主计算机la的配置相同类型的配置。然而, 这些主计算机中的一些可以不包括路径冗余驱动器4。 (磁盘阵列子系统IO的配置)控制器11和12分别通过内部总线22和23连接到逻辑盘13、 14 和15,并且两个控制器都能够访问每一个逻辑盘。控制器11和12产生负载均衡请求表24,将它存储到存储设备比 如RAM等中并周期性地更新它。进一步地,控制器11和12响应于 主计算机1的请求将负载均衡请求表24发送给主计算机。负载均衡请求表24的细节将在后面描述。由主计算机1内运行的应用程序8写入磁盘阵列子系统10的数 据(写数据转发I/0)通过应用程序8、文件系统2、上层驱动器3、 路径冗余驱动器4、下层驱动器5、 HBA 6、主机接口电缆20、主机 端口 16并到达控制器11,然后被写入分配的逻辑盘13、 14或15。由主计算机1内运行的应用程序8从磁盘阵列子系统10读出的 数据(读数据转发I/0)从分配的逻辑盘13、 14或15通过控制器U、 主机端口 16、主机接口电缆20并到达HBA 6,并且进一步地通过下 层驱动器5、路径冗余驱动器4、上层驱动器3、文件系统2且到达应 用程序8。逻辑盘13等是由应用程序8识别为各独立存储设备的存储区域。 逻辑盘13可以被配置为一个物理存储设备(例如,硬盘设备)的一部 分存储区域或整个存储区域,或者可以被配置为多个物理存储设备。接下来,将解释SAN系统50的运行。首先,将描述磁盘阵列子系统10—侧的运行。图3、 4A和4B是显示由磁盘阵列子系统10的控制器11和12进行的对从主计算机i接收的i/o命令的一部分处理过程的流程图。确定从主计算机1接收的命令由控制器11和12是否可以被正常 地执行(图3的SlOl),如果该命令不被正常地执行,则处理进行到 异常终止处理(S120)。如果该命令是能够被正常执行的命令,则控制器11和12确定它 是否是针对已经发出该命令的HBA的WWPN的获得命令(S102)。如果是HBA的WWPN获得命令,则处理进行到HBA的WWPN 获得命令译码处理(S121),而如果不是,则处理进行到S103。如果处理从S102进行到HBA的WWPN获得命令译码处理 (S121),则已经发出该命令的HBA的WWPN被编辑(图4A的S201), 而该处理进行到正常终止处理(S202)。例如,WWPN按下面过程来编辑。(1) 预先在系统中定义"HBA的WWPN获得命令";(2) 路径冗余驱动器4通过每个HBA发出"HBA的WWPN获 得命令",每个HBA—次,从而识别(获得)将由路径冗余驱动器4 本身控制的HBA (己经发出I/0 (1/0路径))的WWPN;(3) 当磁盘阵列子系统10接收"HBA的WWPN获得命令"时, 编辑该发出HBA的WWPN(作为将被返回的数据),然后将它作为该 命令的执行结果返回给路径冗余驱动器4;以及(4) 路径冗余驱动器4获得返回的数据从而能够识别(获得) 该HBA的WWPN。如果不是HBA的WWPN获得命令,则控制器11和12确定是否 是负载均衡请求表获得命令(在S102处确定为"否",S103)。如果 是负载均衡请求表获得命令,则处理进行到负载均衡请求表获得命令 译码处理(S122),而如果不是,则进行到S104。当处理从S103迸行到负载均衡请求表获得命令译码处理(S122) 时,负载均衡请求表24被编辑并发送到已经被请求获得它的主计算机 1 (图4B的S301),并且处理进行到正常终止处理(S302)。如图6所示,这里编辑的负载均衡请求表包括关于在磁盘阵列子 系统10的每个控制器11和12上的主机端口的WWPN的信息、负载
均衡请求的数目、请求负载均衡的HBA的WWPN、将共享负载的候 选主机端口的数目以及将共享负载的候选主机端口的WWPN。负载均衡请求的数目是请求与到主机端口的I/O有关的负载均衡 的HBA的数目。当与到主机端口的I/0有关的负载均衡不必需时,该 值将为"0"。"请求HBA的WWPN"部分的数目依赖于负载均衡请求 的数目。例如,当"负载均衡请求的数目"是"2"时,存在两个针对 "请求HBA的WWPN"的部分,并且其值将是例如"WWPNa"、 "WWPNb"等。请求负载均衡的HBA基于下面的标准进行选择。(1) 向最集中加载的主机端口发送最多I/0的HBA被选择;以及(2) 在对由发出的I/O指定的实际数据进行存储定位到确定的主 机端口后,请求负载均衡的HBA被选择并弓I导从而发出I/O给比当前 主机端口更适合的主机端口 (如果存在的话)以处理I/0。请求HBA的WWPN是请求负载均衡的HBA的WWPN。主计算 机l的路径冗余驱动器4引用该部分,并且如果存在由路径冗余驱动 器4管理的HBA的WWPN,则路径冗余驱动器4将通常情况下发送 给在负载均衡请求的数目部分中显示为1或更多的主机端口的I/O, 分配给其WWPN被写入共享负载的主机端口的WWPN部分中的一个 主机端口或多个主机端口。考虑图1中的主机端口 16 (WWPN0)被集中加载的情况,在磁 盘阵列子系统10的控制器11和12获得并分析过去某一段时间的I/O 统计信息从而分配针对HBA 6 (WWPNa)的I/0给主机端口 18、 19 或17 (WWPN2、 WWPN3、 WWPN1)中任一个的情况下,当确定主 机端口 16的响应延迟能够被避免时,在主机端口 16 (图6中的第一 行)的适当部分上编辑"1"作为负载均衡请求的数目,"WWPNa" 作为请求HBA的WWPN, "3"作为共享负载的候选主机端口的数目, "WWPN2"、 "WWPN3"、 "WWPN1"作为共享负载的候选主机端口 的WWPN。磁盘阵列子系统10将连接到磁盘阵列子系统10的每一个HBA 看成负载均衡请求表的请求HBA的候选,设想每个主计算机具有路 径冗余驱动器4。然而,在负载均衡请求表被发送后的某一段时间内 没有响应负载均衡请求的请求HBA被从负载均衡请求表24中清除。返回图3。当接收的命令既不是HBA的WWPN获得命令也不是 负载均衡请求表获得命令时,执行现存的命令译码处理(现存处理) (在S102和S103上的判断是"否",S104)。接下来,将解释路径冗余驱动器4的运行。图5是显示由图1中路径冗余驱动器4执行的一部分处理的流程 图,特别地,涉及路径监视处理。路径监视是连续性测试,其中,在 每个确定周期I/0被产生和发送给由路径冗余驱动器4管理的多个I/0 路径,从而确认是否发生故障。在异步于应用程序8的I/0发出周期 的每一个确定周期由路径冗余驱动器4产生并发出用于监视的I/O。 为了确认连续性,INQUIRY命令等已经被用作用于路径监视的I/O。这里,所进行的描述基于如下基础在其初始化阶段,路径冗余 驱动器4已获得由路径冗余驱动器4本身管理的HBA的WWPN或由 路径冗余驱动器4本身管理的I/0路径,g卩,路径冗余驱动器4已获 得磁盘阵列子系统IO的主机端口 16等的WWPN。由路径冗余驱动器4管理的I/O路径中的一个被选择,且与负载 均衡请求表获得命令有关的I/0被生成(S401),然后该I/0请求被发 送给下层驱动器5 (S402)。S402的执行结果在S403被确认。如果是表示I/O路径故障发生 的异常终止,则处理进行到异常终止处理(S410)。如果是表示已经获得负载均衡请求表的正常终止(S404),则路 径冗余驱动器4确定由路径冗余驱动器4本身管理的HBA的WWPN 是否在该负载均衡请求表中(S405),并在没有由它本身管理的HBA 的WWPN的情况下终止该路径监视处理(S411)。如果存在由路径冗余驱动器4本身管理的HBA的WWPN,则确 定共享负载的候选主机端口是否在由路径冗余驱动器4本身管理的 1/0路径中(S406),并且如果不在由其管理的I/0路径中,则路径监 视处理终止(S412)。
在S407中,从负载均衡请求表中共享负载的候选主机端口中选 择一个或多个由路径冗余驱动器4管理的I/O路径,并执行负载均衡。例如,在所接收的负载均衡请求表是图6中所示的负载均衡请求 表的情况下,路径冗余驱动器4在"共享负载的主机端口的WWPN" 中选择与主机端口 18相应的"WWPN2",因为相应于HBA 6的 "WWPNa"被包括在"请求HBA的WWPN"中,并且使用I/O路径 33分配通常情况下通过图1中的I/O路径31发送的I/O。如上所述,提供了一种将集中在某一主机端口的负载分配给其它 主机端口的单元。接下来,将解释SAN系统50的效果。第一个效果是通过在路径冗余驱动器4和磁盘阵列子系统10之 间的合作、协力运行可以为整个系统提供自动负载均衡功能。第二个效果是没有产生用于路径监视(路径的连续性确认)的额 外I/0负载。原因是使用负载均衡请求表获得命令来替代用于路径监视的命 令,也就是说,获得负载均衡请求表,并且负载均衡请求表己被获得 意味着命令的正常终止且还起到路径监视的作用。因此,本发明没有 产生额外I/O负载,而传统的路径冗余驱动器周期性地发出用于路径 监视的命令(比如"INQUIRY命令"、"TEST UNIT READY命令"等), 并且在命令正常终止的情况下确定路径中没有故障。第三个效果是上层驱动器3、下层驱动器5、中间件和应用程序8 不需要被重新建模,因为路径冗余驱动器4和磁盘阵列子系统的合作, 以及它们的管理和控制在路径冗余驱动器4的范围内被执行。在图1和2中示出的SAN 50系统是本发明的示意性实施例中的 一个例子,而本发明也可以以下面的示意性实施例来实现。如图7所示,可以在负载均衡请求表24中设置负载均衡请求率 (%)。它表示将从负载均衡请求WWPNa发送到主机端口 WWPN0 的I/O将以负载均衡请求率(%)指定的比率被分配给一个或多个共 享负载的候选主机端口 (表示为WWPN2、 3、 1)。在图7的情况下, 路径冗余驱动器4在图5的S407上执行负载均衡,以分配通常被发
送给主机端口 16的I/O的40%给主机端口 18。根据上面的内容,I/O集中加载的主机端口的负载均衡可以被精 确地控制。如图8所示,可以在负载均衡请求表24中额外设置主机端口 18 (WWPN2)、 19 (WWPN3)、 17 (WWPN1)的负载共享率(%)。假 设主计算机la连接到所有的主机端口,路径冗余驱动器4执行图5 的S407中的负载均衡,以分配通常发送给主机端口 16的I/O的40%, 其中将被分配的这些1/0的50%由主机端口 18共享,30%由主机端口 19共享,而20%由主机端口 17共享。根据上述内容,I/O集中加载的主机端口的负载均衡以及将被分 配负载的主机端口的共享率能够被精确地控制。在图2中,具有两个HBA6和7的主计算机被显示为配置的例子。 HBA的数目由主计算机中运行的OS的类型、驱动器5或主计算机1 的硬件限制,然而,不由路径冗余驱动器4限制。在图2中,具有两个控制器11和12的磁盘阵列子系统10被显 示为配置例子,然而,控制器的数量没有限制。在图2中,具有分别带有两个主机端口的控制器11和12的磁盘 阵列子系统IO被显示为配置例子,然而,控制器的主机端口的数量没 有限制。在图1中,其中HBA6、 7和控制器11、 12通过FC交换机40 和41彼此连接的配置被显示为配置例子,然而,这些可以通过集线器 连接,此外,这些可以通过主机接口电缆直接连接而不需要交换机或 集线器。在图2中,磁盘阵列子系统10中的逻辑盘13等被显示为例子, 然而,这些可以被配置为与磁盘阵列子系统10连接的外部磁盘比如 JBOD (简单磁盘捆绑)。在图1和2中连接到主计算机1的磁盘阵列子系统10的数量没 有限制。在图1中在磁盘阵列子系统10中配置的逻辑盘的数量没有限制。 在图1中在磁盘阵列子系统10内的内部总线的数量没有限制。根据本示意性实施例,磁盘阵列子系统10被显示为存储子系统的例子,然而,可以使用另一类型的设备。接着,将解释本发明的另一示意性实施例。根据本发明的示意性 实施例的存储子系统的控制器可以被配置为具有周期性地产生并更新 负载均衡请求表,以及根据主计算机的请求发送负载均衡请求表给该 主计算机的功能,其中负载均衡请求表包括指示每个主机端口是否需 要进行负载均衡的信息、标识请求负载均衡的主计算机的主机总线适 配器的主机总线适配器标识信息以及标识共享负载的主机端口的信 息。按照上述存储子系统,该控制器响应于主计算机的请求发送负载 均衡请求表。负载均衡请求表指示信息比如指定共享负载的主机端口 的信息,因此主计算机能够根据包括在负载均衡请求表中的信息执行 负载均衡处理。也就是说,存储子系统和主计算机彼此合作从而实现 自动负载均衡功能。在上述存储子系统中,负载均衡请求表可以包括指定在由请求负载均衡的主机总线适配器发送的I/O命令中要执行负载均衡的I/O命令的比率的信息。根据上述内容,主计算机只发送将被发送的一部分I/O命令给与从通常的主机端口不同的主机端口,从而负载均衡处理能够被更精确 地控制。在上述存储子系统中,负载均衡请求表可以包括指定在共享负载的每个主机端口处将由请求主机总线适配器发送的I/O命令的比率的倍息o根据上述内容,主计算机发送i/o命令给与通常的主机端口不同的多个主机端口,从而负载均衡处理能够被更精确地控制。 在上述存储子系统中,控制器可以删除关于请求负载均衡的主机总线适配器中没有在负载均衡请求表发送后的预定时间段内响应的主机总线适配器的信息。根据上述内容,在连接的主计算机不具有负载均衡处理功能或只有一个连接到存储子系统的路径的情况下,从用于负载均衡处理请求
表的对象中排除这样的主计算机的主机总线适配器,用于负载均衡处 理请求表的产生过程能够縮短。按照本发明的示意性实施例的主计算机可以被配置为具有负载 均衡执行单元,用于请求存储子系统发送负载均衡请求表,所述负载 均衡请求表包括指示存储子系统的每个主机端口是否需要进行负载均 衡的信息、标识请求负载均衡的主机总线适配器的主机总线适配器标 识信息以及标识共享负载的主机端口的信息,并且当响应于请求由存 储子系统发送的负载均衡请求表的主机总线适配器标识信息包括与其 主机总线适配器相应的信息时,根据包括在负载均衡请求表中的信息 执行负载均衡。按照上述主计算机,从存储子系统接收的负载均衡请求表指示信 息比如指定共享负载的主机端口的信息,从而负载均衡处理可以根据 包括在负载均衡请求表中的信息而被执行。也就是说,存储子系统和 主计算机彼此合作从而实现自动负载均衡功能。进一步地,根据负载均衡请求表是否可以被获得,可以发现到存储子系统的i/o路径是否正常运行。也就是说,负载均衡请求表获得处理能够替代传统执行的路径监视处理。因此,由于与存储子系统的合作,没有产生额外的i/o负载。根据本发明的示意性实施例的存储系统包括主计算机和存储子 系统。存储子系统具有用于从主计算机接收I/O命令的多个主机端口和 根据I/O命令执行从存储设备的读出/向存储设备的写入的控制器,其中,控制器具有周期性地产生并更新负载均衡请求表、以及根据主计 算机的请求发送负载均衡请求表给该主计算机的功能,其中负载均衡 请求表包括指示每个主机端口是否需要进行负载均衡的信息、标识请 求负载均衡的主计算机的主机总线适配器的主机总线适配器标识信息 以及标识共享负载的主机端口的信息。主计算机具有用于发送I/O命令给存储子系统的多个主机总线适配器以及负载均衡执行单元,所述负载均衡执行单元用于请求存储子 系统发送负载均衡请求表,以及当响应于请求由存储子系统发送的负
载均衡请求表的主机总线适配器标识信息包括与其主机总线适配器相 应的信息时,根据包括在负载均衡请求表中的信息执行负载均衡。按照上述的存储系统,存储子系统的控制器响应于主计算机的请 求发送负载均衡请求表。负载均衡请求表指示信息比如指定共享负载 的主机端口的信息,从而主计算机可以根据包括在负载均衡请求表中 的信息执行负载均衡处理。也就是说,存储子系统和主计算机彼此合 作从而实现自动负载均衡功能。根据本发明的示意性实施例的负载均衡方法可以被构建,其中存 储子系统周期性地产生并更新负载均衡请求表,所述负载均衡请求表 包括指示每个主机端口是否需要进行负载均衡的信息、标识请求负载 均衡的主计算机的主机总线适配器的主机总线适配器标识信息和标识 共享负载的主机端口的信息,主计算机请求存储子系统发送负载均衡 请求表,响应于该请求存储子系统发送负载均衡请求表给主计算机, 以及当从存储子系统接收的负载均衡请求表的主机总线适配器标识信 息包括与其主机总线适配器相应的信息时,主计算机根据包括在负载 均衡请求表中的信息执行负载均衡。按照上述的负载均衡方法,根据主计算机的请求存储子系统发送 负载均衡请求表。负载均衡请求表指示信息比如指定共享负载的主机 端口的信息,从而主计算机可以根据包括在负载均衡请求表中的信息 执行负载均衡处理。也就是说,存储子系统和主计算机彼此合作从而 实现自动负载均衡功能。进一步地,根据负载均衡请求表是否可以被获得,可以发现主计算机和存储子系统之间的i/o路径是否正常运行。也就是说,负载均衡请求表获得处理能够替代传统执行的路径监视处理。因此,由于主计算机和存储子系统彼此合作,没有产生额外的I/O负载。在上述负载均衡方法中,负载均衡请求表可以包括指定在由被请求的主机总线适配器发送的I/O命令中要执行负载均衡的I/O命令的比率的信息。根据上述内容,主计算机只发送将被发送的一部分I/O命令给与通常的主机端口不同的主机端口,从而负载均衡处理能够被更精确地控制。在上述负载均衡方法中,负载均衡请求表可以包括指定在共享负 载的每个主机端口处从请求的主机总线适配器发送的I/O命令的比率 的信息。根据上述内容,主计算机发送i/o命令给与通常的主机端口不同的多个主机端口,从而负载均衡处理能够被更精确地控制。在上述负载均衡方法中,存储子系统可以从负载均衡请求表删除 关于请求负载均衡的主机总线适配器中没有在负载均衡请求表被发送 后的预定时间段内响应的主机总线适配器的信息。根据上述内容,在主计算机不具有负载均衡处理功能或只有一个 连接到存储子系统的路径的情况下,通过从用于负载均衡处理的请求 表的对象中排除这样的主计算机的主机总线适配器,用于负载均衡处 理请求表的产生过程能够縮短。按照本发明的示意性实施例的负载均衡程序使得存储子系统执 行如下操作周期性地产生并更新负载均衡请求表、以及根据主计算 机的请求发送负载均衡请求表给该主计算机,其中负载均衡请求表包 括指示每个主机端口是否需要进行负载均衡的信息、标识请求负载均 衡的主计算机的主机总线适配器的主机总线适配器标识信息以及标识 共享负载的主机端口的信息。按照上述的负载均衡程序,存储子系统被控制从而响应于主计算 机的请求发送负载均衡请求表。负载均衡请求表指示信息比如指定共 享负载的主机端口的信息,从而主计算机可以根据包括在负载均衡请 求表中的信息执行负载均衡处理。也就是说,存储子系统和主计算机 彼此合作从而实现自动负载均衡功能。进一步地,根据负载均衡请求表是否可以被获得,可以发现主计算机和存储子系统之间的i/o路径是否正常运行。也就是说,负载均衡请求表获得处理能够替代传统执行的路径监视处理。因此,由于主计算机和存储子系统的合作,没有产生额外的i/o负载。在上述负载均衡程序中,负载均衡请求表可以包括指定在由请求 的主机总线适配器发送的I/O命令中要执行负载均衡的I/O命令的比
率的信息。根据上述内容,主计算机只发送将被发送的一部分I/O命令给与通常的主机端口不同的主机端口,从而负载均衡处理能够被更精确地 控制。在上述负载均衡程序中,负载均衡请求表可以包括指定在每个共享负载的主机端口处由请求的主机总线适配器发送的I/O命令的比率的信息。根据上述内容,主计算机发送i/o命令给不同于通常的主机端口的多个主机端口,从而负载均衡处理能够被更精确地控制。上述负载均衡程序可以使存储子系统执行如下操作从负载均衡 请求表中删除关于请求负载均衡的主机总线适配器中没有在负载均衡 请求表被发送后的预定时间段内响应的主机总线适配器的信息。根据上述内容,在主计算机不具有负载均衡处理功能或只有一个 连接到存储子系统的路径的情况下,通过从负载均衡处理请求表中排 除主计算机的主机总线适配器,负载均衡请求表的产生过程能够縮短。按照本发明的示意性实施例的第二负载均衡程序可以使主计算 机执行如下处理请求存储子系统发送负载均衡请求表,其中负载均 衡请求表包括指示存储子系统的每个主机端口是否需要进行负载均衡 的信息、标识请求负载均衡的主机总线适配器的主机总线适配器标识 信息以及标识共享负载的主机端口的信息;以及当响应于请求由存储 子系统发送的负载均衡请求表中的主机总线适配器标识信息包括与其 主机总线适配器相应的信息时,根据包括在负载均衡请求表中的信息 执行负载均衡。按照上述负载均衡程序,从存储子系统接收的负载均衡请求表指 示信息比如指定共享负载的主机端口的信息,从而主计算机可以根据 包括在负载均衡请求表中的信息执行负载均衡处理。也就是说,存储 子系统和主计算机彼此合作从而实现自动负载均衡功能。进一步地,根据负载均衡请求表是否可以被获得,可以了解在主计算机和存储子系统之间的1/o路径是否正常运行。也就是说,负载均衡请求表获得处理能够替代传统执行的路径监视处理。因此,由于
与存储子系统的合作,没有产生额外的i/o负载。上述负载均衡程序可以被包括作为主计算机上运行的路径冗余 驱动器的功能。根据上述内容,与存储子系统合作的负载均衡在路径冗余驱动器 的范围内被处理,因此在主计算机上不同于路径冗余驱动器的层等上 运行的程序,比如上层驱动器、下层驱动器、中间件、应用程序,不 需要被重新建模。按照本示意性实施例,WWPN被用作HBA和主机端口的标识信 息。然而,标识信息不局限于WWPN,任何信息都能够作为标识信息, 只要能用来唯一识别HBA与主机端口 。参照附图解释了各种实施例,然而,本发明不局限于这些实施例。 只要它们属于权利要求的范围它们就能够进行各种变化,并且这些各 种变化包括在权利要求中。
权利要求
1.一种存储系统,包括主计算机;以及存储子系统,用于在从主计算机接收到I/O命令时执行存储处理;其中,存储子系统包括产生负载均衡请求表来管理关于从主计算机接收I/O命令的多个主机端口的操作状态的实际信息从而响应于主计算机的请求输出负载均衡请求表的功能;以及主计算机包括接收从存储子系统输出的负载均衡请求表从而根据接收的负载均衡请求表执行针对主机端口的I/O命令的均衡处理的功能。
2. 如权利要求1所述的存储系统,其中 存储子系统包括多个主机端口,用于从主计算机接收I/0命令;以及控制器,用于根据I/O命令执行从存储设备的读出/向存储设备的写入,其中该控制器具有以下功能周期性地产生并更新负载均衡请 求表,以及根据主计算机的请求发送负载均衡请求表给主计算机,所 述负载均衡请求表包括指示每个主机端口是否需要进行负载均衡的信 息、标识请求负载均衡的主计算机的主机总线适配器的主机总线适配器标识信息以及标识将共享负载的主机端口的信息;主计算机包括多个主机总线适配器,用于发送I/0命令给存储子系统;以及 负载均衡执行单元,用于请求存储子系统发送负载均衡请求表, 以及当响应于该请求由存储子系统发送的负载均衡请求表中的主机总 线适配器标识信息包括与其主机总线适配器相应的信息时,根据包括 在负载均衡请求表中的信息执行负载均衡。
3. 如权利要求2所述的存储系统,其中负载均衡请求表包括指 定由请求的主机总线适配器发送的I/O命令中要被执行负载均衡的1/0命令的比率的信息。
4. 如权利要求2所述的存储系统,其中负载均衡请求表包括指 定在每个共享负载的主机端口处由请求的主机总线适配器发送的I/O 命令的比率的信息。
5. 如权利要求2所述的存储系统,其中控制器包括从负载均衡 请求表中删除请求负载均衡的主机总线适配器中在负载均衡请求表被 发送后的预定时间段内没有响应的主机总线适配器的信息的功能。
6. —种用于存储系统的存储子系统,其中在该存储系统中主计 算机发送I/O命令,并且接收I/O命令的存储子系统执行存储处理, 该存储子系统包括-负载均衡请求表,用于管理关于从主计算机接收i/o命令的多个主机端口的操作状态的实际信息;以及输出单元,响应于来自主计算机的请求输出负载均衡请求表。
7. 如权利要求6所述的存储子系统,包括-多个主机端口,用于从主计算机接收I/0命令;以及控制器,用于根据I/O命令执行从存储设备读出数据或向存储设 备写入数据,其中该控制器包括以下功能周期性地产生并更新负载均衡请求表, 以及根据主计算机的请求发送负载均衡请求表给主计算机,所述负载 均衡请求表包括指示每个主机端口是否需要进行负载均衡的信息、标 识请求负载均衡的主计算机的主机总线适配器的主机总线适配器标识 信息以及标识将共享负载的主机端口的信息。
8. 如权利要求7所述的存储子系统,其中负载均衡请求表包括 指定由请求的主机总线适配器发送的I/O命令中要被执行负载均衡的 I/O命令的比率的信息。
9. 如权利要求7所述的存储子系统,其中负载均衡请求表包括 指定在每个共享负载的主机端口处由请求的主机总线适配器发送的 I/O命令的比率的信息。
10. 如权利要求7所述的存储子系统,其中控制器从负载均衡请 求表中删除请求负载均衡的主机总线适配器中在负载均衡请求表被发送后的预定时间段内没有响应的主机总线适配器的信息。
11. 一种用于存储系统的主计算机,其中在该存储系统中主计算机发送I/0命令,并且接收i/o命令的存储子系统执行存储处理,该主计算机包括第一单元,请求存储子系统发送负载均衡请求表,所述负载均衡 请求表管理关于接收I/O命令的多个主机端口的操作状态的实际信 息;以及第二单元,根据接收的负载均衡请求表,执行针对主机端口的I/O 命令的均衡处理。
12. 如权利要求11所述的主计算机,其中负载均衡请求表包括 与存储子系统有关的指示存储子系统的每个主机端口是否需要进行负 载均衡的信息、标识请求负载均衡的主机总线适配器的主机总线适配 器标识信息以及标识将共享负载的主机端口的信息。
13. —种用于在存储子系统中对从主计算机接收I/O命令的主 机端口的负载进行均衡的方法,包括由存储子系统产生负载均衡请求表,所述负载均衡请求表包括指 示每个主机端口是否需要进行负载均衡的信息、标识请求负载均衡的 主计算机的主机总线适配器的主机总线适配器标识信息以及标识将共 享负载的主机端口的信息;由主计算机从存储子系统接收负载均衡请求表;以及 当从存储子系统接收的负载均衡请求表的主机总线适配器标识 信息包括与其主机总线适配器相应的信息时,由主计算机根据包括在 负载均衡请求表中的信息执行负载均衡。
14. 一种负载均衡程序,用于使存储系统执行如下功能在接收 由主计算机发送的I/O命令的存储子系统处执行存储处理,该程序使:存储子系统的计算机执行如下功能产生负载均衡请求表,从而 响应于主计算机的请求输出负载均衡请求表,所述负载均衡请求表管理关于从主计算机接收I/O命令的多个主机端口的操作状态的实际信 息;以及主计算机执行如下功能接收从存储子系统输出的负载均衡请求 表,从而根据接收的负载均衡请求表执行针对主机端口的i/o命令的均衡处理。
全文摘要
提供一种能够执行负载均衡处理的存储系统,其中主计算机和存储子系统彼此合作。存储子系统的控制器包括周期性地产生并更新负载均衡请求表以及根据主计算机的请求将负载均衡请求表发送给主计算机的功能。主计算机包括负载均衡执行单元,用于请求存储子系统发送负载均衡请求表,以及当响应于该请求由存储子系统发送的负载均衡请求表中的主机总线适配器标识信息包括与其主机总线适配器相应的信息时,根据包括在负载均衡请求表中的信息执行负载均衡。
文档编号G06F3/06GK101131625SQ20071015266
公开日2008年2月27日 申请日期2007年6月22日 优先权日2006年6月27日
发明者三木健一 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1