一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分布式存储的卷映射管理方法、系统及相关装置与流程

2022-06-22 15:14:40 来源:中国专利 TAG:


1.本技术涉及分布式存储领域,特别涉及一种分布式存储的卷映射管理方法、系统及相关装置。


背景技术:

2.随着大规模集群的普及,集群中动辄几百上千个节点,对存储管理系统的性能和响应时间也提出了更高的要求。现存的卷映射管理方案适用于规模小的集群,target的管理、iqn的管理和卷映射的管理独立维护,并且提供给第三方如openstack的接口也是独立的,这样如果第三方想要挂载一个卷,就需要调用存储系统的多个接口,造成响应时间太长,严重影响客户的使用;另一方面,存储系统自身的卷映射管理,执行命令时由于是全路径,需要同时在集群中每个节点执行,随着节点数的增多,并发量的增大,命令卡死的现象时常出现。
3.因此,如何实现高效的卷映射和管理是本领域技术人员亟需解决的技术问题。


技术实现要素:

4.本技术的目的是提供一种分布式存储的卷映射管理方法、系统。计算机可读存储介质和存储设备,能够降低卷映射响应时间,提高卷映射处理效率。
5.为解决上述技术问题,本技术提供一种分布式存储的卷映射管理方法,具体技术方案如下:
6.接收卷映射请求;
7.确定所述卷映射请求对应的目标分组;
8.在所述目标分组中根据设置的路径数选择相应的节点,并执行所述卷映射请求对应的映射命令。
9.可选的,确定所述卷映射请求对应的目标分组之前,还包括:
10.判断存储池下的节点数是否大于预设值;
11.若否,将分组设为一组;
12.若是,以所述存储池下的节点数和路径数作为参数,采用循环递归算法生成分组信息。
13.可选的,在所述目标分组中根据设置的路径数选择相应的节点之前,还包括:
14.将存储池信息、节点信息和路径信息以键值对的形式生成json配置文件;
15.则所述在所述目标分组中根据设置的路径数选择相应的节点包括:
16.在所述目标分组中根据设置的路径数调用所述json配置文件选择相应的节点。
17.可选的,在所述目标分组中根据设置的路径数选择相应的节点包括:
18.将卷名后三位由十六进制转换为十进制;
19.与target数取余选择待绑定的目标target;
20.与分组数取余后确定待选择的分组,得到目标节点。
21.可选的,得到目标节点之后,还包括:
22.利用所述目标target和所述目标节点执行卷映射命令,并通过节点查找ip,并返回路径信息。
23.可选的,还包括:
24.当接收到云计算管理平台的卷挂载请求时,提供单一卷挂载接口和相应的路径信息。
25.本技术提供一种分布式存储的卷映射管理系统,包括:
26.请求接收模块,用于接收卷映射请求;
27.分组模块,用于确定所述卷映射请求对应的目标分组;
28.卷映射模块,用于在所述目标分组中根据设置的路径数选择相应的节点,并执行所述卷映射请求对应的映射命令。
29.可选的,还包括:
30.集群配置模块,用于判断存储池下的节点数是否大于预设值;若否,将分组设为一组;若是,以所述存储池下的节点数和路径数作为参数,采用循环递归算法生成分组信息。
31.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
32.本技术还提供一种存储设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
33.本技术提供一种分布式存储的卷映射管理方法,包括:接收卷映射请求;确定所述卷映射请求对应的目标分组;在所述目标分组中根据设置的路径数选择相应的节点,并执行所述卷映射请求对应的映射命令。
34.本技术采用分组的模式对卷映射进行管理,当接收到卷映射请求,需要进行卷映射管理时,只在选取的分组中根据设置的路径数进行节点的选取,执行映射命令,如此可大大缩短响应时间,提升了卷映射管理效率。
35.本技术还提供一种分布式存储的卷映射管理系统、计算机可读存储介质和存储设备,具有上述有益效果,此处不再赘述。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
37.图1为本技术实施例所提供的一种分布式存储的卷映射管理方法的流程图;
38.图2为本技术实施例所提供的一种分布式存储的卷映射管理方法的流程图。
具体实施方式
39.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.请参考图1,图1为本技术实施例所提供的一种分布式存储的卷映射管理方法的流程图,该方法包括:
41.s101:接收卷映射请求;
42.s102:确定所述卷映射请求对应的目标分组;
43.s103:在所述目标分组中根据设置的路径数选择相应的节点,并执行所述卷映射请求对应的映射命令。
44.下文先对本技术提供的分布式存储结构进行说明,本技术需要事先针对集群中的节点进行分组配置管理。具体的,可以按照如下步骤进行分组:
45.判断存储池下的节点数是否大于预设值;若否,将分组设为一组;若节点数大于预设值,以存储池下的节点数和路径数作为参数,采用循环递归算法生成分组信息。在此对于该预设值不作限定,可以由本领域技术人员自行设定。容易理解的是,该预设值无论为何值,均起到对于最小节点数的判断作用。
46.此外,还可以将存储池信息、节点信息和路径信息以键值对的形式生成json配置文件,则在执行步骤s103时,可以直接在目标分组中根据设置的路径数调用json配置文件选择相应的节点,换言之,该json配置文件供路径选择算法中使用。
47.通过web界面完成存储管理系统部署后,可以自动创建一组集群所用的target,例如命名为target0-target7。通过分组创建存储池的方式,将存储池信息,包括池的节点信息,路径信息以key,value即键值对的形式自动生成一个json配置文件,例如可以生成group.json配置文件。通过虚拟化和非虚拟化两种应用场景的使用,提高卷映射的执行效率。
48.在分布式存储部署中,分为融合部署和非融合部署两种场景,通过网络的设置,调用mon脚本,可在集群的配置文件中同时配置public ip和cluster ip,在融合场景下,这两个网络是相同的,为了适配融合场景,在管理软件配置文件ism.conf文件中配置front_network,在后续返回路径信息对业务ip进行解析时也是根据此字段来进行场景的判断。集群部署完后,系统会搜集集群中的节点网络信息,生成包括节点名和ip信息的node_ip.txt,自动生成一组target供集群使用,例如可以命名为target0-target7。简单来说,在融合部署模式下,获取ism.conf中的front_neework;非融合模式下,获取icfs.conf中的public ip,本技术可兼容两种模式。
49.当集群部署完成后,需要进行存储池的创建,对于大规模集群来说,需要采用分组划分的形式创建,生成group.son配置文件,其中包括存储池名,节点名和路径数,路径数在此不作限定,例如可以设置为5,若存储池下的节点数小于5,path_num的值为节点数。
50.在进行分组解析时,以路径数为5为例,当存储池下的节点数小于等于5时,生成的分组为一组,当节点数大于5时,为了保证节点的负载均衡,采用循环递归的算法生成分组信息,参数为存储池下的节点数和路径数,路径数固定为5。形参为a和b,将b作为a,a和b取余作为b循环调用直到a和b取余为0,则返回a。分组数=节点数/循环递归结果。如:存储池下8个节点,路径数为5,则需分为8组,一种可行的分组信息为:
51.[[0,1,2,3,4],[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7],[4,5,6,7,0],[5,6,7,0,1],[6,7,0,1,2],[7,0,1,2,3]]
[0052]
以二维数组的形式进行存储。创建卷时,截取卷名的后三位,若非数字则自动生成一个随机数作为卷名使用。然后将卷名的后三位十六进制转化为十进制,将转化后的十进制与target的数量取余选取需要绑定的target;与分组数取余获取需要的组信息的索引值,如image110,后三位转为十进制为272,且272%8=0,则可以选择target0,选择分组信息中索引值为0的即为第一组信息,组信息中的每组为节点的索引值,最终选择索引值为0-4的节点作为创建卷映射的节点。选取出节点信息和target信息后,ansible执行卷映射的命令,然后根据选择的节点在结合node_ip.txt解析出业务ip。其中,通过判断ism.conf文件中是否存在front_network字段区分融合和非融合场景,融合场景下业务ip为front_network,非融合场景下业务ip为public ip,public ip可从icfs.conf配置文件中获取。最终非虚拟化场景显示卷映射信息,包括所属池、卷、路径数和详细的路径信息;虚拟化场景下,通过openstack挂载卷,调用一个接口,返回路径信息,大大缩短了交互时间,提升了效率。
[0053]
此外,当接收到云计算管理平台的卷挂载请求时,提供单一卷挂载接口和相应的路径信息。而对于其他第三方,例如openstack,也可以仅提供单一的卷挂载接口,通过接口的合并,在对接openstack时,减小了交互次数,大大提升了响应效率。
[0054]
本技术实施例采用分组的模式对卷映射进行管理,当接收到卷映射请求,需要进行卷映射管理时,只在选取的分组中根据设置的路径数进行节点的选取,执行映射命令,如此可大大缩短响应时间,提升了卷映射管理效率。
[0055]
下面对本技术实施例提供的分布式存储的卷映射管理系统进行介绍,下文描述的卷映射管理系统与上文描述的分布式存储的卷映射管理方法可相互对应参照。
[0056]
参见图2,图2为本技术实施例所提供的一种分布式存储的卷映射管理方法的流程图,本技术提供一种分布式存储的卷映射管理系统,包括:
[0057]
请求接收模块,用于接收卷映射请求;
[0058]
分组模块,用于确定所述卷映射请求对应的目标分组;
[0059]
卷映射模块,用于在所述目标分组中根据设置的路径数选择相应的节点,并执行所述卷映射请求对应的映射命令。
[0060]
基于上述实施例,作为优选的实施例,还包括:
[0061]
集群配置模块,用于判断存储池下的节点数是否大于预设值;若否,将分组设为一组;若是,以所述存储池下的节点数和路径数作为参数,采用循环递归算法生成分组信息。
[0062]
基于上述实施例,作为优选的实施例,还包括:
[0063]
配置文件生成模块,用于将存储池信息、节点信息和路径信息以键值对的形式生成json配置文件;
[0064]
相应的,所述卷映射模块为用于在所述目标分组中根据设置的路径数调用所述json配置文件选择相应的节点的模块。
[0065]
基于上述实施例,作为优选的实施例,卷映射模块包括:
[0066]
节点确定单元,用于将卷名后三位由十六进制转换为十进制;与target数取余选择待绑定的目标target;与分组数取余后确定待选择的分组,得到目标节点。
[0067]
基于上述实施例,作为优选的实施例,还包括:
[0068]
命令响应模块,用于利用所述目标target和所述目标节点执行卷映射命令,并通
过节点查找ip,并返回路径信息。
[0069]
本技术还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0070]
本技术还提供了一种存储设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述存储设备还可以包括各种网络接口,电源等组件。
[0071]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0072]
本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
[0073]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献