存储系统扩容方法、装置、电子设备及存储介质与流程

文档序号:37224082发布日期:2024-03-05 15:25阅读:14来源:国知局
存储系统扩容方法、装置、电子设备及存储介质与流程

本技术实施例涉及存储,尤其涉及一种存储系统扩容方法、装置、电子设备及存储介质。


背景技术:

1、随着数据量的增大,存储系统会面临对存储池进行扩容的需求,通常,扩容会将硬盘扩容到原有的磁盘组或者是将硬盘创建为新的磁盘组。在扩容大量节点时,考虑到尽可能保证节点的冗余度,会选择创建新的磁盘组方式来实现扩容。

2、然而,随着持续不断的扩容,创建的磁盘组的数量会越来越多。若分布在末尾的磁盘组出现不均衡的情况,需要扩容时,可能仍会按照磁盘组顺序进行依次扩容,末尾的磁盘组可能无法分配到硬盘,无法实现对需要扩容的末尾磁盘组进行扩容。


技术实现思路

1、本技术实施例提供一种存储系统扩容方法、装置、电子设备及存储介质,以避免扩容时末尾的磁盘组无法分配到硬盘的问题。

2、第一方面,本技术实施例提供了一种存储系统扩容方法,所述方法包括:

3、获取待扩容存储池中磁盘组最大支持数量、扩容硬盘所在节点的扩容节点数量以及当前节点池中的当前节点数量;

4、若所述扩容节点数量大于或等于所述当前节点数量,确定所述存储池中当前的磁盘组数量是否小于所述磁盘组最大支持数量;

5、若是,基于扩容硬盘创建新的磁盘组,得到扩容磁盘组以及未使用的剩余硬盘;

6、若所述扩容节点数量小于所述当前节点数量,或者,所述存储池中当前的磁盘组数量大于或等于所述磁盘组最大支持数量,将所述扩容硬盘确定为未使用的剩余硬盘;

7、利用所述未使用的剩余硬盘对所述存储池中当前的磁盘组进行扩容。

8、可选的,所述基于扩容硬盘创建新的磁盘组,得到扩容磁盘组以及未使用的剩余硬盘,包括:

9、基于预设算法确定所述存储池中当前的磁盘组的节点贡献最佳硬盘数;

10、将所述节点贡献最佳硬盘数确定为新磁盘组中各节点的所需硬盘数,并按照所述所需硬盘数从所述扩容硬盘中划分硬盘,得到新磁盘组;

11、将所述扩容硬盘中未划分到所述新磁盘组中的硬盘确定为未使用的剩余硬盘。

12、上述技术方案中,引入节点贡献最佳磁盘数,使得创建的新磁盘组时按照节点贡献最佳磁盘数来创建,创建的新磁盘组的存储能力会更加适合当前存储池。

13、可选的,所述按照所述所需硬盘数从所述扩容硬盘中划分硬盘,得到新磁盘组,包括:

14、依次从所述扩容硬盘中各节点对应的硬盘中划分所述所需硬盘数作为新磁盘组对应节点的硬盘;

15、在对新磁盘组各节点的硬盘都划分完成之后,得到所述新磁盘组。

16、上述实施例中,按照节点对扩容硬盘进行依次的划分,可以保证新磁盘组的创建过程顺利进行,避免新磁盘组创建时硬盘与节点的关系发生错乱而导致的新磁盘组无法使用或者性能降低的问题。

17、可选的,所述利用所述未使用的剩余硬盘对所述存储池中当前的磁盘组进行扩容,包括:

18、确定所述存储池中当前的磁盘组各自对应的不均衡度,并根据所述不均衡度确定不均衡磁盘组;

19、根据每个所述不均衡磁盘组各自对应的所述不均衡度,利用所述未使用的剩余硬盘对每个所述不均衡磁盘组进行扩容。

20、上述实施例中,利用磁盘组的不均衡度,来将剩余硬盘对磁盘组进行扩容,使不均衡磁盘组更为均衡。

21、可选的,所述根据每个所述不均衡磁盘组各自对应的所述不均衡度,利用所述未使用的剩余硬盘对每个所述不均衡磁盘组进行扩容,包括:

22、按照所述不均衡度对所述不均衡磁盘组进行排序,其中,排序越靠前,所述不均衡度越高;

23、按照所述排序,依次对所述不均衡磁盘组中各节点从所述扩容硬盘中分配预设数量的硬盘;

24、确定所述存储池中当前的磁盘组中是否具有不均衡磁盘组,并在具有的情况下,根据每个所述不均衡磁盘组各自对应的所述不均衡度,利用所述未使用的剩余硬盘对每个所述不均衡磁盘组进行扩容。

25、上述实施例中,可以按照不均衡度进行排序,从而优先对不均衡度较高的不均衡磁盘组进行扩容。

26、可选的,所述方法还包括:

27、若所述存储池中当前的磁盘组中不具有不均衡磁盘组,确定本次扩容是否创建新磁盘组;

28、若创建了新磁盘组,将当前未使用的剩余硬盘补充到所述新磁盘组中;

29、若未创建新磁盘组,按照各磁盘组的硬盘总数对所述存储池中当前的磁盘组进行排序,并按照排序将当前未使用的剩余硬盘补充到所述存储池中当前的磁盘组中。

30、上述实施例中,在不存在不均衡磁盘组的情况下,将剩余硬盘补充到新磁盘组中,以使新磁盘组中的硬盘数量与可能经过几轮扩容的原磁盘组中硬盘的数量相当;在未创建新磁盘组的情况下,按照各原磁盘组的硬盘总数将剩余硬盘补充到原磁盘组中,以使各原磁盘组的硬盘总数相当。

31、可选的,所述方法还包括:

32、判断将当前未使用的剩余硬盘进行补充后,是否还存在满足分配条件的剩余硬盘;

33、若不存在,基于预设冗余配比确定不满足分配条件的剩余硬盘是否满足新磁盘创建条件;

34、若满足,将不满足分配条件的剩余硬盘创建为新磁盘,若不满足,提示所述不满足分配条件的剩余硬盘扩容失败。

35、上述实施例中,可以将不满足分配条件的剩余硬盘在满足新磁盘创建条件的情况下,进行新磁盘的创建,从而最大化对剩余硬盘的使用。

36、第二方面,本技术实施例还提供了一种存储系统扩容装置,该存储系统扩容装置包括:

37、获取模块,用于获取待扩容存储池中磁盘组最大支持数量、扩容硬盘所在节点的扩容节点数量以及当前节点池中的当前节点数量;

38、判定模块,用于若所述扩容节点数量大于或等于所述当前节点数量,确定所述存储池中当前的磁盘组数量是否小于所述磁盘组最大支持数量;

39、新磁盘组创建模块,用于若是,基于扩容硬盘创建新的磁盘组,得到扩容磁盘组以及未使用的剩余硬盘;

40、剩余硬盘确定模块,用于若所述扩容节点数量小于所述当前节点数量,或者,所述存储池中当前的磁盘组数量大于或等于所述磁盘组最大支持数量,将所述扩容硬盘确定为未使用的剩余硬盘;

41、磁盘组扩容模块,用于利用所述未使用的剩余硬盘对所述存储池中当前的磁盘组进行扩容。

42、第三方面,本技术实施例还提供了一种电子设备,所述电子设备包括:

43、一个或多个处理器;

44、存储装置,用于存储一个或多个程序,

45、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本技术任一实施例提供的存储系统扩容方法。

46、第四方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本技术任一实施例提供的存储系统扩容方法。

47、本技术实施例的技术方案中,首先获取待扩容存储池中磁盘组最大支持数量、扩容硬盘所在节点的扩容节点数量以及当前节点池中的当前节点数量;若扩容节点数量大于或等于当前节点数量,确定存储池中当前的磁盘组数量是否小于或等于磁盘组最大支持数量;若是,基于扩容硬盘创建新的磁盘组,得到扩容磁盘组以及未使用的剩余硬盘;若扩容节点数量小于当前节点数量,或者,存储池中当前的磁盘组数量大于磁盘组最大支持数量,将扩容硬盘确定为未使用的剩余硬盘;利用未使用的剩余硬盘对存储池中当前的磁盘组进行扩容。基于此,本技术通过设定磁盘组最大支持数量,将存储池中磁盘组的数量限制在最大支持数量之内,避免出现扩容出无限量磁盘组数量的情况,由于磁盘组数量被限制,可以通过定义最大支持数量的数值,来避免按照常规方法扩容时,出现无法扩容到末尾磁盘组的情况。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1