一种资源创建的方法和装置的制造方法_3

文档序号:9489394阅读:来源:国知局
用率的有效范围之内。其中,在将κ个ro中的部分vd的数据迀移到μ个ro中的vd上时,针对κ个ro中的位于同一个VDG的多个vd,该多个vd中可以迀移部分VD (如一个VD)的数据到Μ个ro中对应个数的VD上。
[0042]其中,PD的利用率是指:ro上被使用的VD利用率,如当ro上存在10个VD,且这10个VD中有3个VD存储数据时,则ro的利用率为30%。
[0043]其中,在从κ个ro和μ个ro中,选择用于创建资源的VD后,各ro的利用率并不相同,扩容前的K个ro的利用率远大于扩容后的μ个ro的利用率。因此,在资源创建完成后,对κ个ro和μ个ro中的vd进行均衡处理,即通过均衡算法,将κ个ro中的部分vd的数据(即扩容前创建的资源所对应的数据)迀移到Μ个ro中的VD上,使得扩容前创建的资源能够尽量均衡分布到存储池的所有ro上,从而使κ个ro和μ个ro中的每个ro的利用率保持在平均利用率的有效范围之内,从而达到均衡的效果。
[0044]其中,在将κ个ro中的部分vd的数据迀移到μ个ro中的vd上时,针对κ个ro中的位于同一个VDG的多个VD,该多个VD中可以迀移部分VD的数据到Μ个中对应个数的VD上。例如,将roi的VD11的数据迀移到Η)6的VD64上,此时,VD11处于空闲状态,可以继续被其它VDG使用,VDG1由VD64、VD21、VD31、VD41组成。将TO2的VD22的数据迀移到PD7的VD74上,此时,VD22处于空闲状态,可以继续被其它VDG使用,VDG2由VD12、VD74、VD32、VD51组成。将PD3的VD33的数据迀移到PD8的VD84上,此时,VD33处于空闲状态,可以继续被其它VDG使用,VDG4由VD14、VD84、VD43、VD53组成。将PD4的VD42的数据迀移到Η)9的VD94上,此时,VD42处于空闲状态,可以继续被其它VDG使用,VDG3由VD13、VD23、VD94、VD52组成。以此类推。
[0045]其中,在对κ个ro和μ个ro中的vd进行均衡处理的过程中,判断ro的利用率是否在平均利用率的有效范围之内。如果该ro的利用率在平均利用率的有效范围之内,则不对该ro中的vd进行均衡处理。如果该ro的利用率大于平均利用率的有效范围,则将该ro的部分vd的数据迀移到利用率小于平均利用率的有效范围的ro的vd上,以使该ro的利用率在平均利用率的有效范围之内。如果该pd的利用率小于平均利用率的有效范围,则将利用率大于平均利用率的有效范围的ro的部分vd的数据迀移到该ro的vd上,以使该ro的利用率在平均利用率的有效范围之内。基于上述方式,保证κ个ro和μ个ro的利用率均在平均利用率的有效范围之内。
[0046]本发明实施例中,平均利用率的有效范围具体可以包括:[N*(l-X % ),N*(l+x%)], N为平均利用率,X为预设阈值,X可以根据实际经验进行设置。进一步的,平均利用率N= ((a% +b% )*K+b% *M)/(K+M)。其中,a%为在资源创建过程之前,K个Η)中的每个ro的利用率,且每个ro的利用率均为a%。13%为在资源创建过程中,κ个ro和μ个ro中的每个ro的利用率,即此次资源创建过程中,每个ro上被使用的vd利用率,且每个ro的利用率均为b%。基于此,在资源创建完成之后,κ个ro中的每个ro的利用率为a% +b%,M个ro中的每个ro的利用率为b%。
[0047]本发明实施例中,在资源创建之前,还可以设置创建标记;在资源创建完成之后,还可以清除该创建标记。其中,如果当前存在创建标记,则不允许执行对κ个ro和μ个ro中的vd进行均衡处理的过程;如果当前不存在创建标记,则执行对κ个ro和μ个ro中的vd进行均衡处理的过程。
[0048]例如,在对存储池进行扩容之后,如果需要创建资源,则在资源创建之前,可以设置创建标记,在按照步骤201的方式创建资源之后,在资源创建完成时,则清除该创建标记,并按照步骤202的方式执行对K个ro和Μ个ro中的VD进行均衡处理的过程。假设在执行对κ个ro和μ个ro中的VD进行均衡处理的过程中,又需要创建资源,则在资源创建之前,还可以设置创建标记,且不再执行对κ个ro和μ个ro中的VD进行均衡处理的过程,而是按照步骤201的方式创建资源,以此类推,如果有创建资源的需求,则执行步骤201,只有在没有创建资源的需求时,才会执行步骤202,一直到κ个ro和μ个ro的利用率保持在平均利用率的有效范围之内。
[0049]基于上述技术方案,本发明实施例中,在对存储池进行扩容之后,即使扩容前的K个ro的利用率远大于扩容后的μ个ro的利用率,在资源创建过程中,是从所有ro (扩容前的κ个ro和扩容后的μ个ro)中选择用于创建资源的vd,如从所有ro中选取vd来创建VDG,而不是从扩容后的μ个ro中选择用于创建资源的VD。基于此,当存储池中的任意一个pd发生故障时,会触发重构过程,此时基于所有ro的数据恢复故障ro的数据,即存储池中的所有ro都会参与重构过程,参与到重构过程中的ro数量较多,大大提高重构速度,而且保证扩容不会导致重构效率的降低,减轻扩容后的μ个ro的重构压力,同时减轻对业务的影响。进一步的,由于存储池中有任意一个ro发生故障时,存储池中的所有ro(扩容前的κ个ro和扩容后的μ个pd)都会参与重构过程,从而消除对单个ro的依赖;当存储池中的每个的10(lnput Output,输入输出)压力相当时,对业务10的影响就会降低,从而减轻对业务的影响。
[0050]例如,当存储池中的任意一个ro (如TO6)发生故障时,会触发重构过程,此时基于所有PD (PDU PD2、PD3、PD4、PD5、PD7、PD8、PD9)中的数据恢复PD6中的数据,即存储池中的所有ro都会参与重构过程,参与到重构过程中的ro数量较多,大大提高重构速度,保证扩容不会导致重构效率的降低,减轻扩容后的ro(ro7、PD8, PD9)的重构压力,同时减轻对业务的影响。
[0051]基于与上述方法同样的发明构思,本发明实施例中还提供了一种资源创建的装置,该资源创建的装置可以应用在存储设备中。其中,该资源创建的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,资源创建的装置是通过其所在的存储设备的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明提出的资源创建的装置所在的存储设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器外,存储设备还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲,该存储设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
[0052]如图5所示,为本发明提出的资源创建的装置的结构图,在存储池内包括扩容前的K个ro和扩容后的Μ个ro,其中,所述K为正整数,所述Μ为正整数,且所述资源创建的装置具体包括:选择模块11,用于在资源创建过程中,从κ个ro和μ个ro中选择用于创建资源的VD ;其中,选择的VD均匀分布在κ个ro和Μ个ro中;处理模块12,用于在资源创建完成之后,对所述κ个ro和所述μ个ro中的vd进行均衡处理,以使所述κ个ro和所述μ个ro的利用率保持在平均利用率的有效范围之内。
[0053]本发明实施例中,所述选择模块11,具体用于在从所述κ个ro和所述μ个ro中,选择用于创建资源的虚拟磁盘vd的过程中,按照伪随机算法和本次资源创建时ro上占用的vd均衡算法,从所述κ个ro和所述μ个ro中选择用于创建资源的vd,且选择的用于组建同一个VDG的多个vd不能位于同一个ro上。
[0054]所述处理模块12,还用于在资源创建之前,则设置创建标记;在资源创建完成之后,则清除所述创建标记;其中,如果当前存在所述创建标记,则不允许所述处理模块12执行对所述κ个ro和μ个ro中的VD进行均衡处理的过程;如果当前不存在所述创建标记,则允许所述处理模块12执行对所述κ个ro和μ个r
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1