一种多路径软件的实现装置及方法

文档序号:6466601阅读:229来源:国知局
专利名称:一种多路径软件的实现装置及方法
技术领域
本发明涉及计算机领域,尤其涉及一种多路径软件的实现装置及方法。
背景技术
多路径传输是计算机与存储设备之间的数据传输方式,多路径软件就是 运行在主机上,用于管理主机和存储设备之间多条连接路径的一种软件。当 连接路径中断时,多路径软件可以将发送到存储设备的输入输出
(Input/Output, IO)流自动切换到其它路径上,此过程可以简称为Failover; 当原连接路径恢复连接后再将IO流自动切换回原连接路径,此过程可以简称 为Failback;同时,多路径软件还可以在多条连接路径上将IO流按照预置策略 进行负荷分担发送,以提高IO访问性能。在存储领域,多路径软件是整个存 储网络的重要组成部分,作为一种路径保护和性能提升软件,为服务器和存 储设备之间提供可靠的连接,并在这些连接上提供优化的负荷分担。
由于目前运行于计算机中的有多种操作系统,如微软Windows体系的 Windows 2000、 Windows 2003等,Linux体系的RedHat、 Suse、 TurboLi腿 各种发行版本等,Unix体系的Sun Solaris、 HP HP-UX、 IBM AIX等,运行不 同操作系统的服务器在连接存储设备时都需要安装相应的多路径软件。由于 各种操作系统之间具有很大的差异性,如内核结构不同、性能不同、处理位 数(32位/64位)不同,所以在每个操作系统上运行的多路径软件也是各不相 同的。
例如,Device Mapper for Linux是一种Linux Kernel 2.6中自带的多路径软 件,它属于特定操作系统平台下的一种多路径软件,和系统本身紧密绑定, 能够提供多路径的保护功能,另外一种Microsoft Windows MPIO是由微软提供 的多路径软件开发架构,它本身不是一种可用的多路径软件,需要在MS MPIO 基础上进行二次开发,提供DSM模块才能实现多路径的功能,例如Device Mapper for Linux仅能适用于Linux Kernel 2.6版本,不适用于其他Windows才喿作 系统,Microsoft Windows MPIO同样仅能适用于Windows家族,并且底层由
MPIO封装,不便于深度开发和维护,可以看出,现有的多路径软件,大多是 在某个操作系统下所特有的,具有不能跨多个操作系统平台的缺点。
进一步的,由于存储设备的类型各不相同,也导致了存储设备和服务器 之间有多种接口,而每种物理接口的驱动程序、处理方式、性能等均不相同, 所以存储设备接口的不兼容导致不同类型的存储设备运行的多路径软件也各不相同。例如,Device Mapper for Linux并不支持SAS、 iSCSI等较新的存储接 口,因此,现有的多路径软件也具有不适应多种存储设备的缺点。

发明内容
有鉴于此,本发明一个或多个实施例的目的在于提供一种适应多个操作 系统平台的多路径软件的实现装置及方法。
本发明实施例提供了一种多路径软件的实现装置,包括操作系统接口模块,用于将不同操作系统的函数接口转换为统一的函数 名称和参数形式,以供设备管理模块可以按照预定义的函数接口进行调用;配置数据管理模块,用于向所述设备管理模块提供所述多路径软件默认 配置数据;设备管理模块,用于根据所述操作系统接口模块转换的函数名称和参数 形式从所述配置数据管理模块获取所述多路径软件默认配置数据,并根据所 述配置数据建立路径信息、虚拟LUN信息、虚拟LUN和实际LUN的对应关系;多路径策略控制模块,用于从所述设备管理模块获取所述路径信息、虚拟LUN信息,并根据所述路径信息和虚拟LUN信息按照负载均衡策略为各 传输路径进行负载分担。
本发明实施例还提供了 一种多路径软件的实现方法,包括将不同操作系统的函数接口转换为统一的函数名称和参数形式;根据所述函数名称和参数形式从配置数据管理模块获取多路径软件默认 配置数据;依据所述配置数据建立路径信息、虚拟LUN信息、虚拟LUN和实际LUN
的对应关系;
根据所述路径信息、虚拟LUN信息、虚拟LUN和实际LUN的对应关系, 并按照负载均衡策略为各传输路径进行负载分担。
本发明实施例通过将不同操作系统的函数接口转换为统一的函数名称和 参数形式,并根据所述函数名称获取相应的多路径软件默认配置数据,从而 可以使本发明实施例公开的一种实现多路径传输的装置,能够适应多个操作 系统平台。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种实现多路径传输的装置实施例1的结构框图2是本发明的一种实现多路径传输的装置实施例2的结构框图3是本发明的一种实现多路径传输的方法实施例1的流程图4是本发明的一种实现多路径传输的方法实施例2的流程图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,示出了本发明的一种多路径软件的实现装置实施例1的结构框 图,所述多路径软件的实现装置可以包括以下模块
操作系统接口模块101,用于将不同操作系统的函数接口转换为统一的函 数名称和参数形式,以供设备管理模块可以按照预定义的函数接口进行调用;
在实际应用中,设备管理模块在需要使用所述操作系统的函数接口时,
可以按照预先定义好的、固定的函数接口 ,从操作系统接口模块进行调用所
述函数名称和参数形式;
其中,所述操作系统接口模块101可以分为第一控制层和第一适配层, 所述第一适配层用于获取不同的操作系统信息,并对所述不同操作系统的相 同功能或者类似功能的函数接口进行统一的定义,所述函K接口为对函数参 数配置的说明,并将所述函数接口转换为统一的函数名称和参数形式;所述 第一控制层根据所述第一适配层转换后的信息,从而可以控制多路径软件内 部模块的工作流程;
可以理解的是,所述操作系统接口模块101,可以把现有技术中分布在整 个多路径软件中的可能使用到和操作系统相关的代码和程序,集中起来放在 所述第一适配层中处理,完成将不同操作系统的函数接口转换为统一的函数 名称和参数形式的目的,所述函数接口模块本身需要考虑不同操作系统环境 进行开发,是不兼容的,但是通过所述第一适配层的转换,可以带来多路径 软件开发的简化以及源代码重用。
配置数据管理模块102,用于进行多路径传输的初始化,并提供所述多路 径软件默认配置数据;
其中,所述配置数据管理模块可以包括读写管理子模块1021和提供数 据子模块1022,所述读写管理子模块1021用于负责多路径软件默认配置数据 的读写管理,所述配置数据为多路径软件运行时的各种参数;所述提供数据 子模块1022用于向所述设备管理模块提供所述多路径软件默认配置数据。
设备管理模块103,用于根据操作系统接口模块101转换的函数名称和参 数形式从配置数据管理模块102中获取多路径软件默认配置数据,并根据所述 配置数据建立路径信息、虚拟LUN信息、虚拟LUN和实际LUN的对应关系;
其中,所述设备管理模块103具体可以包括第一获取数据子模块1031和生 成信息子模块1032,所述第一获取数据子模块1031用于根据所述操作系统接 口模块101转换的函数名称和参数形式从配置数据管理模块获取多路径软件 默认配置数据,所述生成信息子模块1032用于根据所述配置数据建立路径信 息、虚拟逻辑单元号信息、实际逻辑单元号信息;
所述设备管理模块103在接收到所述操作系统接口模块101转换的函数
名称和参数形式后,所述第一获取数据子模块1031根据所述函数名称和参数 形式从所述配置数据管理模块102获取相应的配置数据,所述配置数据为不 同操作系统需要的不同的多路径软件默认配置数据,所述生成信息子模块 1032可以根据所述多路径软件默认配置数据生成路径信息、虚拟逻辑单元号 信息、实际逻辑单元号信息;所述路径信息可以包括传输路径的条数、状态 等,所述逻辑单元号(Logical Unit Number, LUN)为一个用于小型计算才几系 统4妄口 (Small Computer System Interface, SCSI)总线的唯一识别号,每个 LUN是一个能够识别特定逻辑单元的唯一识别号,可以为一个用户、 一个文 件或者一个程序;
多路径策略控制模块104,用于从所述设备管理模块103获取所述路径信 息、虚拟LUN信息,并根据所述路径信息和虚拟LUN信息按照负载均衡策 略为各传输路径进行负载分担;
其中,所述多路径策略控制模块104可以包括获取信息子模块1041和 负载均衡子模块1042,所述获取信息子模块用于从所述设备管理模块获取所 述路径信息、虚拟LUN信息;所述负载均衡子模块用于根据所述路径信息、
在实际应用中,所述获取信息子模块1041可以从所述设备管理模块103 中获取需要的路径信息、虚拟LUN信息、实际LUN信息,所述负载均衡子 模块可以根据所述信息,并按照负载均衡策略为每条传输路径上进行负载分 担,从而可以达到多路径负载均衡和路径保护的目的,所述负载均衡子模块 为传输路径分配负载均衡时,还可以根据实际应用中其他不同的策略来进行 负载的分担,本发明并不对负载分担的策略进行限定。
优选的,本实施例还可以包括第一路径检测模块,则所述多路径策略 控制模块还可以包括路径倒换子模块,当所述第一路径检测模块检测到所 述传输路径出现异常时,所述异常信息包括断路、拥塞等多种情况,将所述 异常信息发送至路径倒换子模块,所述路径倒换子模块将所述传输路径切换 为可用的实际路径,其中,路径倒换子模块通过切换主机当前使用路径和通 知存储设备同步切换来完成倒换操作。
优选的,本实施例还可以包括第二路径检测模块,当所述第二路径检
测模块检测到所述传输路径恢复正常时,所述路径倒换子模块再将已经切换 的可用实际路径切换为原传输路径;
优选的,本实施例还可以包括初始化;漠块,用于在多路径软件运行时 启动设备管理模块103工作;
在实际应用中,所述初始化;^莫块可以完成软件净皮#:作系统加载时的初始 化,软件内部状态参数的创建,所述内部参数为所述配置数据管理才莫块中的 多路径默认配置数据,以及初始化控制,其中,实际的动作处理由所述配置 数据管理模块提供;
可以看出,本实施例对应于不同的操作系统提供所述操作系统接口模块, 可以通过对不同操作系统的函数接口的屏蔽和统一,解决不同操作系统的差 异问题,所述操作系统接口模块101可以把不同操作系统中不同的处理方法 进行封装,从而达到封装差异点的目的;通过多路径业务处理代码完全一致, 保证了采用本架构实现的多路径软件在各操作系统平台下具有同样的接口 、 处理过程,对用户来说使用更加方便,不用担心各操作系统平台下多路径软 件的功能和性能不一样,更加有利于开发多路径软件的新功能。
参考图2,示出了本发明的一种多路径软件的实现装置实施例2的结构框 图,可以包括以下模块
操作系统接口模块201,用于将不同操作系统的函数接口转换为统一的函 数名称和参数形式,以供设备管理模块可以按照预定义的函数接口进行调用。
在实际应用中,不同操作系统的内存分配函数等存在差异,例如,内存 分配函数在Linux操作系统中为Menmalloc (),在Windows操作系统中叫 MemmoyMalloc (),由于两个函数名字不一样,所以在编写代码的时候,就 需要考虑多路径软件运行在哪个操作系统下,然后才去按照相应的名字去调 用函数,这样的操作方式实际上就导致了会开发两套多路径软件, 一套是专 门用于Windows系统的, 一套是专门用于Linux系统的,因此在本实施例中, 给这些相同功能或者类似功能的函数接口定义一个统一的函数名字,例如, HW—MemMalloc ()。
所述操作系统接口模块201可以分为第 一控制层和第 一适配层,在第 一适 配层中开发两个接口模块, 一个用于Windows操作系统,另一个用于Linux系 统,将这些操作系统函数分别集中起来做函数名字转换,对外仅体现统一定
义的函数名字;第一控制层可以将第一适配层检测到的不同操作系统的信息 转换为其他模块的工作流程,例如,当第一适配层已经完成不同操作系统特
有的接口转换时,在实现各个模块的功能时,第一控制层可以根据需要方便 地使用操作系统的功能;例如,使用内存分配功能,可以直接在代码中调用 HW—MemMalloc ()。
第 一适配层和第 一控制层是多路径软件架构能够支持多操作系统的关键 所在;这部分不是跨操作系统平台的,而是和具体操作系统平台相关的;但 是操作系统接口模块从整个软件来看是一小部分,因此开发和维护工作量可 以做到最小;因此,多路径软件也可以无需考虑在哪个操作系统下运行,只 需要考虑自己的功能应该怎么实现即可。
配置数据管理模块202,用于提供多路径软件默认配置数据和不同存储设 备的配置文件或数据信息。
在本实施例中,所述配置数据管理模块202可以包括读写管理子模块 2021、提供数据子模块2022和查询数据子模块2023,所述读写管理子模块 2021用于负责多路径软件默认配置数据的读写管理,所述提供数据子模块 2022用于向所述设备管理模块提供所述多路径软件默认配置数据;所述查询 数据子模块2023,用于根据不同存储设备的识别信息从数据库中查询不同存 储设备的配置文件或数据信息;当所述查询数据子模块2023收到所述不同存 储设备的识别信息时,可以从数据库203中查询相应的配置文件或数据信息。
数据库203,用于存放不同存储设备的配置文件或数据信息;
所述数据库203可以存放多路径软件支持的设备型号、有差别的命令数 据信息,例如,FC、 SAS、 iSCSI的相应信息,这样可以对不同的存储设备设 计性能最优化的处理过程,所述数据库可以为一个独立的文件,每次多路径 软件运行初始化的时候,根据实际连接的存储设备加载对应的数据库文件; 所述数据库203有两种表现形式 一种是在软件内部实现,存放在软件内, 在本实施例中,也可以集成在所述配置数据管理模块202内部; 一种是在软 件外部实现,当專欠件运4亍时乂人外部加载。
设备管理模块204,用于根据操作系统接口模块201转换的函数名称和参
数形式从配置数据管理模块202获取多路径软件默认配置数据,并获取不同
存储设备的配置文件或数据信息,根据所述配置数据、所述不同存储设备的
配置文件或数据信息,建立路径信息、虚拟LUN信息、虚拟LUN信息和实 际LUN信息之间的对应关系;
在本实施例中,所述设备管理模块204可以包括第一获取数据子模块 2041,用于根据所述操作系统接口模块201转换的函数名称和参数形式从配 置数据管理模块202获取多路径软件默认配置数据;在实际应用中,所述设 备管理模块可以包括第二获取数据子模块2043,所述第二获取数据子模块 2043用于获取不同存储设备的配置文件或数据信息;生成信息子模块2042, 用于根据所述函数名称以及所述配置文件或数据信息生成路径信息、虚拟逻 辑单元号信息、实际逻辑单元号信息。其中,所述设备管理才莫块204在需要 时还可以更新虚拟LUN信息或者删除虚拟LUN。
多路径策略控制模块205,用于从所述设备管理模块203获取所述路径信 息、虚拟LUN信息、实际LUN信息,并根据所述路径信息、虚拟LUN信息、 实际LUN信息为各传输路径分配负载。
在本实施例中,所述多路径策略控制模块205包括获取信息子模块2051 和负载均衡子模块2052,所述获取信息子模块用于从所述设备管理模块获取 所述路径信息、虚拟LUN信息、实际LUN信息;所述负载均衡子模块用于 根据所述路径信息、虚拟LUN信息、实际LUN信息为各传输路径分配负载; 优选的,所述多路径策略控制模块还可以包括发送信息子模块2053,用于将 所述不同存储设备的识别信息发送至配置数据管理模块202。
其中,所述发送信息子模块2053收到所述不同存储设备的识别信息时, 将其发送至配置数据管理模块203,为所述配置数据管理模块203根据所述不 同存储设备的识别信息从数据库203中查找相应的配置文件或数据信息做准 备。
SCSI命令接口模块206,用于获取不同存储设备识别信息,并将所述不 同存储设备的识别信息发送至至多路径策略控制模块205的发送信息子模块 2053。
在本实施例中,所述SCSI命令接口模块可以包括第二适配层和第二控制
层,所述第二适配层用于获取不同存储设备的识别信息,与存储设备之间通 过SCSI命令进行通信,所述第二控制层将所述不同存储设备的识别信息发送 至多路径策略控制模块。
优选的,本实施例还可以包括
管理接口模块,所述管理接口模块用于以界面形式显示所述多路径软件
的数据信息,为用户提供所述多路径软件的查询、设置接口;
所述管理接口模块和用户态程序相连接,可以通过管理接口模块使多路 径软件的信息呈现给用户,例如,当用户查询多路径软件当前虚拟建立的路 径信息、路径流量或路径故障情况时,所述管理接口模块可以按照不同操作 系统的程序编写方法提供不同的返回信息;用户可以通过所述管理接口模块 对多路径软件进行各种管理"t喿作; 优选的,本实施例还可以包括
设备重扫描模块,用于当存储设备的Lun配置或者外部实际可用路径发 生变化时,下发重扫描命令更新虚拟Lun;
需要说明的是,设备重扫描模块只运行于部分类型的操作系统中,例如, Linux操作系统,当采用即插即用的操作系统时,设备重扫描模块并不工作; 当多路径软件检测到新的存储设备时,或者,外部实际的可用路径发生变化
时,向设备管理模块和SCSI命令接口模块下发重扫描命令更新多路径虚拟 Lun;
通过上述实施例公开的所述一种实现多路径传输的装置实施例,能够进 一步解决跨不同存储设备的问题,本实施例将一些已经定义的具体存储设备 的数据文件保存在数据库,通过在连接不同存储设备时调用不同的配置文件 和数据信息,可以实现支持FC、 SAS、 iSCSI多种存储接口的目的,以及, 支持多种存储设备型号,从而可以为每种设备型号提供最优化的性能处理过 程,并且通过这种支持多操作系统和多种存储设备的运用,还可以节省开发 工作量,更有利于维护工作的进行。
参考图3,示出了本发明的一种实现多路径传输的方法实施例1的流程图, 具体可以包括以下步骤
步骤301:操作系统接口模块将不同操作系统的函数接口转换为统一的函
数名称和参数形式;
步骤302:设备管理模块根据所述函数名称和参数形式从配置数据管理模 块获取多路径软件默认配置数据;
步骤303:设备管理模块根据所述配置数据生成路径信息、虚拟LUN信 息、实际LUN信息;
步骤304:多路径策略控制模块从所述设备管理模块获取所述路径信息、 虚拟LUN信息、实际LUN信息;
步骤305:负载均衡子模块多路径策略控制模块根据所述路径信息、虚拟 LUN信息、实际LUN信息为各传输路径分配传输的负载。
参考图4,示出了本发明的 一种实现多路径传输的方法实施例2的流程图, 具体可以包括以下步骤
步骤401:操作系统接口模块将不同操作系统的函数接口转换为统一的函 数名称和参数形式;
步骤402:设备管理模块根据所述函数名称和参数形式,从配置数据管理 模块获取多路径软件默认配置数据;
步骤403: SCSI命令接口模块获取不同存储设备的识别信息,并将所述 不同存储设备的识别信息发送至多路径策略控制模块;
在实际应用中,所述SCSI命令接口模块将所述不同存储设备的识别信息 发送至所述发送信息子模块;
步骤404:多路径策略控制模块将所述不同存储设备的识别信息发送至配 置数据管理模块;
在实际应用中,所述发送信息子模块将所述识别信息发送至配置数据管 理模块中的查询数据子模块;
步骤405:配置数据管理模块根据所述不同存储设备的识别信息从数据库 中查询不同存储设备的配置文件或数据信息;
在实际中,数据库可以为EXCEL表格,也可以为DBF文件或文本文件, 用于存储不同存储设备的配置文件或数据信息;可以装载于所述配置数据模 块内部,也可以随着^:件的运朽v人外部加载;
步骤406:设备管理模块根据所述函数名称以及所述配置文件或数据信息
建立路径信息、实际LUN以及多路径虚拟LUN;
步骤407:多路径策略控制模块从所述设备管理模块获取所述路径信息、 虚拟LUN信息、实际LUN信息;
步骤408:多路径策略控制模块根据所述路径信息、虚拟LUN信息、实 际LUN信息为各传输路径分配传输的负载。
需要说明的是,在本实施例中,步骤401到步骤402的流程,以及步骤 403到步骤405的处理流程可以是同时进行的,也可以是异步的,图中用箭头 示出了流程方向,是为了方便阅读和理解,在实际中,当步骤401和步骤403 的处理过程同步进行时,后续的几个步骤都相应的可以有所变动,因此,本 发明实施例在此并不对其先后顺序作出限定。
在本实施例中,通过从所述数据库中查询不同存储设备的配置文件或数 据信息,可以根据不同存储设备的接口调用相应的接口函数,可以实现支持 FC、 SAS、 iSCSI多种存储设备接口的目的,以及,支持多种存储设备型号, 从而达到适应多种存储设备接口的目的。
此外,需要说明的是,本领域普通技术人员可以理解实现上述实施例方 法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成的,所述程 序可以存储在一个计算机可读取存储介质中,同时,该程序对应的软件还可 作为独立的产品销售或使用。其中,所述存储介质可以为ROM/RAM、磁碟、 光盘等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明
的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或 者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例 方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以 理解并实施。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何 在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
权利要求
1、一种多路径软件的实现装置,其特征在于,包括操作系统接口模块,用于将不同操作系统的函数接口转换为统一的函数名称和参数形式;配置数据管理模块,用于进行多路径传输的初始化,并提供所述多路径软件默认配置数据;设备管理模块,用于根据所述操作系统接口模块转换的函数名称和参数形式从所述配置数据管理模块获取所述多路径软件默认配置数据,并根据所述配置数据建立路径信息及虚拟LUN信息;多路径策略控制模块,用于从所述设备管理模块获取所述路径信息、虚拟LUN信息,并根据所述路径信息和虚拟LUN信息按照负载均衡策略为各传输路径进行负载分担。
2、 根据权利要求1所述的装置,其特征在于,所述操作系统接口模块包 括第 一适配层和第 一控制层,所述第 一适配层用于将不同操作系统的函数接 口转换为统一的函数名称和参数形式,所述第一控制层用于根据所述第一适 配层转换后的信息,控制多路径软件内部模块的工作流程。
3、 根据权利要求1所述的装置,其特征在于,所述设备管理模块包括第一获取数据子模块和生成信息子模块,所述第一获取数据子模块用于根据所述函数名称和参数形式从配置数据管理模块获取多路径软件默认配置数据,所述生成信息子模块用于根据所述配置数据建立路径信息及虚拟LUN信 自
4、 根据权利要求1所述的装置/其特征在于,所述配置数据管理模块包 括读写管理子模块和提供数据子模块,所述读写管理子模块用于负责多路 径软件默认配置数据的读写管理,所述提供数据子模块用于向所述设备管理 模块提供所述多路径软件默认配置数据。
5、 才艮据权利要求l所述的装置,其特征在于,所述多路径策略控制模块 包括获取信息子模块和负载均衡子模块,所述获取信息子模块用于从所述 设备管理模块获取所述路径信息、虚拟LUN信息;所述负载均衡子模块用于 根据所述路径信息和虚拟LUN信息按照负载均衡策略为各传输路径进行负载 分担。
6、 根据权利要求1至5任一项所述的装置,其特征在于,还包括SCSI命令接口模块,用于获取不同存储设备的识别信息,并将所述不同 存储设备的识别信息按照内部定义格式转化后发送至多路径策略控制模块;数据库,用于存放不同存储设备的配置文件或数据信息;所述多路径策略控制模块还包括发送信息子模块,用于将所述不同存储 设备的识别信息发送至配置数据管理模块;所述配置数据管理模块还包括查询数据子模块,用于根据所述不同存储 设备的识别信息从数据库中查询不同存储设备的配置文件或数据信息;所述设备管理模块还包括第二获取数据子模块,用于从配置数据管理 模块获取不同存储设备的配置文件或数据信息;所述生成信息子模块用于根 据所述函数名称以及所述配置文件或数据信息生成路径信息、虚拟逻辑单元 号信息、实际逻辑单元号信息;所述多路径策略控制模块,用于从所述设备管理模块获取所述路径信息、 虚拟LUN信息,并根据所述路径信息、虚拟LUN信息、实际LUN信息为各 传输路径分配传输的负载。
7、 根据权利要求6所述的装置,其特征在于,还包括第一路径检测模块,则所述多路径策略控制模块还包括路径倒换子模 块,所述第一路径检测模块用于当传输路径异常时,将所述异常信息发送至 所述路径倒换子模块,所述路径倒换子模块用于根据所述异常信息将所述传 输路径切换为可用的实际路径。
8、 根据权利要求7所述的装置,其特征在于,还包括第二路径检测模块,用于当检测到传输路径恢复正常时,将所述恢复信 息发送至所述路径倒换子模块,所述路径倒换子模块用于根据所述恢复信息 将所述虚拟路径切换为所述传输路径。
9、 根据权利要求l所述的装置,其特征在于,还包括初始化模块,用于在多路径软件运行时启动设备管理模块工作。
10、 根据权利要求1所述的装置,其特征在于,还包括管理接口模块,所述管理接口模块用于以界面形式显示所述多路径软件 的数据信息,并为用户提供所述多路径软件的查询、设置接口。
11、 根据权利要求1所述的装置,其特征在于,还包括设备重扫描模块,用于当存储设备的逻辑单元号配置或者外部实际可用 路径发生变化时,下发重扫描命令更新虚拟LUN。
12、 一种多路径软件的实现方法,其特征在于,包括将不同操作系统的函数接口转换为统一的函数名称和参数形式;根据所述函数名称和参数形式从配置数据管理模块获取多路径软件默认 配置数据;依据所述配置数据建立路径信息和虚拟LUN信息;根据所述路径信息和虚拟LUN信息,并按照负载均衡策略为各传输路径 进行负载分担。
13、 根据权利要求12所述的方法,其特征在于,还包括 获取不同存储设备的识别信息;根据所述识别信,t、获取不同存储设备的配置文件;依据所述函数名称和配置文件或数据信息建立路径信息、虚拟LUN信息、 实际LUN信息;根据所述路径信息、虚拟LUN信息、实际LUN信息为各传输路径分配 传输的负载。
14、 根据权利要求12所述的方法,其特征在于,还包括检测所述传输路径是否异常,当所述传输路径异常时,根据异常信息将 所迷传输路径切换为虚拟路径。
15、 根据权利要求14所述的方法,其特征在于,还包括 检测所述出现异常的传输路径是否恢复正常,如果是,则将所述虚拟路 径恢复为所述传输路径。
16、根据权利要求12所述的方法,其特征在于,还包括当存储设备的逻辑单元号配置或者外部实际可用路径发生变化时,下发 重扫描命令更新虚拟逻辑单元号。
全文摘要
本发明实施例公开了一种多路径软件的实现装置和方法,包括操作系统接口模块,用于将不同操作系统的函数接口转换为统一的函数名称和参数形式;配置数据管理模块,用于进行多路径软件的初始化,并向设备管理模块提供所述多路径软件默认配置数据;设备管理模块,用于从配置数据管理模块获取多路径软件默认配置数据,并根据配置数据建立路径信息、虚拟LUN信息、虚拟LUN和实际LUN的对应关系;多路径策略控制模块,用于从设备管理模块获取所述路径信息、虚拟LUN信息,并根据所述路径信息和虚拟LUN信息为各传输路径进行负载分担。本发明实施例在操作系统接口模块通过对函数接口的屏蔽和统一,使本发明实施例可以适应多个操作系统平台。
文档编号G06F9/44GK101387957SQ20081014930
公开日2009年3月18日 申请日期2008年9月12日 优先权日2008年9月12日
发明者林 陈, 马剑涛 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1