一种VD的均衡处理方法和装置制造方法及图纸

技术编号:13124623 阅读:97 留言:0更新日期:2016-04-06 12:17
本发明专利技术提供一种VD的均衡处理方法和装置,该方法包括:计算RAID在所述存储池内的所有PD上的平均使用率;当需要将所述RAID在第一PD中的数据迁移到第二PD时,判断所述RAID在所述第二PD的使用率是否不大于所述平均使用率;其中,所述第一PD是所述K个PD中的PD,所述第二PD是所述M个PD中的PD;如果是,则将所述RAID在所述第一PD中的数据迁移到所述第二PD;如果否,则拒绝将所述RAID在所述第一PD中的数据迁移到所述第二PD。通过本发明专利技术的技术方案,RAID的业务会均匀的分布在各PD上,不会缩短新PD的使用寿命。而且,如果新PD出现故障,则在进行重构时,存储池中的所有PD都会参与重构,可以提高重构速度和重构效率,并且避免重构过程对业务造成的影响。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种VD的均衡处理方法和装置
技术介绍
为了解决重构时间较长的问题,传统的阵列构建方式逐渐演变到块虚拟化方式,如图1所示,为块虚拟化的架构示意图,通过块虚拟化方式,由存储池(POOL)向上层提供资源。块虚拟化方式的基本思想是:将指定数量的HKPhysical Disk,物理磁盘)加入到存储池中,并按照指定大小将PD切割成多个VD(Virtual Disk,虚拟磁盘,即分块),多个VD按照相应的RAID(Redundant Arrays of Independent Disks,独立冗余磁盘阵列)策略组建VDG(Virtual Disk Group,虚拟磁盘组),并向上层提供资源。其中,VD是组成VDG的虚拟磁盘单元,VDG由多个位于不同H)上的VD组成。均衡和扩容是块虚拟化中的两个比较重要的技术。当存储池中的资源(S卩VD资源)不足以满足上层业务的需求时,可以对存储池进行扩容,即在存储池中添加新H),并按照指定大小将新PD切割成多个VD,新PD所切割成的多个VD用于继续向上层提供资源,以满足上层业务的需求。在将新ro加入到存储池之后,新ro的利用率远远小于原有ro的利用率,可以对存储池进行均衡,将原有ro上VD中的数据迀移到新PD的VD中,均衡的目的是使存储池中的各个ro的利用率保持在平均利用率的有效范围之内。在图1中,将ro1、ro2、ro3、ro4、ro5加入到存储池中,按照指定大小将各PD切割成9个¥0,¥061由¥011、¥021、¥031、¥041组成,¥062由¥012、¥022、¥032、¥051组成,¥063由¥013、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组成。在对存储池进行扩容后,重新将TO6加入到存储池,并按照指定大小将TO6切割成9个VD,新PD(PD6)的利用率为0,而原有H)的利用率远大于新H)的利用率,需要对存储池进行均衡处理。在均衡处理时,先对第一个RAID进行均衡处理,当其均衡完成后,再对第二个RAID进行均衡处理,以此类推,一直到均衡处理完成。例如,将第一个RAID的VDGl中的VDl I均衡至IJPD6的VD61,然后将第一个RAID的VDG2中的VD22均衡到TO6的VD62,然后将第一个RAID的VDG3中的VD42均衡到PD6的VD63,然后将第二个RAID的VDG4中的VD33均衡到PD6的VD64,这样,6个H)均有4个VD被使用,完成均衡处理。但是,在按照上述方式处理后,第一个RAID占用新PD的VD数量会远大于占用原有PD的VD数量,每个H)的分布并不均匀。例如,第一个RA ID采用的RAID策略是2+1,VDG的个数为5000,原有ro的个数为8,扩容的新ro的个数为I,则在均衡处理完成后,原有PD上占用的VD数量为1250,新ro上占用的VD数量为5000,显然,5000比1250大很多。针对第一个RAID,由于新PD的VD数量远大于原有PD的VD数量,因此第一个RAID的业务主要在新PD上完成,从而会缩短新PD的使用寿命。而且,如果新PD出现故障,则在进行重构时,其重构时间会大于原有ro故障时的重构时间,导致重构速度大大降低,降低了重构的效率。
技术实现思路
本专利技术提供一种虚拟磁盘VD的均衡处理方法,存储池内包括扩容前的K个物理磁盘PD和扩容后的M个PD,K和M均为正整数,在对所述存储池进行均衡处理时,针对每个独立冗余磁盘阵列RAID,所述方法包括:计算所述RAID在所述存储池内的所有H)上的平均使用率;当需要将所述RAID在第一H)中的数据迀移到第二 H)时,判断所述RAID在所述第二PD的使用率是否不大于所述平均使用率;其中,所述第一PD是所述K个PD中的PD,所述第二PD是所述M个PD中的PD;如果是,则将所述RAID在所述第一ro中的数据迀移到所述第二 ro;如果否,则拒绝将所述RAID在所述第一H)中的数据迀移到所述第二 H)。所述计算RAID在所述存储池内的所有PD上的平均使用率的过程,具体包括:获得所述RAID需要使用的总VD个数和所述存储池内的所有H)的总VD个数,利用所述RAID需要使用的总VD个数和所述存储池内的所有H)的总VD个数,计算所述RAID在所述存储池内的所有ro上的平均使用率。所述需要将所述RAID在第一PD中的数据迀移到第二 PD的确定过程,具体包括:判断所述存储池内的所述K个PD和所述M个ro的利用率是否均保持在平均利用率的有效范围之内;如果是,则结束对所述存储池的均衡处理;如果否,判断所述RAID在所述K个ro和所述M个ro的使用率是否均保持在所述平均使用率的有效范围之内;如果均保持在所述平均使用率的有效范围之内,则结束对所述RAID的均衡处理,选择下一个RAID进行均衡处理;如果没有均保持在所述平均使用率的有效范围之内,则从所述K个PD中选择一个使用率大于所述平均使用率的PD作为所述第一 PD,并从所述M个PD中选择一个使用率小于所述平均使用率的ro作为所述第二 ro,并确定需要将所述RAID在所述第一 ro中的数据迀移到所述第二ro。所述平均利用率的有效范围具体包括:,所述平均使用率的有效范围具体包括:,Q*(l+x2%)];其中,所述N为平均利用率,所述Q为平均使用率;所述xl为预设阈值,所述x2为预设阈值;所述平均利用率N=(a%*K)/(K+M),a%S在对所述存储池进行均衡处理之前,所述Kfro中的每个ro的利用率。将所述RAID在所述第一ro中的数据迀移到所述第二 PD的过程,具体包括:将所述RAID在所述第一PD中的部分VD的数据迀移到所述第二H)中的VD上;其中,在将所述RAID在所述第一 ro中的部分VD的数据迀移到所述第二 PD中的VD上的过程中,针对Kfro中的位于同一个虚拟磁盘组VDG的多个VD,只迀移部分VD的数据到所述Mfro中对应个数的VD上。本专利技术提供一种虚拟磁盘VD的均衡处理装置,存储池内包括扩容前的K个物理磁盘PD和扩容后的M个PD,K和M均为正整数,在对存储池进行均衡处理时,针对每个独立冗余磁盘阵列RAID,所述装置具体包括:计算模块,用于计算所述RAID在存储池内的所有H)上的平均使用率;确定模块,用于当需要将所述RAID在第一PD中的数据迀移到第二 PD时,判断所述RAID在所述第二 PD的使用率是否不大于所述平均使用率;所述第一 ro是所述K个PD中的ro,所述第二 ro是所述μ个ro中的ro;处理模块,用于当判断结果为不大于所述平均使用率时,则将所述RAID在所述第一PD中的数据迀移到所述第二PD;当判断结果为大于所述平均使用率时,则拒绝将所述RAID在所述第一 H)中的数据迀移到所述第二 H)。所述计算模块,具体用于在计算RAID在存储池内的所有H)上的平均使用率的过程中,获得所述RAID需要使用的总VD个数和存储池内的所有PD的本文档来自技高网
...

【技术保护点】
一种虚拟磁盘VD的均衡处理方法,存储池内包括扩容前的K个物理磁盘PD和扩容后的M个PD,K和M均为正整数,其特征在于,在对所述存储池进行均衡处理时,针对每个独立冗余磁盘阵列RAID,所述方法包括:计算所述RAID在所述存储池内的所有PD上的平均使用率;当需要将所述RAID在第一PD中的数据迁移到第二PD时,判断所述RAID在所述第二PD的使用率是否不大于所述平均使用率;其中,所述第一PD是所述K个PD中的PD,所述第二PD是所述M个PD中的PD;如果是,则将所述RAID在所述第一PD中的数据迁移到所述第二PD;如果否,则拒绝将所述RAID在所述第一PD中的数据迁移到所述第二PD。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭永强王丽红
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江;33

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

1