掌桥专利:专业的专利平台
掌桥专利
首页

一种Openstack使用iSCSI多路径均衡对接存储方法、装置及介质

文献发布时间:2023-06-19 13:45:04


一种Openstack使用iSCSI多路径均衡对接存储方法、装置及介质

技术领域

本申请涉及存储系统领域,尤其涉及一种Openstack使用iSCSI多路径均衡对接存储方法、装置及介质。

背景技术

多路径方式访问对接存储的实现方式如下:分布式存储系统的任何一个节点,在部署iSCSI-target软件后,都可以提供存储卷导出功能,对外提供块存储服务。并且多个存储节点可以同时访问一个卷,允许一个iSCSI客户端,同时连接多个存储节点,通过多路径软件,将多个存储节点提供的卷服务汇聚为一个Host的块设备,然后将该块设备挂载给Openstack虚机。

通过Openstack虚机实现多路径对接存储时,一个计算节点(客户端)要访问存储的一个卷时,可以通过多条网络同时连接多个存储节点。而在多个计算节点同时访问多个卷时,多个计算节点和多个存储节点之间存在多条路径。若路径分配不均衡时,会造成IO流都集中在部分存储节点上,而另外一些节点却处于空闲状态,IO流的集中容易形成存储的性能瓶颈,不能充分发挥存储的性能。集群的节点如果分布在不同机柜上,由机柜的独立电源对机柜上的节点供电,如果某个机柜上的节点异常(如机柜电源故障导致),还有可能某些iSCSI卷的访问路径都中断,造成iSCSI卷无法访问。

发明内容

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供一种Openstack使用iSCSI多路径均衡对接存储方法、装置及介质。

第一方面,本申请提供一种Openstack使用iSCSI多路径均衡对接存储方法,包括:

从拓扑结构信息中筛选出活动节点与活动节点所在机柜的情况;

按照预设的路径均衡策略将选则多路径数个活动节点的任务额均衡配给每个机柜,使存储集群涉及到的机柜均衡地提供活动节点;

选取多路径数个活动节点时,从机柜的全部活动节点中选择业务量少的活动节点作为机柜所提供的活动节点;

并将业务挂载在被选中活动节点中业务量最少的iSCSI卷。

更进一步地,对存储集群所使用的各个机柜进行标记,通过所述标记识别不同的机柜;利用节点的主机名或者节点的IP与机柜的标记配合形成所述拓扑结构信息。

更进一步地,用户根据需求为所述多路径数设置目标值,多路径数的目标值不超过集群全部的活动节点数量。

更进一步地,所述预设的路径均衡策略包括:

获取每个机柜中全部活动节点的数量;

针对每个机柜定义一个当前提供活动节点数量变量,并初始化;

根据全部活动节点数量的由低到高对机柜排序;

按排序的顺序循环遍历每个机柜,

机柜每被遍历一次,则机柜需在可提供活动节点能力范围内提供一个活动节点,即被遍历机柜的当前提供活动节点数量自加一,

按排序的顺序循环遍历每个机柜,直至全部机柜所提供活动节点数量达到预设的多路径数。

更进一步地,每遍历次机柜,则机柜需在可提供活动节点能力范围内提供一个活动节点包括:

机柜被每被遍历一次,

比较被遍历机柜当前提供活动节点数量是否达到机柜内全部活动节点的数量,

否则,被遍历机柜提供一个活动节点,即被遍历机柜的当前提供活动节点数量自加一,全部机柜提供活动节点数量自加一;

是则,机柜不再提供活动节点,即被遍历机柜的当前提供活动节点数量维持不变。

更进一步地,从机柜中选择业务量少的活动节点,并将业务挂载在被选中活动节点中业务量最少的iSCSI卷包括:

全部机柜所提供活动节点数量达到预设的多路径数后,比较每个机柜当前提供活动节点数量是否达到对应的全部活动节点数量,

否则:

对目标机柜的全部活动节点按照当前业务量进行由低到高的排序,

并按当前提供节点数量和活动节点业务量排序选取当前业务量低的活动节点,

获取被选中活动节点中业务量最少的iSCSI卷;

并将业务挂载在被选中的活动节点中业务量最少的iSCSI卷。

更进一步地,业务挂载到iSCSI卷后,更新被选中活动节点的业务量和被选中iSCSI卷的业务量。

更进一步地,从拓扑结构信息中筛选出活动节点与活动节点所在机柜的情况包括:

从存储集群获取各个节点的拓扑结构信息,其中,所述拓扑结构信息包括节点及节点所在的机柜的情况;

利用心跳机制机判断节点是否为活动节点,利用确定的活动节点从拓扑结构信息中筛选出活动节点与活动节点所在机柜的情况。

第二方面,本申请提供一种Openstack使用iSCSI多路径均衡对接存储的装置,包括:拓扑信息处理模块,所述拓扑信息处理模块利用节点心跳判断节点是否为活动节点,并利用确定的活动节点从拓扑结构信息中筛选活动节点与活动节点所在机柜的情况;

多路径数配置模块,所述多路径数配置模块用于配置多路径数;

策略执行模块,所述策略执行模块按照设定的多路径数和活动节点与活动节点所在机柜的情况执行预设的路径均衡策略以将选多路径数个活动节点的任务额均衡配给每个机柜;

活动节点选择模块,所述活动节点选择模块选取机柜中的业务量少的活动节点;

iSCSI卷选择模块,所述iSCSI卷选择模块选取被选中活动节点中业务量最少的iSCSI卷;

执行模块,所述执行模块将业务挂载到被选中的iSCSI卷。

第三方面,本申请提供一种实现Openstack使用iSCSI多路径均衡对接存储方法的存储介质,所述实现Openstack使用iSCSI多路径均衡对接存储方法的存储介质存储至少一条指令,读取执行所述指令实现所述的Openstack使用iSCSI多路径均衡对接存储方法。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

本申请利用节点的拓扑结构信息获取活动节点和活动节点所处机柜的情况,并按照设定的多路径数和预设的路径均衡策略使各个机柜均衡地提供业务量少的活动节点;并将计算节点(客户端)的业务挂载在被所中活动节点中业务量最少的iSCSI卷中。

本申请利用机柜均衡提供活动节点的方式,将多个计算节点(客户端)的业务通过多路径联系到对应的iSCSI卷,而多路径又均衡分配到多个机柜的节点上,保证了某机柜故障场景下,其他机柜的节点能够为计算节点业务的业务提供服务,从而实现了针对机柜故障的高可用。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的Openstack使用iSCSI多路径均衡对接存储方法的流程图;

图2为本申请实施例提供的设置多路径数的流程图;

图3为本申请实施例提供的执行路径均衡策略所实现的流程图;

图4为本申请实施例提供的从机柜的全部活动节点中选择业务量少的活动节点作为机柜所提供的活动节点的流程图;

图5为本申请实施例提供的将业务挂载在被选中的各个活动节点中业务量最少的iSCSI卷的流程图;

图6为本申请实施例提供的实现Openstack使用iSCSI多路径均衡对接存储装置的示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

实施例1

参阅图1所示,本申请实施例提供一种Openstack使用iSCSI多路径均衡对接存储方法,包括:

S100,从拓扑结构信息中筛选出活动节点与活动节点所在机柜的情况。具体的,

从存储集群获取各个节点的拓扑结构信息,其中,所述拓扑结构信息包括节点及节点所在的机柜的情况。具体的,在部署存储集群时,选择不同机柜上的服务器。对存储集群所使用的各个机柜进行标记,通过所述标记识别不同的机柜;利用节点的主机名或者节点的IP与机柜的标记配合形成所述拓扑结构信息,一种可行的方式是利用机柜的标记构建第一集合,第一集合内存储标记所对应机柜上存在的节点的主机名或IP。

存储集群利用心跳机制机判断节点是否为活动节点,利用所确定的活动节点从拓扑结构信息中筛选出活动节点与活动节点所在机柜的情况。一种可行的方式是,遍历各个第一集合中的节点,判断当前的节点是否为活动节点,否则将当前节点的删除,从而获取仅仅包含活动节点的第二集合。

S200,配置多路径数,其中,配置的多路径数不超过存储集群全部的活动节点数量;具体的,参阅图2所示,一种可行的设置多路径数的方式是:

S201,用户根据需求为所述多路径数设置目标值,

S202,统计各个机柜中全部的活动节点数量,

S203,比较全部的活动节点数量是否小于设置的目标值,是则执行S304,

S204,修改用户设置的多路径数的目标值,使其等于全部的活动节点数量;

令多路径数等于目标值。

S300,根据步骤S200中预设的多路径数按照预设的路径均衡策略将选多路径数个活动节点的任务额均衡配给每个机柜,使存储集群涉及到的机柜均衡地提供活动节点。

具体实施过程中,参阅图3所示,执行路径均衡策略实现:

S301,获取每个机柜中全部活动节点的数量;

S302,根据全部活动节点数量的由低到高对机柜排序;

S303,针对每个机柜定义一个当前提供活动节点数量变量,并初始化,具体实施过程中初始化的数值为零;

S304,按排序的顺序循环遍历每个机柜,直至全部机柜所提供活动节点数量达到预设的多路径数。具体的流程如下:

统计机柜的总数n,用包含0至n-1数字的机柜符号表示n个按顺序排列的机柜,如rack[0]、rack[1]……rack[n-1];

定义一个初始值为零的计数变量i;

通过循环遍历机柜符号实现对机柜的遍历:利用计数变量i除以总数n取余数作为机柜符号中的数字,即rack[i%n],再利用使计数变量i自加1,即可循环遍历机柜符号。

S305,机柜每被遍历一次,则机柜需在可提供活动节点能力范围内提供一个活动节点,具体的,被遍历机柜的当前提供活动节点数量自加一,全部机柜提供活动节点数量自加一。具体的流程如下:

机柜每被遍历一次,

比较被遍历机柜当前提供活动节点数量是否达到机柜内全部活动节点的数量,

否则,被遍历机柜提供一个活动节点,即被遍历机柜的当前提供活动节点数量自加一,全部机柜提供活动节点数量自加一;

是则,机柜不再提供活动节点,即被遍历机柜的当前提供活动节点数量维持不变。

在通过步骤S305确定当前机柜是否提供活动节点后,回到步骤S304,判断全部机柜所提供活动节点数量是否达到预设的多路径数,是则停止循环遍历,否则继续S304使计数变量自加1以遍历获取下一顺位的机柜。

在每个机柜确定所要提供活动节点的数量后,需要执行S400从机柜的全部活动节点中按任务额选出机柜所提供的活动节点。

S400,选取多路径数个活动节点时,从机柜的全部活动节点中选择业务量少的活动节点作为机柜所提供的活动节点。具体实施过程中,参阅图4所示,所述从机柜的全部活动节点中选择业务量少的活动节点作为机柜所提供的活动节点包括:

S401,获取每个机柜所提供活动节点数量和机柜全部活动节点数量;

S402,比较每个机柜当前提供活动节点数量是否达到对应的全部活动节点数量,否则执行S403,

S403,对目标机柜的全部活动节点按照当前业务量进行由低到高的排序。具体实施过程中,一种可行的统计当前业务量的方式是统计各个活动节点全部iSCSI卷执行业务lun的总数。

S404,根据机柜中各个活动节点业务量排序选取当前提供节点数量个当前业务量低的活动节点。

S500,从各个机柜选中活动节点后,将业务挂载在被选中的各个活动节点中业务量最少的iSCSI卷。

具体实施过程中,参阅图5所示,将业务挂载在被选中的各个活动节点中业务量最少的iSCSI卷包括:

S501,获取被选中活动节点中每个iSCSI卷所对应的执行业务的lun的数量;

S502,按照lun的数量对活动节点中各个iSCSI卷进行排序;

S503,选取lun数最少的iSCSI卷作为业务量最少的iSCSI卷;

S504,将业务挂载到业务量最少的iSCSI卷。

S600,业务挂载到iSCSI卷后,更新被选中活动节点的业务量和被选中iSCSI卷的业务量。即将执行业务所添加的lun的数量添加到活动节点的全部lun数和对应iSCSI卷的执行业务的lun数中。

实施例2

参阅图6所示,本申请实施例提供一种Openstack使用iSCSI多路径均衡对接存储的装置,包括:

拓扑信息处理模块,所述拓扑信息处理模块利用节点心跳判断节点是否为活动节点,并利用确定的活动节点从拓扑结构信息中筛选活动节点与活动节点所在机柜的情况;

多路径数配置模块,所述多路径数配置模块用于配置多路径数;

策略执行模块,所述策略执行模块按照设定的多路径数和活动节点与活动节点所在机柜的情况执行预设的路径均衡策略以将选多路径数个活动节点的任务额均衡配给每个机柜;

活动节点选择模块,所述活动节点选择模块选取机柜中的业务量少的活动节点;

iSCSI卷选择模块,所述iSCSI卷选择模块选取被选中活动节点中业务量最少的iSCSI卷;

执行模块,所述执行模块将业务挂载到被选中的iSCSI卷。

实施例3

本申请实施例提供一种实现Openstack使用iSCSI多路径均衡对接存储方法的存储介质。具体的,所述实现Openstack使用iSCSI多路径均衡对接存储方法的存储介质存储至少一条指令,读取执行所述指令实现所述的Openstack使用iSCSI多路径均衡对接存储方法。

本申请利用节点的拓扑结构信息获取活动节点和活动节点所处机柜的情况,并按照设定的多路径数和预设的路径均衡策略使各个机柜均衡地提供业务量少的活动节点;并将计算节点(客户端)的业务挂载在被所中活动节点中业务量最少的iSCSI卷中。

本申请利用机柜均衡提供活动节点的方式,将多个计算节点(客户端)的业务通过多路径联系到对应的iSCSI卷,而多路径又均衡分配到多个机柜的节点上,保证了某机柜故障场景下,其他机柜的节点能够为计算节点业务的业务提供服务,从而实现了针对机柜故障的高可用。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

技术分类

06120113793069