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

上传人:Y0****01 文档编号:1003640 上传时间:2018-03-24 格式:PDF 页数:19 大小:1.06MB
返回 下载 相关 举报
摘要
申请专利号:

CN200810149304.9

申请日:

2008.09.12

公开号:

CN101387957A

公开日:

2009.03.18

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 9/44变更事项:专利权人变更前:成都市华为赛门铁克科技有限公司变更后:华为数字技术(成都)有限公司变更事项:地址变更前:611731 四川省成都市高新区西部园区清水河片区变更后:611731 四川省成都市高新区西部园区清水河片区|||授权|||实质审查的生效|||公开

IPC分类号:

G06F9/44

主分类号:

G06F9/44

申请人:

成都市华为赛门铁克科技有限公司

发明人:

马剑涛; 陈 林

地址:

611731四川省成都市高新区西部园区清水河片区

优先权:

专利代理机构:

北京集佳知识产权代理有限公司

代理人:

逯长明

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种多路径软件的实现装置和方法,包括:操作系统接口模块,用于将不同操作系统的函数接口转换为统一的函数名称和参数形式;配置数据管理模块,用于进行多路径软件的初始化,并向设备管理模块提供所述多路径软件默认配置数据;设备管理模块,用于从配置数据管理模块获取多路径软件默认配置数据,并根据配置数据建立路径信息、虚拟LUN信息、虚拟LUN和实际LUN的对应关系;多路径策略控制模块,用于从设备管理模块获取所述路径信息、虚拟LUN信息,并根据所述路径信息和虚拟LUN信息为各传输路径进行负载分担。本发明实施例在操作系统接口模块通过对函数接口的屏蔽和统一,使本发明实施例可以适应多个操作系统平台。

权利要求书

1、  一种多路径软件的实现装置,其特征在于,包括:
操作系统接口模块,用于将不同操作系统的函数接口转换为统一的函数名称和参数形式;
配置数据管理模块,用于进行多路径传输的初始化,并提供所述多路径软件默认配置数据;
设备管理模块,用于根据所述操作系统接口模块转换的函数名称和参数形式从所述配置数据管理模块获取所述多路径软件默认配置数据,并根据所述配置数据建立路径信息及虚拟LUN信息;
多路径策略控制模块,用于从所述设备管理模块获取所述路径信息、虚拟LUN信息,并根据所述路径信息和虚拟LUN信息按照负载均衡策略为各传输路径进行负载分担。

2、
  根据权利要求1所述的装置,其特征在于,所述操作系统接口模块包括第一适配层和第一控制层,所述第一适配层用于将不同操作系统的函数接口转换为统一的函数名称和参数形式,所述第一控制层用于根据所述第一适配层转换后的信息,控制多路径软件内部模块的工作流程。

3、
  根据权利要求1所述的装置,其特征在于,所述设备管理模块包括:第一获取数据子模块和生成信息子模块,所述第一获取数据子模块用于根据所述函数名称和参数形式从配置数据管理模块获取多路径软件默认配置数据,所述生成信息子模块用于根据所述配置数据建立路径信息及虚拟LUN信息。

4、
  根据权利要求1所述的装置,其特征在于,所述配置数据管理模块包括:读写管理子模块和提供数据子模块,所述读写管理子模块用于负责多路径软件默认配置数据的读写管理,所述提供数据子模块用于向所述设备管理模块提供所述多路径软件默认配置数据。

5、
  根据权利要求1所述的装置,其特征在于,所述多路径策略控制模块包括:获取信息子模块和负载均衡子模块,所述获取信息子模块用于从所述设备管理模块获取所述路径信息、虚拟LUN信息;所述负载均衡子模块用于根据所述路径信息和虚拟LUN信息按照负载均衡策略为各传输路径进行负载分担。

6、
  根据权利要求1至5任一项所述的装置,其特征在于,还包括:
SCSI命令接口模块,用于获取不同存储设备的识别信息,并将所述不同存储设备的识别信息按照内部定义格式转化后发送至多路径策略控制模块;
数据库,用于存放不同存储设备的配置文件或数据信息;
所述多路径策略控制模块还包括发送信息子模块,用于将所述不同存储设备的识别信息发送至配置数据管理模块;
所述配置数据管理模块还包括查询数据子模块,用于根据所述不同存储设备的识别信息从数据库中查询不同存储设备的配置文件或数据信息;
所述设备管理模块还包括:第二获取数据子模块,用于从配置数据管理模块获取不同存储设备的配置文件或数据信息;所述生成信息子模块用于根据所述函数名称以及所述配置文件或数据信息生成路径信息、虚拟逻辑单元号信息、实际逻辑单元号信息;
所述多路径策略控制模块,用于从所述设备管理模块获取所述路径信息、虚拟LUN信息,并根据所述路径信息、虚拟LUN信息、实际LUN信息为各传输路径分配传输的负载。

7、
  根据权利要求6所述的装置,其特征在于,还包括:
第一路径检测模块,则所述多路径策略控制模块还包括:路径倒换子模块,所述第一路径检测模块用于当传输路径异常时,将所述异常信息发送至所述路径倒换子模块,所述路径倒换子模块用于根据所述异常信息将所述传输路径切换为可用的实际路径。

8、
  根据权利要求7所述的装置,其特征在于,还包括:
第二路径检测模块,用于当检测到传输路径恢复正常时,将所述恢复信息发送至所述路径倒换子模块,所述路径倒换子模块用于根据所述恢复信息将所述虚拟路径切换为所述传输路径。

9、
  根据权利要求1所述的装置,其特征在于,还包括:
初始化模块,用于在多路径软件运行时启动设备管理模块工作。

10、
  根据权利要求1所述的装置,其特征在于,还包括:
管理接口模块,所述管理接口模块用于以界面形式显示所述多路径软件的数据信息,并为用户提供所述多路径软件的查询、设置接口。

11、
  根据权利要求1所述的装置,其特征在于,还包括:
设备重扫描模块,用于当存储设备的逻辑单元号配置或者外部实际可用路径发生变化时,下发重扫描命令更新虚拟LUN。

12、
  一种多路径软件的实现方法,其特征在于,包括:
将不同操作系统的函数接口转换为统一的函数名称和参数形式;
根据所述函数名称和参数形式从配置数据管理模块获取多路径软件默认配置数据;
依据所述配置数据建立路径信息和虚拟LUN信息;
根据所述路径信息和虚拟LUN信息,并按照负载均衡策略为各传输路径进行负载分担。

13、
  根据权利要求12所述的方法,其特征在于,还包括:
获取不同存储设备的识别信息;
根据所述识别信息获取不同存储设备的配置文件;
依据所述函数名称和配置文件或数据信息建立路径信息、虚拟LUN信息、实际LUN信息;
根据所述路径信息、虚拟LUN信息、实际LUN信息为各传输路径分配传输的负载。

14、
  根据权利要求12所述的方法,其特征在于,还包括:
检测所述传输路径是否异常,当所述传输路径异常时,根据异常信息将所述传输路径切换为虚拟路径。

15、
  根据权利要求14所述的方法,其特征在于,还包括:
检测所述出现异常的传输路径是否恢复正常,如果是,则将所述虚拟路径恢复为所述传输路径。

16、
  根据权利要求12所述的方法,其特征在于,还包括:
当存储设备的逻辑单元号配置或者外部实际可用路径发生变化时,下发重扫描命令更新虚拟逻辑单元号。

说明书

一种多路径软件的实现装置及方法
技术领域
本发明涉及计算机领域,尤其涉及一种多路径软件的实现装置及方法。
背景技术
多路径传输是计算机与存储设备之间的数据传输方式,多路径软件就是运行在主机上,用于管理主机和存储设备之间多条连接路径的一种软件。当连接路径中断时,多路径软件可以将发送到存储设备的输入输出(Input/Output,IO)流自动切换到其它路径上,此过程可以简称为Failover;当原连接路径恢复连接后再将IO流自动切换回原连接路径,此过程可以简称为Failback;同时,多路径软件还可以在多条连接路径上将IO流按照预置策略进行负荷分担发送,以提高IO访问性能。在存储领域,多路径软件是整个存储网络的重要组成部分,作为一种路径保护和性能提升软件,为服务器和存储设备之间提供可靠的连接,并在这些连接上提供优化的负荷分担。
由于目前运行于计算机中的有多种操作系统,如微软Windows体系的Windows 2000、Windows 2003等,Linux体系的RedHat、Suse、TurboLinux各种发行版本等,Unix体系的Sun Solaris、HPHP-UX、IBM AIX等,运行不同操作系统的服务器在连接存储设备时都需要安装相应的多路径软件。由于各种操作系统之间具有很大的差异性,如内核结构不同、性能不同、处理位数(32位/64位)不同,所以在每个操作系统上运行的多路径软件也是各不相同的。
例如,Device Mapper for Linux是一种Linux Kernel2.6中自带的多路径软件,它属于特定操作系统平台下的一种多路径软件,和系统本身紧密绑定,能够提供多路径的保护功能,另外一种Microsoft Windows MPIO是由微软提供的多路径软件开发架构,它本身不是一种可用的多路径软件,需要在MS MPIO基础上进行二次开发,提供DSM模块才能实现多路径的功能,例如DeviceMapperfor 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可以分为第一控制层和第一适配层,所述第一适配层用于获取不同的操作系统信息,并对所述不同操作系统的相同功能或者类似功能的函数接口进行统一的定义,所述函数接口为对函数参数配置的说明,并将所述函数接口转换为统一的函数名称和参数形式;所述第一控制层根据所述第一适配层转换后的信息,从而可以控制多路径软件内部模块的工作流程;
可以理解的是,所述操作系统接口模块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)为一个用于小型计算机系统接口(Small Computer System Interface,SCSI)总线的唯一识别号,每个LUN是一个能够识别特定逻辑单元的唯一识别号,可以为一个用户、一个文件或者一个程序;
多路径策略控制模块104,用于从所述设备管理模块103获取所述路径信息、虚拟LUN信息,并根据所述路径信息和虚拟LUN信息按照负载均衡策略为各传输路径进行负载分担;
其中,所述多路径策略控制模块104可以包括:获取信息子模块1041和负载均衡子模块1042,所述获取信息子模块用于从所述设备管理模块获取所述路径信息、虚拟LUN信息;所述负载均衡子模块用于根据所述路径信息、虚拟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内部;一种是在软件外部实现,当软件运行时从外部加载。
设备管理模块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命令进行通信,所述第二控制层将所述不同存储设备的识别信息发送至多路径策略控制模块。
优选的,本实施例还可以包括:
管理接口模块,所述管理接口模块用于以界面形式显示所述多路径软件的数据信息,为用户提供所述多路径软件的查询、设置接口;
所述管理接口模块和用户态程序相连接,可以通过管理接口模块使多路径软件的信息呈现给用户,例如,当用户查询多路径软件当前虚拟建立的路径信息、路径流量或路径故障情况时,所述管理接口模块可以按照不同操作系统的程序编写方法提供不同的返回信息;用户可以通过所述管理接口模块对多路径软件进行各种管理操作;
优选的,本实施例还可以包括:
设备重扫描模块,用于当存储设备的Lun配置或者外部实际可用路径发生变化时,下发重扫描命令更新虚拟Lun;
需要说明的是,设备重扫描模块只运行于部分类型的操作系统中,例如,Linux操作系统,当采用即插即用的操作系统时,设备重扫描模块并不工作;当多路径软件检测到新的存储设备时,或者,外部实际的可用路径发生变化时,向设备管理模块和SCSI命令接口模块下发重扫描命令更新多路径虚拟Iun;
通过上述实施例公开的所述一种实现多路径传输的装置实施例,能够进一步解决跨不同存储设备的问题,本实施例将一些已经定义的具体存储设备的数据文件保存在数据库,通过在连接不同存储设备时调用不同的配置文件和数据信息,可以实现支持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文件或文本文件,用于存储不同存储设备的配置文件或数据信息;可以装载于所述配置数据模块内部,也可以随着软件的运行从外部加载;
步骤406:设备管理模块根据所述函数名称以及所述配置文件或数据信息建立路径信息、实际LUN以及多路径虚拟LUN;
步骤407:多路径策略控制模块从所述设备管理模块获取所述路径信息、虚拟LUN信息、实际LUN信息;
步骤408:多路径策略控制模块根据所述路径信息、虚拟LUN信息、实际LUN信息为各传输路径分配传输的负载。
需要说明的是,在本实施例中,步骤401到步骤402的流程,以及步骤403到步骤405的处理流程可以是同时进行的,也可以是异步的,图中用箭头示出了流程方向,是为了方便阅读和理解,在实际中,当步骤401和步骤403的处理过程同步进行时,后续的几个步骤都相应的可以有所变动,因此,本发明实施例在此并不对其先后顺序作出限定。
在本实施例中,通过从所述数据库中查询不同存储设备的配置文件或数据信息,可以根据不同存储设备的接口调用相应的接口函数,可以实现支持FC、SAS、iSCSI多种存储设备接口的目的,以及,支持多种存储设备型号,从而达到适应多种存储设备接口的目的。
此外,需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成的,所述程序可以存储在一个计算机可读取存储介质中,同时,该程序对应的软件还可作为独立的产品销售或使用。其中,所述存储介质可以为ROM/RAM、磁碟、光盘等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

一种多路径软件的实现装置及方法.pdf_第1页
第1页 / 共19页
一种多路径软件的实现装置及方法.pdf_第2页
第2页 / 共19页
一种多路径软件的实现装置及方法.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《一种多路径软件的实现装置及方法.pdf》由会员分享,可在线阅读,更多相关《一种多路径软件的实现装置及方法.pdf(19页珍藏版)》请在专利查询网上搜索。

本发明实施例公开了一种多路径软件的实现装置和方法,包括:操作系统接口模块,用于将不同操作系统的函数接口转换为统一的函数名称和参数形式;配置数据管理模块,用于进行多路径软件的初始化,并向设备管理模块提供所述多路径软件默认配置数据;设备管理模块,用于从配置数据管理模块获取多路径软件默认配置数据,并根据配置数据建立路径信息、虚拟LUN信息、虚拟LUN和实际LUN的对应关系;多路径策略控制模块,用于从设备。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1