太阳城集团

  • / 14
  • 下载费用:30 金币  

一种资源创建的方法和装置.pdf

摘要
申请专利号:

太阳城集团CN201510683785.1

申请日:

2015.10.20

公开号:

CN105243032A

公开日:

2016.01.13

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):G06F 12/109申请日:20151020|||公开
IPC分类号: G06F12/109(2016.01)I 主分类号: G06F12/109
申请人: 浙江宇视科技有限公司
发明人: 郭永强; 王丽红; 郭鹏洲; 卢洪棚; 谢菲
地址: 310051浙江省杭州市滨江区西兴街道江陵路88号10幢南座1-11层
优先权:
专利代理机构: 北京博思佳知识产权代理有限公司11415 代理人: 林祥
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201510683785.1

授权太阳城集团号:

||||||

法律状态太阳城集团日:

2019.01.15|||2016.03.09|||2016.01.13

法律状态类型:

授权|||实质审查的生效|||公开

摘要

太阳城集团本发明提供一种资源创建的方法和装置,存储池内包括扩容前的K个PD和扩容后的M个PD,该方法包括:在资源创建过程中,从K个PD和M个PD中,选择用于创建资源的VD;其中,选择的VD均匀分布在K个PD和M个PD中;在资源创建完成后,对K个PD和M个PD中的VD进行均衡处理,以使K个PD和M个PD的利用率保持在平均利用率的有效范围之内。通过本发明的技术方案,当存储池中的任意一个PD发生故障时,会触发重构过程,此时基于所有PD的数据恢复故障PD的数据,参与到重构过程的PD数量较多,大大提高重构速度,而且扩容不会导致重构效率的降低,减轻扩容后的M个PD的重构压力,减少对业务的影响。

权利要求书

权利要求书
1.  一种资源创建的方法,存储池内包括扩容前的K个物理磁盘PD和扩容后的M个PD,K为正整数,M为正整数,其特征在于,所述方法包括:
在资源创建过程中,从所述K个PD和M个PD中,选择用于创建资源的虚拟磁盘VD;其中,选择的VD均匀分布在所述K个PD和M个PD中;
在资源创建完成后,对所述K个PD和M个PD中的VD进行均衡处理,以使所述K个PD和M个PD的利用率保持在平均利用率的有效范围之内。

2.  根据权利要求1所述的方法,其特征在于,所述从所述K个PD和M个PD中,选择用于创建资源的虚拟磁盘VD的过程,具体包括:
按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从所述K个PD和所述M个PD中选择用于创建资源的VD,其中,选择的用于组建同一个虚拟磁盘组VDG的多个VD不能位于同一个PD上。

3.  根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
在资源创建之前,则设置创建标记;在资源创建完成之后,则清除所述创建标记;其中,如果当前存在所述创建标记,则不允许执行对所述K个PD和M个PD中的VD进行均衡处理的过程;如果当前不存在所述创建标记,则执行对所述K个PD和M个PD中的VD进行均衡处理的过程。

4.  根据权利要求1所述的方法,其特征在于,所述对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内的过程,具体包括:
将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内;其中,在将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上时,针对所述K个PD中的位于同一个VDG的多个VD,所述多个VD中迁移部分VD的数据到所述M个PD中对应个数的VD上。

5.  根据权利要求1或4所述的方法,其特征在于,所述平均利用率的有效 范围具体包括:[N*(1-x%),N*(1+x%)],所述N为平均利用率,x为预设阈值;所述平均利用率N=((a%+b%)*K+b%*M)/(K+M);其中,a%为在资源创建过程之前,所述K个PD中的每个PD的利用率,b%为在资源创建过程中,所述K个PD和所述M个PD中的每个PD的利用率。

6.  一种资源创建的装置,存储池内包括扩容前的K个物理磁盘PD和扩容后的M个PD,K为正整数,M为正整数,其特征在于,所述装置包括:
选择模块,用于在资源创建过程中,从K个PD和M个PD中选择用于创建资源的虚拟磁盘VD;选择的VD均匀分布在K个PD和M个PD中;
处理模块,用于在资源创建完成之后,对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内。

7.  根据权利要求6所述的装置,其特征在于,
所述选择模块,具体用于在从所述K个PD和所述M个PD中,选择用于创建资源的虚拟磁盘VD的过程中,按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从所述K个PD和所述M个PD中选择用于创建资源的VD,且选择的用于组建同一个虚拟磁盘组VDG的多个VD不能位于同一个PD上。

8.  根据权利要求6或7所述的装置,其特征在于,
所述处理模块,还用于在资源创建之前,则设置创建标记;在资源创建完成之后,则清除所述创建标记;其中,如果当前存在所述创建标记,则不允许所述处理模块执行对所述K个PD和M个PD中的VD进行均衡处理的过程;如果当前不存在所述创建标记,则允许所述处理模块执行对所述K个PD和M个PD中的VD进行均衡处理的过程。

9.  根据权利要求6所述的装置,其特征在于,
所述处理模块,具体用于在对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内的过程中,将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上,以使所述K个PD和所述M个PD的利用率保持在平均利用率的 有效范围之内;在将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上时,针对所述K个PD中的位于同一个VDG的多个VD,所述多个VD中迁移部分VD的数据到所述M个PD中对应个数的VD上。

10.  根据权利要求6或9所述的装置,其特征在于,所述平均利用率的有效范围具体包括:[N*(1-x%),N*(1+x%)],所述N为平均利用率,x为预设阈值;所述平均利用率N=((a%+b%)*K+b%*M)/(K+M);其中,a%为在资源创建过程之前,所述K个PD中的每个PD的利用率,b%为在资源创建过程中,所述K个PD和所述M个PD中的每个PD的利用率。

说明书

说明书一种资源创建的方法和装置
技术领域
本发明涉及存储技术领域,尤其涉及一种资源创建的方法和装置。
背景技术
为了解决重构太阳城集团较长的问题,传统的阵列构建方式逐渐演变到块虚拟化方式,如图1所示,为块虚拟化的架构示意图,通过块虚拟化方式,由存储池向上层提供资源。块虚拟化方式的基本思想是:将指定数量的PD(PhysicalDisk,物理磁盘)加入到存储池中,并按照指定大小将PD切割成多个VD(VirtualDisk,虚拟磁盘,即分块),多个VD按照相应的RAID(RedundantArraysofIndependentDisks,独立冗余磁盘阵列)策略组建VDG(VirtualDiskGroup,虚拟磁盘组),并向上层提供资源。其中,VD是组成VDG的虚拟磁盘单元,VDG由多个位于不同PD上的VD组成。
在图1中,将PD1、PD2、PD3、PD4、PD5加入到存储池中,并按照指定大小将各PD均切割成9个VD。进一步的,VDG1由VD11、VD21、VD31、VD41组成,VDG2由VD12、VD22、VD32、VD51组成,VDG3由VD13、VD23、VD42、VD52组成,VDG4由VD14、VD33、VD43、VD53组成,VDG5由VD24、VD34、VD44、VD54组成,VDG6由VD15、VD25、VD35、VD45组成,以此类推。进一步的,第一个RAID由VDG1、VDG2和VDG3组成,第二个RAID由VDG4、VDG5和VDG6组成,以此类推。
当存储池中的资源(即VD资源)不足以满足上层业务的需求时,可以对存储池进行扩容,即在存储池中添加新PD,并按照指定大小将新PD切割成多个VD,新PD所切割成的多个VD用于继续向上层提供资源,以满足上层业务 的需求。例如,重新将PD6、PD7、PD8、PD9加入到存储池中,并按照指定大小分别将PD6、PD7、PD8、PD9均切割成9个VD。
在将新PD(PD6、PD7、PD8、PD9)添加到存储池之后,新PD的利用率为0,而原有PD(PD1、PD2、PD3、PD4、PD5)的利用率远大于新PD的利用率,此时需要对存储池进行均衡处理,以使所有PD的利用率保持在平均利用率的有效范围之内。基于此,在选取VD创建RAID时,会先从新PD中选取VD来创建VDG,例如,VDG7由VD61、VD71、VD81、VD91组成,VDG8由VD62、VD72、VD82、VD92组成,VDG9由VD63、VD73、VD83、VD93组成,VDG10由VD64、VD74、VD84、VD94组成,以此类推。进一步的,第三个RAID由VDG7、VDG8和VDG9组成,以此类推。
当新PD(PD6、PD7、PD8、PD9)中有任意一个PD(如PD6)发生故障时,会触发重构过程,此时基于PD7、PD8、PD9中的数据恢复PD6中的数据,而原有PD(PD1、PD2、PD3、PD4、PD5)并不会参与到重构过程中。
基于上述方式,参与到重构过程中的PD数量较少,导致重构速度大大降低,PD7、PD8、PD9的重构压力比较大,从而造成对业务的影响。
发明内容
本发明提供一种资源创建的方法,存储池内包括扩容前的K个物理磁盘PD和扩容后的M个PD,K为正整数,M为正整数,所述方法包括:
在资源创建过程中,从所述K个PD和M个PD中,选择用于创建资源的虚拟磁盘VD;其中,选择的VD均匀分布在所述K个PD和M个PD中;
在资源创建完成后,对所述K个PD和M个PD中的VD进行均衡处理,以使所述K个PD和M个PD的利用率保持在平均利用率的有效范围之内。
所述从所述K个PD和M个PD中,选择用于创建资源的VD的过程,具体包括:按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从所述K个PD和所述M个PD中选择用于创建资源的VD,其中,选择的用于组建同一个虚拟磁盘组VDG的多个VD不能位于同一个PD上。
所述方法进一步包括:
在资源创建之前,则设置创建标记;在资源创建完成之后,则清除所述创建标记;其中,如果当前存在所述创建标记,则不允许执行对所述K个PD和M个PD中的VD进行均衡处理的过程;如果当前不存在所述创建标记,则执行对所述K个PD和M个PD中的VD进行均衡处理的过程。
所述对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内的过程,具体包括:将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内;其中,在将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上时,针对所述K个PD中的位于同一个VDG的多个VD,所述多个VD中迁移部分VD的数据到所述M个PD中对应个数的VD上。
所述平均利用率的有效范围具体包括:[N*(1-x%),N*(1+x%)],所述N为平均利用率,x为预设阈值;所述平均利用率N=((a%+b%)*K+b%*M)/(K+M);其中,a%为在资源创建过程之前,所述K个PD中的每个PD的利用率,b%为在资源创建过程中,所述K个PD和所述M个PD中的每个PD的利用率。
本发明提供一种资源创建的装置,存储池内包括扩容前的K个物理磁盘PD和扩容后的M个PD,K为正整数,M为正整数,所述装置包括:
选择模块,用于在资源创建过程中,从K个PD和M个PD中选择用于创建资源的虚拟磁盘VD;选择的VD均匀分布在K个PD和M个PD中;
处理模块,用于在资源创建完成之后,对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内。
所述选择模块,具体用于在从所述K个PD和所述M个PD中,选择用于创建资源的虚拟磁盘VD的过程中,按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从所述K个PD和所述M个PD中选择用于创建资源的VD, 且选择的用于组建同一个虚拟磁盘组VDG的多个VD不能位于同一个PD上。
所述处理模块,还用于在资源创建之前,则设置创建标记;在资源创建完成之后,则清除所述创建标记;其中,如果当前存在所述创建标记,则不允许所述处理模块执行对所述K个PD和M个PD中的VD进行均衡处理的过程;如果当前不存在所述创建标记,则允许所述处理模块执行对所述K个PD和M个PD中的VD进行均衡处理的过程。
所述处理模块,具体用于在对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内的过程中,将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内;在将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上时,针对所述K个PD中的位于同一个VDG的多个VD,所述多个VD中迁移部分VD的数据到所述M个PD中对应个数的VD上。
所述平均利用率的有效范围具体包括:[N*(1-x%),N*(1+x%)],所述N为平均利用率,x为预设阈值;所述平均利用率N=((a%+b%)*K+b%*M)/(K+M);其中,a%为在资源创建过程之前,所述K个PD中的每个PD的利用率,b%为在资源创建过程中,所述K个PD和所述M个PD中的每个PD的利用率。
基于上述技术方案,本发明实施例中,在对存储池进行扩容之后,即使扩容前的K个PD的利用率远大于扩容后的M个PD的利用率,在资源创建过程中,是从所有PD(扩容前的K个PD和扩容后的M个PD)中选择用于创建资源的VD,如从所有PD中选取VD来创建VDG,而不是从扩容后的M个PD中选择用于创建资源的VD。基于此,当存储池中的任意一个PD发生故障时,会触发重构过程,此时基于所有PD的数据恢复故障PD的数据,即存储池中的所有PD都会参与重构过程,参与到重构过程中的PD数量较多,大大提高重构速度,而且保证扩容不会导致重构效率的降低,减轻扩容后的M个PD的重构压力,同时减少对业务的影响。
附图说明
图1是块虚拟化的架构示意图;
图2是本发明一种实施方式中的资源创建的方法的流程图;
图3是本发明一种实施方式中的扩容后的均衡示意图;
图4是本发明一种实施方式中的存储设备的硬件结构图;
图5是本发明一种实施方式中的资源创建的装置的结构图。
具体实施方式
针对现有技术中存在的问题,本发明实施例中提出一种资源创建的方法,该方法可以应用在块虚拟化的组网架构中。在块虚拟化的组网架构中,由存储池向上层提供资源,在存储池中包括多个PD,且按照指定大小将每个PD切割成多个VD,多个VD按照相应的RAID策略组建VDG,并向上层提供资源。进一步的,当存储池中的资源(即VD资源)不足以满足上层业务的需求时,可以对存储池进行扩容,即在存储池中添加新PD,并按照指定大小将新PD切割成多个VD,新PD所切割成的多个VD用于继续向上层提供资源,以满足上层业务的需求。在此基础上,本发明实施例中,存储池内包括扩容前的K个PD和扩容后的M个PD,其中,K为正整数,M为正整数。
例如,将PD1、PD2、PD3、PD4、PD5加入到存储池中,并按照指定大小将各个PD均切割成9个VD。VDG1由VD11、VD21、VD31、VD41组成,VDG2由VD12、VD22、VD32、VD51组成,VDG3由VD13、VD23、VD42、VD52组成,VDG4由VD14、VD33、VD43、VD53组成,VDG5由VD24、VD34、VD44、VD54组成,VDG6由VD15、VD25、VD35、VD45组成。第一个RAID由VDG1、VDG2和VDG3组成,第二个RAID由VDG4、VDG5和VDG6组成。之后,为了满足上层业务的需求,将PD6、PD7、PD8、PD9加入到存储池中,并按照指定大小分别将PD6、PD7、PD8、PD9均切割成9个VD。在此基础上,存储池内包括了扩容前的5个PD(PD1、PD2、PD3、PD4、PD5)以及 扩容后的4个PD(PD6、PD7、PD8、PD9)。
在上述应用场景下,如图2所示,该资源创建的方法可以包括以下步骤:
步骤201,在资源创建过程中,从K个PD和M个PD中,选择用于创建资源的VD;其中,选择的VD均匀分布在K个PD和M个PD中。
本发明实施例中,从K个PD和M个PD中,选择用于创建资源的VD的过程,具体可以包括但不限于如下方式:按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从K个PD和M个PD中选择用于创建资源的VD,以使选择的VD均匀分布在K个PD和M个PD中,且选择的用于组建同一个VDG的多个VD不能位于同一个PD上。
其中,当需要创建资源时,首先确定资源所需的VDG数量,之后确定每个VDG中的VD数量,确定VD总数量(VDG数量*VD数量),按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从K个PD和M个PD中选择用于创建资源的VD总数量个VD,选择的VD均匀分布在K个PD和M个PD中。
其中,伪随机算法是指任意选择一个随机值,然后将选择的随机值转换成特定区间内的数值。例如,当K个PD和M个PD的总数量为12时,则特定区间可以为1-12,任意选择一个随机值100,按照特定算法(比如取余算法)可以将随机值100转换成特定区间(1-12)内的数值8。
其中,本次资源创建时PD上占用的VD均衡算法是指:针对本次资源创建时需要选择的所有VD,在K个PD和M个PD上进行均衡,使K个PD和M个PD中的各PD的利用率保持在平均利用率的有效范围之内,如平均利用率为N,平均利用率上下浮动范围为x%,则K个PD和M个PD中的各PD的利用率最终需要保持在[N*(1-x%),N*(1+x%)]的范围之内,从而达到均衡的效果。
需要注意的是,此处的平均利用率是指本次资源创建时的平均利用率,与K个PD上已经选择的VD没有任何关系。例如,本次资源创建时需要选择的所有VD为24,K个PD和M个PD的总数量为12时,则平均利用率N为24/12个PD上的VD总数量。
本发明实施例中,在对存储池进行扩容之后,即使扩容前的K个PD的利 用率远大于扩容后的M个PD的利用率,在资源创建过程中,是从所有PD(扩容前的K个PD和扩容后的M个PD)中选择用于创建资源的VD(如从所有PD中选取VD来创建VDG),即按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从K个PD和M个PD中选择用于创建资源的VD,而不是从扩容后的M个PD中选择用于创建资源的VD。其中,在按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从K个PD和M个PD中选择用于创建资源的VD时,针对当前选择的VD,在K个PD和M个PD中进行均衡,将所选择的VD均匀分布在存储池中的所有PD(即K个PD和M个PD)上,且选择的用于组建同一个VDG的多个VD不能位于同一个PD上。
例如,在对存储池进行扩容之后,即使扩容前的K个PD(PD1、PD2、PD3、PD4、PD5)的利用率远大于扩容后的M个PD(PD6、PD7、PD8、PD9)的利用率,在资源创建过程中,在选取VD创建RAID时,也是从所有PD(PD1、PD2、PD3、PD4、PD5、PD6、PD7、PD8、PD9)中选取VD来创建VDG,而不是从扩容后的M个PD(PD6、PD7、PD8、PD9)中选取VD来创建VDG。例如,如图1所示,在对存储池进行扩容之前,VDG1由VD11、VD21、VD31、VD41组成,VDG2由VD12、VD22、VD32、VD51组成,VDG3由VD13、VD23、VD42、VD52组成,VDG4由VD14、VD33、VD43、VD53组成,VDG5由VD24、VD34、VD44、VD54组成,VDG6由VD15、VD25、VD35、VD45组成。基于此,如图3所示,在对存储池进行扩容之后,VDG7由VD16、VD26、VD36、VD46组成,VDG8由VD55、VD61、VD71、VD81组成,VDG9由VD91、VD17、VD27、VD37组成,VDG10由VD47、VD56、VD62、VD72组成,VDG11由VD82、VD92、VD18、VD28组成,VDG12由VD38、VD48、VD57、VD63组成,VDG13由VD73、VD83、VD93、VD19组成,以此类推。进一步的,第一个RAID由VDG1、VDG2和VDG3组成,第二个RAID由VDG4、VDG5和VDG6组成,第三个RAID由VDG7、VDG8和VDG9组成,第四个RAID由VDG10、VDG11和VDG12组成,以此类推。
步骤202,在资源创建完成后,对K个PD和M个PD中的VD进行均衡处 理,以使K个PD和M个PD的利用率保持在平均利用率的有效范围内。
本发明实施例中,对K个PD和M个PD中的VD进行均衡处理,以使K个PD和M个PD的利用率保持在平均利用率的有效范围之内的过程,具体可以包括但不限于如下方式:将K个PD中的部分VD的数据迁移到M个PD中的VD上,以使K个PD和M个PD的利用率(或者空闲率)保持在平均利用率的有效范围之内。其中,在将K个PD中的部分VD的数据迁移到M个PD中的VD上时,针对K个PD中的位于同一个VDG的多个VD,该多个VD中可以迁移部分VD(如一个VD)的数据到M个PD中对应个数的VD上。
其中,PD的利用率是指:PD上被使用的VD利用率,如当PD上存在10个VD,且这10个VD中有3个VD存储数据时,则PD的利用率为30%。
其中,在从K个PD和M个PD中,选择用于创建资源的VD后,各PD的利用率并不相同,扩容前的K个PD的利用率远大于扩容后的M个PD的利用率。因此,在资源创建完成后,对K个PD和M个PD中的VD进行均衡处理,即通过均衡算法,将K个PD中的部分VD的数据(即扩容前创建的资源所对应的数据)迁移到M个PD中的VD上,使得扩容前创建的资源能够尽量均衡分布到存储池的所有PD上,从而使K个PD和M个PD中的每个PD的利用率保持在平均利用率的有效范围之内,从而达到均衡的效果。
其中,在将K个PD中的部分VD的数据迁移到M个PD中的VD上时,针对K个PD中的位于同一个VDG的多个VD,该多个VD中可以迁移部分VD的数据到M个PD中对应个数的VD上。例如,将PD1的VD11的数据迁移到PD6的VD64上,此时,VD11处于空闲状态,可以继续被其它VDG使用,VDG1由VD64、VD21、VD31、VD41组成。将PD2的VD22的数据迁移到PD7的VD74上,此时,VD22处于空闲状态,可以继续被其它VDG使用,VDG2由VD12、VD74、VD32、VD51组成。将PD3的VD33的数据迁移到PD8的VD84上,此时,VD33处于空闲状态,可以继续被其它VDG使用,VDG4由VD14、VD84、VD43、VD53组成。将PD4的VD42的数据迁移到PD9的VD94上,此时,VD42处于空闲状态,可以继续被其它VDG使用,VDG3由VD13、VD23、 VD94、VD52组成。以此类推。
其中,在对K个PD和M个PD中的VD进行均衡处理的过程中,判断PD的利用率是否在平均利用率的有效范围之内。如果该PD的利用率在平均利用率的有效范围之内,则不对该PD中的VD进行均衡处理。如果该PD的利用率大于平均利用率的有效范围,则将该PD的部分VD的数据迁移到利用率小于平均利用率的有效范围的PD的VD上,以使该PD的利用率在平均利用率的有效范围之内。如果该PD的利用率小于平均利用率的有效范围,则将利用率大于平均利用率的有效范围的PD的部分VD的数据迁移到该PD的VD上,以使该PD的利用率在平均利用率的有效范围之内。基于上述方式,保证K个PD和M个PD的利用率均在平均利用率的有效范围之内。
本发明实施例中,平均利用率的有效范围具体可以包括:[N*(1-x%),N*(1+x%)],N为平均利用率,x为预设阈值,x可以根据实际经验进行设置。进一步的,平均利用率N=((a%+b%)*K+b%*M)/(K+M)。其中,a%为在资源创建过程之前,K个PD中的每个PD的利用率,且每个PD的利用率均为a%。b%为在资源创建过程中,K个PD和M个PD中的每个PD的利用率,即此次资源创建过程中,每个PD上被使用的VD利用率,且每个PD的利用率均为b%。基于此,在资源创建完成之后,K个PD中的每个PD的利用率为a%+b%,M个PD中的每个PD的利用率为b%。
本发明实施例中,在资源创建之前,还可以设置创建标记;在资源创建完成之后,还可以清除该创建标记。其中,如果当前存在创建标记,则不允许执行对K个PD和M个PD中的VD进行均衡处理的过程;如果当前不存在创建标记,则执行对K个PD和M个PD中的VD进行均衡处理的过程。
例如,在对存储池进行扩容之后,如果需要创建资源,则在资源创建之前,可以设置创建标记,在按照步骤201的方式创建资源之后,在资源创建完成时,则清除该创建标记,并按照步骤202的方式执行对K个PD和M个PD中的VD进行均衡处理的过程。假设在执行对K个PD和M个PD中的VD进行均衡处理的过程中,又需要创建资源,则在资源创建之前,还可以设置创建标记,且 不再执行对K个PD和M个PD中的VD进行均衡处理的过程,而是按照步骤201的方式创建资源,以此类推,如果有创建资源的需求,则执行步骤201,只有在没有创建资源的需求时,才会执行步骤202,一直到K个PD和M个PD的利用率保持在平均利用率的有效范围之内。
基于上述技术方案,本发明实施例中,在对存储池进行扩容之后,即使扩容前的K个PD的利用率远大于扩容后的M个PD的利用率,在资源创建过程中,是从所有PD(扩容前的K个PD和扩容后的M个PD)中选择用于创建资源的VD,如从所有PD中选取VD来创建VDG,而不是从扩容后的M个PD中选择用于创建资源的VD。基于此,当存储池中的任意一个PD发生故障时,会触发重构过程,此时基于所有PD的数据恢复故障PD的数据,即存储池中的所有PD都会参与重构过程,参与到重构过程中的PD数量较多,大大提高重构速度,而且保证扩容不会导致重构效率的降低,减轻扩容后的M个PD的重构压力,同时减轻对业务的影响。进一步的,由于存储池中有任意一个PD发生故障时,存储池中的所有PD(扩容前的K个PD和扩容后的M个PD)都会参与重构过程,从而消除对单个PD的依赖;当存储池中的每个PD的IO(InputOutput,输入输出)压力相当时,对业务IO的影响就会降低,从而减轻对业务的影响。
例如,当存储池中的任意一个PD(如PD6)发生故障时,会触发重构过程,此时基于所有PD(PD1、PD2、PD3、PD4、PD5、PD7、PD8、PD9)中的数据恢复PD6中的数据,即存储池中的所有PD都会参与重构过程,参与到重构过程中的PD数量较多,大大提高重构速度,保证扩容不会导致重构效率的降低,减轻扩容后的PD(PD7、PD8、PD9)的重构压力,同时减轻对业务的影响。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种资源创建的装置,该资源创建的装置可以应用在存储设备中。其中,该资源创建的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,资源创建的装置是通过其所在的存储设备的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明提出的资源创建的装置所在的存 储设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器外,存储设备还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲,该存储设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图5所示,为本发明提出的资源创建的装置的结构图,在存储池内包括扩容前的K个PD和扩容后的M个PD,其中,所述K为正整数,所述M为正整数,且所述资源创建的装置具体包括:选择模块11,用于在资源创建过程中,从K个PD和M个PD中选择用于创建资源的VD;其中,选择的VD均匀分布在K个PD和M个PD中;处理模块12,用于在资源创建完成之后,对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内。
本发明实施例中,所述选择模块11,具体用于在从所述K个PD和所述M个PD中,选择用于创建资源的虚拟磁盘VD的过程中,按照伪随机算法和本次资源创建时PD上占用的VD均衡算法,从所述K个PD和所述M个PD中选择用于创建资源的VD,且选择的用于组建同一个VDG的多个VD不能位于同一个PD上。
所述处理模块12,还用于在资源创建之前,则设置创建标记;在资源创建完成之后,则清除所述创建标记;其中,如果当前存在所述创建标记,则不允许所述处理模块12执行对所述K个PD和M个PD中的VD进行均衡处理的过程;如果当前不存在所述创建标记,则允许所述处理模块12执行对所述K个PD和M个PD中的VD进行均衡处理的过程。
所述处理模块12,具体用于在对所述K个PD和所述M个PD中的VD进行均衡处理,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内的过程中,将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD上,以使所述K个PD和所述M个PD的利用率保持在平均利用率的有效范围之内;在将所述K个PD中的部分VD的数据迁移到所述M个PD中的VD时,针对所述K个PD中的位于同一个VDG的多个VD,所述多个VD 中迁移部分VD的数据到所述M个PD中对应个数的VD上。
本发明实施例中,所述平均利用率的有效范围具体包括:[N*(1-x%),N*(1+x%)],所述N为平均利用率,x为预设阈值;所述平均利用率N=((a%+b%)*K+b%*M)/(K+M);其中,a%为在资源创建过程之前,所述K个PD中的每个PD的利用率,b%为在资源创建过程中,所述K个PD和所述M个PD中的每个PD的利用率。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

关 键 词:
一种 资源 创建 方法 装置
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种资源创建的方法和装置.pdf
链接地址:http://zh228.com/p-6409460.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

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


收起
展开
葡京赌场|welcome document.write ('');