一种多路径管理方法和系统技术方案

技术编号:11162010 阅读:60 留言:0更新日期:2015-03-18 17:59
本发明专利技术公开了一种多路径管理方法和系统,用于管理从主机路由IO到存储系统的多个逻辑卷LUN的路径,其中存储系统的多个LUN被映射到主机上,该方法包括:将在主机和存储系统之间具有相同路径的LUN划分为一个LUN组;以及对一个LUN组中的所有LUN使用一个路径选择线程管理所述相同路径。该方法和系统减少了路径管理的工作量和所需要的资源量。

【技术实现步骤摘要】
一种多路径管理方法和系统
本专利技术涉及存储系统,更具体地涉及一种多路径管理方法和系统。
技术介绍
存储系统包括RAID阵列、RAID控制器、适配器、存储管理服务器组成。存储管理服务器和其它设备通过网络相连,管理整个存储系统的运行。图1示出了存储系统的结构框图。RAID(RedundantArrayofIndependent(orInexpensive)Disks)阵列,是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果(additiveeffects)提升整个磁盘系统效能。存储系统通过RAID控制器在内部创建不同种类的RAID阵列。存储系统在RAID阵列再创建逻辑卷(logicalvolume),也称为LUN(logicalunitnumber)。LUN再映射给主机(host),主机会把LUN当成本地硬盘来使用。主机与存储系统之间通过光纤交换机(FCSwitch)通信。主机端由主机总线适配器HBA(HostBusAdapter)与光纤交换机相连,HBA在主机端称为主机总线适配器,在光纤交换机端也称为光纤接口卡(FibreChannelinterfacecard)或光纤适配器(FCadapter),存储系统端也有光纤接口卡或光纤适配器与光纤交换机相连。图2示出了主机、光纤交换机以及存储系统之间的连接关系。在图2中,主机1有4条路径可以访问到存储系统上的LUN,即主机1的HBA1端口到存储系统的光纤适配器端口1,主机1的HBA1端口到存储系统的光纤适配器端口2,主机1的HBA2端口到存储系统的光纤适配器端口1,以及主机1的HBA2端口到存储系统的光纤适配器端口2。同样,主机2有4条路径可以访问到存储系统上的LUN。主机有多条路径通往存储系统,可以在主机上安装多路径软件,来管理主机到存储系统之间的多条路径。多路径软件能够均衡每条路径的输入和输出(IO);当发现路径故障时,在路由IO的时候规避故障路径;当路径的故障被排除时,主机和存储系统的LUN之间的通信回归到原来的路径等。多路径软件采用的路径选择算法包括:Failover:只选择一条路径路由IO,只有在该路径故障的情况下才会选择其它路径路由IO;RoundRobin:在多条路径上轮流路由IO;LoadBalance:选择负载较低的HBA上的路径来路由IO;如果HBA负载都一样,就随机选择路径。当存储系统具有很多个LUN映射到主机上,例如主机有1000个或者更多个LUN映射到该主机上,并且该主机有6条或者更多路径可以访问到存储系统,则多路径软件将会管理6000条甚至多的路径;另外,主机还需要开启1000个多路径选择进程来分别负责1000个LUN上的路径选择。多路径软件将会耗费大量的主机资源(CPU和内存)来管理这些路径,会使得主机的效率大大降低,因此,当前的多路径软件对每个LUN都不推荐配置很多路径。
技术实现思路
为了解决上述问题,本专利技术的一个目的是减少路径管理的工作量和多需要的资源量。根据本专利技术的一个方面,提供了一种多路径管理方法,用于管理从主机路由IO到存储系统的多个逻辑卷LUN的路径,其中存储系统的多个LUN被映射到主机上,该方法包括:将在主机和存储系统之间具有相同路径的LUN划分为一个LUN组;以及对一个LUN组中的所有LUN使用一个路径选择线程管理所述相同路径。据本专利技术的另一个方面,提供了一种多路径管理系统,用于管理从主机路由IO到存储系统的多个逻辑卷LUN的路径,其中存储系统的多个LUN被映射到主机上,该系统包括:分组装置,被配置为将在主机和存储系统之间具有相同路径的LUN划分为一个LUN组;以及路径选择装置,被配置为对一个LUN组中的所有LUN使用一个路径选择线程管理所述相同路径。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了存储系统的结构框图;图2示出了主机、光纤交换机以及存储系统之间的连接关系;图3示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器的框图;图4示意性示出了多路径管理方法的方法流程图;图5示出了获得在主机和存储系统之间具有相同路径的LUN的一种实施方式的具体流程;图6示出了使用路径选择算法的具体实施方式流程;以及图7示出了一种多路径管理系统的结构框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本专利技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机本文档来自技高网
...
一种多路径管理方法和系统

【技术保护点】
一种多路径管理方法,用于管理从主机路由IO到存储系统的多个逻辑卷LUN的路径,其中存储系统的多个LUN被映射到主机上,该方法包括:将在主机和存储系统之间具有相同路径的LUN划分为一个LUN组;以及对一个LUN组中的所有LUN使用一个路径选择线程管理所述相同路径。

【技术特征摘要】
1.一种多路径管理方法,用于管理从主机路由IO到存储系统的多个逻辑卷LUN的路径,其中存储系统的多个LUN被映射到主机上,该方法包括:将在主机和存储系统之间具有相同路径的LUN划分为一个LUN组;以及对一个LUN组中的所有LUN使用一个路径选择线程管理所述相同路径,该方法还包括:获得在主机和存储系统之间具有相同路径的LUN,其中获得在主机和存储系统之间具有相同路径的LUN包括:扫描获得主机端映射的至少一部分LUN;分别通过主机上的各总线适配器HBA端口向光纤交换机发送命令,来查询HBA端口能够访问的存储系统的各光纤适配器FC端口的端口ID;分别接收光纤交换机返回的各HBA端口能够访问的各FC端口的端口ID;如果各HBA端口已经与返回的端口ID对应的各FC端口建立了连接,分别通过各HBA端口对能够访问的各FC端口发送命令,获得不同路径上的LUN,其中,特定的HBA端口ID到特定FC端口ID为LUN的一条路径;根据获得的主机端映射的至少一部分LUN以及不同路径上的LUN,获得在主机和存储系统之间具有相同路径的LUN。2.如权利要求1所述的方法,其中对一个LUN组中的所有LUN使用一个路径选择线程管理所述相同路径包括:对每一条路径维护该路径的路径状态,其中路径状态有3种:可用-表示该路径没有故障,能够路由IO;失败-表示该路径有故障,不能路由IO;部分失败-表示该路径对部分LUN不能路由IO。3.如权利要求2所述的方法,其中对一个LUN组中的所有LUN使用一个路径选择线程管理所述相同路径包括:接收路由IO到LUN的请求;通过该LUN所在的LUN组使用的路径选择线程在所述相同路径上选择一条状态为可用或者部分失败的路径;利用选择的路径路由该IO到该LUN。4.如权利要求3所述的方法,其中利用选择的路径路由该IO到该LUN后进一步包括:判断IO路由是否成功;如果IO路由失败,进一步判断该路径是否为该LUN所在LUN组的最后一条路径状态为可用的路径;如果该路径是该LUN所在LUN组的最后一条路径状态为可用的路径,则置该LUN组上的该路径状态为部分失败;在该LUN上置标志位,表示该LUN不能使用该路径路由IO。5.如权利要求4所述的方法,其中如果该路径不是该LUN所在LUN组的最后一条路径状态为可用的路径,则置该LUN组上的该路径的路径状态为失败从而使LUN组内的所有LUN不再使用该路径来路由IO;以及应用该LUN所在的LUN组使用的路径选择线程在所述相同路径上重新选择另外一条可用路径。6.如权利要求5所述的方法,其中所述置该LUN组上的该路径的路径状态为失败还包括:检查LUN组内的其它LUN是否能够使用该失败路径来访问;如果LUN组内所有其它LUN都不能够使用该失败路径来访问,则保持LUN组上的该路径状态为失败;如果LUN组内的其它LUN中有些LUN能给通过该失败路径访问,则将LUN组上的该路径的路径状态置为部分失败,在LUN组内的所有不能通过该路径访问的LUN上置标志位,表示这些LUN不能够使用该路径来路由IO。7.如权利要求2-6之一所述的方法,该方法还包括:对于路径状态为路径失败或者路径部分失败的路径,检查LUN组内是否所有的LUN都能够重新使用该路径访问;如果LUN组内所有LUN都能通过该路径访问,则置LUN组上该路径的路径状态为可用,并且如果原来的路径状态为部分失败,删除LUN上的不能使用该路径的标志位;如果部分LUN能访问,部分LUN不能访问,则置LUN组上该路径的路径状态为部分失败,在LUN组内的那些不能访问的LUN上置标志位,表示这些LUN不能使用这条路径来路由IO;如果LUN组内所有LUN都不能通过该路径访问,则继续检查。8.一种多路径管理系统,用于管理从主机路由IO到存储系统的多个逻辑卷LUN的路...

【专利技术属性】
技术研发人员:张耀东付晓飞胡家乐石鹏余志华
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1