当前位置: 首页 > 专利查询>伊姆西公司专利>正文

用于加速磁盘阵列的数据重构的方法和装置制造方法及图纸

技术编号:13587574 阅读:205 留言:0更新日期:2016-08-25 11:19
本发明专利技术的实施方式涉及用于加速磁盘阵列的数据重构的方法和装置。该方法包括:将多个物理磁盘虚拟化为多个虚拟磁盘;对多个虚拟磁盘应用数据保护算法,以获得与待存储的数据有关的冗余信息;提供从多个虚拟磁盘到多个物理磁盘的映射;基于映射将数据和冗余信息按照预定的分配策略存储于多个物理磁盘中;以及响应于多个物理磁盘中的至少一个物理磁盘失效,基于多个物理磁盘中的工作磁盘中的数据和冗余信息来实现磁盘阵列的数据重构。利用根据本发明专利技术的实施方式,一旦有物理磁盘失效,多个物理磁盘中的所有工作磁盘都将参与失效磁盘的数据重构,从而显著地缩短了数据重构的时间。

【技术实现步骤摘要】

本专利技术的实施方式总体上涉及信息管理,并且更具体地,涉及用于加速磁盘阵列的数据重构方法和装置。
技术介绍
通常通过将多个磁盘按照一定的形式和方案组织成磁盘阵列,能够获得比单个磁盘更高的速度、更好的稳定性和更大的存储能力。随着磁盘容量的日益增大,磁盘阵列、例如独立磁盘冗余阵列(Redundant Array Of Independent Disks,RAID)的数据重构时间也变得越来越长。例如,图1示出了不同容量的双倍数据速率的串行高级技术附件(Serial Advanced Technology Attachment,SATA)磁盘的重构时间的趋势。从图1可以看出,对于容量为4TB的SATA磁盘,在没有任何文件系统的输入/输出(I/O)干扰的情况下,需要花费14小时以上来完成数据重构。重构时间越长意味着数据损失的风险越大。这使得RAID无法用于大规模存储应用领域。此外,数据重构与文件系统I/O是相互影响的。长的重构时间也使得文件系统性能变差。另一方面,繁重的文件系统I/O会使得重构时间变长。许多应用要求RAID具有高可靠性以保护用户数据。例如,备份系统是数据的最后一道防线,它的一项重要职责在于使得数据以高可靠性存储于存储设备上,即使硬件或软件出现问题,仍然能够从RAID恢复数据。因此,如何缩短重构时间以增强数据保护成为RAID的关键问题。
技术实现思路
鉴于上述以及其他潜在问题,本领域中需要一种加速磁盘阵列的数据重构的方案。在本专利技术的一个方面,提供一种用于加速磁盘阵列的数据重构的方法,所述磁盘阵列包括多个物理磁盘。所述方法包括:将所述多个物理磁盘虚拟化为多个虚拟磁盘;对所述多个虚拟磁盘应用数据保护算法,以获得与待存储的数据有关的冗余信息;提供从所述多个虚拟磁盘到所述多个物理磁盘的映射;基于所述映射将所述数据和所述冗余信息按照预定的分配策略存储于所述多个物理磁盘中;以及响应于所述多个物理磁盘中的至少一个物理磁盘失效,基于所述多个物理磁盘中的工作磁盘中的所述数据和所述冗余信息来实现所述磁盘阵列的数据重构。在一个示例性实施方式中,所述方法进一步包括:将所述多个物理磁盘中的每个物理磁盘的地址空间划分为多个物理块,所述多个物理块中的每个物理块具有相同的存储容量。所述数据和所述冗余信息按照所述预定的分配策略分布于所述物理块中。在一个示例性实施方式中,所述方法进一步包括:将所述多个虚拟磁盘中的每个虚拟磁盘的地址空间划分为多个虚拟块。所述多个虚拟块中的每个虚拟块具有与所述多个物理块中的每个物理块相同的存储容量。在一个示例性实施方式中,其中提供从所述多个虚拟磁盘到所述多个物理磁盘的映射包括:提供从所述多个虚拟块中的每个虚拟块到所述多个物理块中的相应的物理块的映射。在一个示例性实施方式中,所述方法进一步包括:提供从所述多个物理块中的每个物理块到所述多个虚拟块中的相应的虚拟块的反向映射。在一个示例性实施方式中,所述方法进一步包括将所述多个虚拟磁盘划分为多个群组。对所述多个虚拟磁盘应用数据保护算法包括对所述多个群组中的不同群组应用相同或不同的数据保护算法。在一个示例性实施方式中,所述方法进一步包括为所述多个物
理磁盘中的每个物理磁盘预留预定数目的空闲的物理块。实现所述磁盘阵列的数据重构包括利用所述空闲的物理块实现所述磁盘阵列的数据重构。在一个示例性实施方式中,所述多个物理磁盘构成物理磁盘管理域,所述多个虚拟磁盘构成至少一个数据保护域。提供从所述多个虚拟磁盘到所述多个物理磁盘的映射以使得所述物理磁盘管理域与所述数据保护域分离。在本专利技术的另一方面,提供了一种用于加速磁盘阵列的数据重构的装置,所述磁盘阵列包括多个物理磁盘。所述装置包括:虚拟化单元,被配置为将所述多个物理磁盘虚拟化为多个虚拟磁盘;算法应用单元,被配置为对所述多个虚拟磁盘应用数据保护算法,以获得与待存储的数据有关的冗余信息;映射单元,被配置为提供从所述多个虚拟磁盘到所述多个物理磁盘的映射;存储单元,被配置为基于所述映射将所述数据和所述冗余信息按照预定的分配策略存储于所述多个物理磁盘中;以及重构单元,被配置为响应于所述多个物理磁盘中的至少一个物理磁盘失效,基于所述多个物理磁盘中的工作磁盘中的所述数据和所述冗余信息来实现所述磁盘阵列的数据重构。利用根据本专利技术的实施方式,一旦有物理磁盘失效,多个物理磁盘中的所有工作磁盘都将参与失效磁盘的数据重构,从而显著地缩短了数据重构的时间。附图说明结合附图并参考以下详细说明,本专利技术各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本专利技术的若干实施方式。在附图中:图1示出了不同容量的双倍数据速率的SATA磁盘的重构时间的趋势;图2示意性地示出了传统RAID的数据重构过程;图3示出了传统RAID重构过程中的I/O分布;图4示出了根据本专利技术一个实施方式的用于加速磁盘阵列的数据重构的方法400的流程图;图5示出了利用根据本专利技术的一个实施方式而获得的DDVS架构500;图6示出了DDVS架构的数据重构I/O分布;图7示出了图5所示的DDVS架构的一种示例性实现;图8示出针对DDVS中的一个数据保护域的数据写入过程800;图9示出针对DDVS中的一个数据保护域的数据读取过程900;图10示出了在DDVS的数据重构过程中使用的坏条带收集器1000;图11示出了在DDVS中物理磁盘上的元数据布局;图12-17示出了对DDVS架构的评估结果;图18示出了根据本专利技术一个实施方式的用于加速磁盘阵列的数据重构的装置1800的框图;以及图19示出了适于用来实践本专利技术实施方式的计算机系统1900的示意性框图。具体实施方式下面参考附图详细描述本专利技术的各实施方式。附图中的流程图和框图,图示了按照本专利技术各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组
合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。首先参考图2,其示意性地示出了传统RAID的数据重构过程。在图2中,失效磁盘由201表示,工作磁盘整体上由202表示,空闲磁盘由203表示。如图2所示,传统RAID的数据重构过程包括:从工作磁盘202读取数据,随后根据冗余信息进行数据恢复,然后将恢复的数据写入空闲磁盘203。总所周知,目前CPU资源对于存储系统而言是足够的,因此根据冗余信息进行数据恢复一般不会成为数据重构的瓶颈,而从工作磁盘读取数据以及将恢复的数据写入空闲磁盘通常成为数据重构的瓶颈。为了打破上述读取和写入瓶颈,在不改变当前RAID架构的情况下提出了一些解决方案。例如,通过分布式空闲磁盘可以打破写入瓶颈。然而,即使打破了写入瓶颈,本文档来自技高网
...

【技术保护点】
一种用于加速磁盘阵列的数据重构的方法,所述磁盘阵列包括多个物理磁盘,所述方法包括:将所述多个物理磁盘虚拟化为多个虚拟磁盘;对所述多个虚拟磁盘应用数据保护算法,以获得与待存储的数据有关的冗余信息;提供从所述多个虚拟磁盘到所述多个物理磁盘的映射;基于所述映射将所述数据和所述冗余信息按照预定的分配策略存储于所述多个物理磁盘中;以及响应于所述多个物理磁盘中的至少一个物理磁盘失效,基于所述多个物理磁盘中的工作磁盘中的所述数据和所述冗余信息来实现所述磁盘阵列的数据重构。

【技术特征摘要】
1.一种用于加速磁盘阵列的数据重构的方法,所述磁盘阵列包括多个物理磁盘,所述方法包括:将所述多个物理磁盘虚拟化为多个虚拟磁盘;对所述多个虚拟磁盘应用数据保护算法,以获得与待存储的数据有关的冗余信息;提供从所述多个虚拟磁盘到所述多个物理磁盘的映射;基于所述映射将所述数据和所述冗余信息按照预定的分配策略存储于所述多个物理磁盘中;以及响应于所述多个物理磁盘中的至少一个物理磁盘失效,基于所述多个物理磁盘中的工作磁盘中的所述数据和所述冗余信息来实现所述磁盘阵列的数据重构。2.根据权利要求1所述的方法,进一步包括:将所述多个物理磁盘中的每个物理磁盘的地址空间划分为多个物理块,所述多个物理块中的每个物理块具有相同的存储容量;其中所述数据和所述冗余信息按照所述预定的分配策略分布于所述物理块中。3.根据权利要求2所述的方法,进一步包括:将所述多个虚拟磁盘中的每个虚拟磁盘的地址空间划分为多个虚拟块,所述多个虚拟块中的每个虚拟块具有与所述多个物理块中的每个物理块相同的存储容量。4.根据权利要求3所述的方法,其中提供从所述多个虚拟磁盘到所述多个物理磁盘的映射包括:提供从所述多个虚拟块中的每个虚拟块到所述多个物理块中的相应的物理块的映射。5.根据权利要求4所述的方法,进一步包括:提供从所述多个物理块中的每个物理块到所述多个虚拟块中的相应的虚拟块的反向映射。6.根据权利要求1所述的方法,进一步包括:将所述多个虚拟磁盘划分为多个群组;其中对所述多个虚拟磁盘应用数据保护算法包括:对所述多个群组中的不同群组应用相同或不同的数据保护算法。7.根据权利要求2所述的方法,进一步包括:为所述多个物理磁盘中的每个物理磁盘预留预定数目的空闲的物理块;其中实现所述磁盘阵列的数据重构包括:利用所述空闲的物理块实现所述磁盘阵列的数据重构。8.根据前述权利要求中任一项所述的方法,其中所述多个物理磁盘构成物理磁盘管理域,所述多个虚拟磁盘构成至少一个数据保护域;并且其中提供从所述多个虚拟磁盘到所述多个物理磁盘的映射以使得所述物理磁盘管理域与所述数据保护域分离。9.一种用于加速磁盘阵列的数据重构的装置,所述磁盘阵列包括多个物理磁盘,所述装置包括:虚拟化单元,被配置为将所述多...

【专利技术属性】
技术研发人员:吴忠杰邹勇刘子锐王飞
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国;US

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

1