一种提高虚拟磁盘组重构性能的方法和装置制造方法及图纸

技术编号:12478537 阅读:44 留言:0更新日期:2015-12-10 15:02
本发明专利技术提供一种提高虚拟磁盘组重构性能的装置,该装置包括:重构虚拟磁盘组VDG选择模块,用于在当前未超过系统支持的同时参与重构的VDG个数时,选择一个需要重构的VDG;在该选择的需重构的VDG中的各VD所在的PD已有VD在参与重构时,不对该VDG进行重构;在该选择的需重构的VDG中的各VD所在的PD尚不存在VD在参与重构时,将该VDG加入重构队列;VDG重构模块,用于对重构队列中的VDG进行重构。本发明专利技术方案在提高重构性能的基础上,还减少了内存消耗以及对业务的影响。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种提高虚拟磁盘组重构性能的方法和装置
技术介绍
块虚拟化技术,其基本思想就是将指定数量的大容量硬盘(我们称这组硬盘为组成存储池的磁盘)按照固定的容量切割成多个分块(VD, virtual disk,虚拟磁盘),由多个VD按照相应的RAID策略组建VDG ;上层资源建立在这些VDG上。基于块虚拟化技术的存储系统能够做到在一块磁盘故障后,存储池中的所有磁盘都并发参与重构,从而减少重构时间。对于传统冗余阵列,一块磁盘部分区域失效,需要对整块磁盘进行重构,未失效的区域通过拷贝的方式拷贝到重构盘上,已失效的部分通过重构的方式重构到重构盘;对于整块磁盘失效的情况,需要通过其它在位磁盘重构整块失效的磁盘数据。随着磁盘厂家提供的磁盘容量越来越大,而磁盘的速率并未同步提升的情况下,导致重构一块磁盘的时间越来越长。这样必然会增加阵列失效的风险,因此块虚拟化存储池的概念被提了出来。块虚拟化存储池,是将一组磁盘组成一个存储池,每块磁盘按照相同大小的块(VD)进行分割。创建上层资源时,采用伪随机算法及均衡算法从存储池中的每个磁盘上选取VD,形成VDG。上层资源由多个VDG组成,当一块磁盘失效时,所有的磁盘都会参与到重构的过程中。如何提高重构的性能而且又不能影响业务,是必须要考虑的问题。现有方案中,按照VDG在存储池中的排序,选取多个跟失效磁盘相关的VDG参与重构;那么从均衡的角度来看,每个磁盘上都会有多个VD参与重构;这样做的目的可以保证重构时,每一个磁盘都处于忙碌状态,完全充分的参与到重构工作中来。但是,在实际中,效果并不一定很理想。一个实测的例子,34块磁盘(SATA)组成的磁盘池为例,拔掉一块磁盘后,其它磁盘上多个VD参与重构,通过实测可以获知总的重构写带宽约为500M ;500M左右的写带宽并不是一个理想的数据。
技术实现思路
有鉴于此,本专利技术提供一种提高虚拟磁盘组重构性能的装置和方法。该装置包括:重构虚拟磁盘组VDG选择模块,用于在当前未超过系统支持的同时参与重构的VDG个数时,选择一个需要重构的VDG ;在该选择的需重构的VDG中的各VD所在的H)已有VD在参与重构时,不对该VDG进行重构;在该选择的需重构的VDG中的各VD所在的H)尚不存在VD在参与重构时,将该VDG加入重构队列;VDG重构模块,用于对重构队列中的VDG进行重构。优选地,所述重构VDG选择模块从VDG bitmap中选择一个需要重构的VDG,在从该VDG bitmap中选择需要一个重构的VDG时,从该VDG bitmap的第一个VDG开始判断该VDG中的各VD所在的H)是否已有VD在参与重构,或者从该VDG bitmap当前完成重构的VDG后的第一个VDG开始判断该VDG中的各VD所在的H)是否已有VD在参与重构。优选地,重构VDG选择模块判断选择的VDG中的各VD所在的H)是否已有VD在参与重构包括:判断各VD所在的ro上的重构计数是否均为0,如果是,则各VD所在的ro上均没有VD在参与重构;否则,各VD所在的ro上存在VD在参与重构;所述ro上的重构计数为该F1D上有VD在参与重构时设置的计数值。该提高虚拟磁盘组重构性能的方法包括:步骤A、判断当前是否超过系统支持的同时参与重构的VDG个数,如果是,则退出流程;否则,转步骤B;步骤B、选取下一个需要重构的VDG,转步骤C ;步骤C、判断该选取的需重构的VDG中的各VD所在的H)是否已有VD在进行重构,如果是,返回步骤B ;否则,转步骤D ;步骤D、将该VDG加入重构队列进行重构。优选地,选取下一个需要重构的VDG包括:从VDG bitmap的第一个VDG开始选取或者从VDG bitmap当前完成重构的VDG后的第一个VDG开始选取。优选地,判断该选取的需重构的VDG中的各VD所在的H)是否已有VD在进行重构包括:判断各VD所在的ro上的重构计数是否均为0,如果是表明各VD所在的ro上均没有VD在参与重构;否则表明各VD所在的ro上存在VD在参与重构;所述ro上的重构计数为该F1D上有VD在参与重构时设置的计数值。相较于现有技术,本专利技术方案在提高重构性能的基础上,还减少了内存消耗以及对业务的影响。【附图说明】图1是一种块虚拟化存储池图。图2是组成上层资源的各VDG图。图3为一种热备VD选取方式图。图4是本专利技术装置逻辑结构图。图5是本专利技术装置所在设备的通用硬件架构图。图6是本专利技术一种重构VDG选取流程图。图7是本专利技术一种VDG重构流程图。【具体实施方式】针对
技术介绍
中的问题,专利技术人经过仔细分析,发现造成这种情况的主要原因在于:1)同一个磁盘上多个VD参与重构,磁盘寻址所消耗的时间是非常大的,导致重构的性能会降低,而且每个磁盘上多个VD参与重构,对内存的瞬间占有也比较大,这样就会造成对大容量内存的需求;2)由于创建上层资源时,采用均衡算法,每块物理磁盘上所占用的VD数量都保持在一个均衡状态,如果一块磁盘的读写速度相对比较慢,再叠加多个VD在重构,会造成该磁盘的性能更慢,从而影响整体的重构时间。请参图1,存储池由一组磁盘组成,每个磁盘按照相同大小的块(VD)进行切片。创建上层资源时,首先创建VDG,每一个VDG由位于不同H)(磁盘,即物理磁盘)上的VD按照一定的RAID策略组成,每一组资源由多个VDG组成。假设创建的上层资源由VDGl?VDG16组成,请参图2。当物理磁盘8损坏时,与磁盘8相关的VDG包括VDG1、VDG4、VDG5、VDG9、VDG14、和VDG16。所以需要选取热备VD,对这些VDG进行重构。热备选取VD策略:选取热备VD不能与VDG中的VD处于同一个H)中,而且要遵守均衡策略,即每块磁盘的利用率保持一致。选取热备VD的一种可能如图3所示,即VDGl选取TO2中的VD,VDG4选取HM中的VD,VDG5选取PDl中的VD,VDG9选取TO7中的VD,VDG14选取Η)3中的VD,VDG16选取roi中的VD。以16个VDG为例,若这些VDG同时参与重构,即:PDO 上有 4 个 VD 读;PDl上有3个VD读,2个VD写;PD2上有I个VD读,I个VD写;PD3上有2个VD读,I个VD写;PD4上有2个VD读,I个VD写;PD5上有2个VD读,O个VD写;PD6上有3个VD读,O个VD写;PD7上有I个VD读,I个VD写。这样,PDl上的压力就会比较大,因为写的VD与读的VD可能跨度比较大(取决于创建的资源大小),导致寻址时间比较长,而且同时下发很多重构命令,导致瞬间申请的内存比较大,无法及时释放内存;于此同时对磁盘造成的压力也很大,对业务会有影响。针对以上原因造成的重构性能低、重构时间长的问题,本专利技术提供一种提高重构性能的方案。该方案在提高重构性能的基础上,还减少了内存消耗以及对业务的影响。以下通过具体实施例详细说明。请参图4给出的一种提供重构性能的装置,该装置包括:重构VDG选取模块、重构模块。这两个模块是逻辑意义上的模块,可以由软件来当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种提高虚拟磁盘组重构性能的装置,其特征在于,该装置包括:重构虚拟磁盘组VDG选择模块,用于在当前未超过系统支持的同时参与重构的VDG个数时,选择一个需要重构的VDG;在该选择的需重构的VDG中的各VD所在的PD已有VD在参与重构时,不对该VDG进行重构;在该选择的需重构的VDG中的各VD所在的PD尚不存在VD在参与重构时,将该VDG加入重构队列;VDG重构模块,用于对重构队列中的VDG进行重构。

【技术特征摘要】

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

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

1