一种存储集群的扩容方法、系统及相关装置制造方法及图纸

技术编号:27611643 阅读:14 留言:0更新日期:2021-03-10 10:38
本申请提供一种存储集群的扩容方法,包括:接收扩容指令,并确定所述扩容指令对应的新扩容节点;遍历所有放置组,确定各所述放置组对应OSD的引用计数;每个OSD的引用计数与其承载的放置组数量相同;将每个放置组中引用计数最大的OSD置为待确定OSD;调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD。本申请使得每个放置组中引用技术最大的OSD只会被替换为新扩容节点中的OSD,杜绝了旧节点内部之间的数据迁移,从而提高扩容重构效率,降低系统进行扩容时的资源使用率,提高存储系统性能。本申请还提供一种存储集群的扩容系统、计算机可读存储介质和存储设备,具有上述有益效果。上述有益效果。上述有益效果。

【技术实现步骤摘要】
一种存储集群的扩容方法、系统及相关装置


[0001]本申请涉及数据存储领域,特别涉及一种存储集群的扩容方法、系统及相关装置。

技术介绍

[0002]在分布式存储系统中,存储的内容按照固定大小切割,这一块固定大小的数据称为一个对象,PG(Placement Group,放置组,是用于放置对象的一个载体)就是多个对象的聚合。而每个PG与OSD(Object-based Storage Device,对象存储设备)的对应是通过数据分布算法对应起来的,一个PG对应于多个OSD,OSD可以简单理解为物理上的磁盘,一个OSD上可以有多个PG,存储的内容置于磁盘上。当进行节点扩容时,数据分布算法会通过一系列的计算去给所有PG重新选择OSD,选择完成后,对于该PG中新加入的OSD成员需要进行数据迁移,但在执行数据迁移过程中容易存在某PG重新选择成员后新加入的成员依然是老节点的OSD,但是由于该OSD上没有该PG的数据,所以也需要进行数据迁移,这样在扩容时就存在额外迁移量,不仅占用了系统资源,同时降低了扩容效率。

技术实现思路

[0003]本申请的目的是提供一种存储集群的扩容方法、存储集群的扩容系统、计算机可读存储介质和存储设备,能够提高扩容效率。
[0004]为解决上述技术问题,本申请提供一种存储集群的扩容方法,具体技术方案如下:
[0005]接收扩容指令,并确定所述扩容指令对应的新扩容节点;
[0006]遍历所有放置组,确定各所述放置组对应OSD的引用计数;每个OSD的引用计数与其承载的放置组数量相同;
[0007]将每个放置组中引用计数最大的OSD置为待确定OSD;
[0008]调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD。
[0009]可选的,调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD之后,还包括:
[0010]判断所述最优OSD和所述待确定OSD是否属于相同故障域;
[0011]若是,则拒绝利用所述最优OSD替换所述待确定OSD;
[0012]若否,则利用所述最优OSD替换所述待确定OSD。
[0013]可选的,调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD包括:
[0014]调用预设哈希算法对所述新扩容节点中每个扩容节点作哈希计算;
[0015]在哈希值最大的扩容节点中确定哈希值最大的新OSD作为所述最优OSD;
[0016]利用所述最优OSD替换所述待确定OSD。
[0017]可选的,在哈希值最大的扩容节点中确定哈希值最大的新OSD作为所述最优OSD包括:
[0018]在哈希值最大的扩容节点中分别基于尝试次数、OSD名称和OSD权重计算各OSD对
应的哈希值。
[0019]将哈希值最大的OSD作为最优OSD。
[0020]可选的,利用所述最优OSD替换所述待确定OSD之后,还包括:
[0021]变更OSD的引用计数。
[0022]可选的,确定所述扩容指令对应的新扩容节点之后,还包括:
[0023]利用预设数据分布结构存储所述新扩容节点。
[0024]可选的,在哈希值最大的扩容节点中分别基于尝试次数、OSD名称和OSD权重计算各OSD对应的哈希值之前,还包括:
[0025]根据各OSD的容量确定各所述OSD的OSD权重。
[0026]本申请还提供一种存储集群的扩容系统,包括:
[0027]指令接收模块,用于接收扩容指令,并确定所述扩容指令对应的新扩容节点;
[0028]计数模块,用于遍历所有放置组,确定各所述放置组对应OSD的引用计数;每个OSD的引用计数与其承载的放置组数量相同;
[0029]扩容准备模块,用于将每个放置组中引用计数最大的OSD置为待确定OSD;
[0030]扩容模块,用于调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD。
[0031]本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
[0032]本申请还提供一种存储设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
[0033]本申请提供一种存储集群的扩容方法,包括:接收扩容指令,并确定所述扩容指令对应的新扩容节点;遍历所有放置组,确定各所述放置组对应OSD的引用计数;每个OSD的引用计数与其承载的放置组数量相同;将每个放置组中引用计数最大的OSD置为待确定OSD;调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD。
[0034]本申请通过计算每个放置组中的OSD的引用计数,使得引用技术最大的OSD置为待确定状态,再调用数据分布接口从新扩容节点中为该放置组配置新的OSD,使得每个放置组中引用技术最大的OSD只会被替换为新扩容节点中的OSD,杜绝了旧节点内部之间的数据迁移,从而提高扩容重构效率,降低系统进行扩容时的资源使用率,提高存储系统性能。
[0035]本申请还提供一种存储集群的扩容系统、计算机可读存储介质和存储设备,具有上述有益效果,此处不再赘述。
附图说明
[0036]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0037]图1为本申请实施例所提供的种存储集群的扩容方法的流程图;
[0038]图2为本申请实施例所提供的种存储集群的扩容系统结构示意图。
具体实施方式
[0039]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0040]请参考图1,图1为本申请实施例所提供的种存储集群的扩容方法的流程图,该方法包括:
[0041]S101:接收扩容指令,并确定所述扩容指令对应的新扩容节点;
[0042]本步骤旨在接收扩容指令,以及确定扩容指令对应的新扩容节点。扩容指令中可以包含其对应的新扩容节点,此外,还可以利用预设数据分布结构存储新扩容节点。在此对于采用何种预设数据分布结构不作具体限定,可以利用数据分布算法构建一个独立的数据分布结构,用于存放新扩容节点。需要注意的是,新扩容节点同样包含对应的OSD。例如新扩容进来的节点为host4,其下有OSD.9,OSD.10,OSD.11,那么该数据分布结构中主要的信息就是上述节点host4和对应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储集群的扩容方法,其特征在于,包括:接收扩容指令,并确定所述扩容指令对应的新扩容节点;遍历所有放置组,确定各所述放置组对应OSD的引用计数;每个OSD的引用计数与其承载的放置组数量相同;将每个放置组中引用计数最大的OSD置为待确定OSD;调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD。2.根据权利要求1所述的扩容方法,其特征在于,调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD之后,还包括:判断所述最优OSD和所述待确定OSD是否属于相同故障域;若是,则拒绝利用所述最优OSD替换所述待确定OSD;若否,则利用所述最优OSD替换所述待确定OSD。3.根据权利要求2所述的扩容方法,其特征在于,调用数据分布接口从所述新扩容节点中选择最优OSD替换所述待确定OSD包括:调用预设哈希算法对所述新扩容节点中每个扩容节点作哈希计算;在哈希值最大的扩容节点中确定哈希值最大的新OSD作为所述最优OSD;利用所述最优OSD替换所述待确定OSD。4.根据权利要求3所述的扩容方法,其特征在于,在哈希值最大的扩容节点中确定哈希值最大的新OSD作为所述最优OSD包括:在哈希值最大的扩容节点中分别基于尝试次数、OSD名称和OSD权重计算各OSD对应的哈希值;将哈希值最大的OSD作为最优OSD。5.根据权利要求2所述的扩...

【专利技术属性】
技术研发人员:孙润宇孟祥瑞
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1