一种数据恢复的方法和设备的制作方法

文档序号:6514156阅读:245来源:国知局
一种数据恢复的方法和设备的制作方法
【专利摘要】本发明提供一种数据恢复的方法和设备,涉及存储领域,能够将数据恢复和重构平衡态的步骤同时进行,与现有技术中先恢复数据后进行平衡相比,可以在消耗同等资源的情况下,缩短系统的处理流程,减小了对系统原有输入输出性能的影响。其方法为:当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘;确定第一块组;其中,至少有一个组成第一块组的块分布在发生故障的磁盘上;从存储系统中选择第二块组;将第一块组中的数据恢复至第二块组。本发明用于对存储系统中的数据进行恢复。
【专利说明】一种数据恢复的方法和设备
【技术领域】
[0001]本发明涉及存储领域,尤其涉及一种数据恢复的方法和设备。
【背景技术】
[0002]在传统的磁盘冗余存储阵列(RedundantArrays of Inexpensive Disks, RAID)中,当其中一块磁盘出现故障时,RAID的控制器会通过特定的算法,将故障盘中的数据恢复至备份盘中,达到数据备份的效果。如今以磁盘中固定大小的块chunk为单位组成的块组(Chunk Group,CG)以RAID的形式进行数据恢复时,首先通过选盘算法确定备份盘,然后将块组中分布在故障硬盘上的块中的数据恢复至备份盘的预先设定的热备份空间中进行储存。
[0003]目前在基于磁盘块的多路控制器中,每一路控制器管理的磁盘的空间利用率基本是相等的。当控制器管理的磁盘出现故障,需要对故障盘进行数据恢复时,会将故障盘的数据恢复到故障盘所属的控制器的其他磁盘中,之后为了保证所述控制器管理的磁盘利用率的平衡,会再次对所述控制器管理的所有磁盘进行空间利用均衡操作。这样无形中延长了对磁盘操作的时间,并且会浪费系统资源,影响了存储结构整体的吞吐性能。

【发明内容】

[0004]本发明的实施例提供一种数据恢复的方法和设备,能够将数据恢复和重构平衡态的步骤同时进行,与现有技术中先恢复数据后进行平衡相比,可以在消耗同等资源的情况下,缩短系统的处理流程,减小了对系统原有输入输出性能的影响。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,提供一种数据恢复的方法,所述方法应用于存储系统,所述存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,所述至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,所述块组用于存储数据,所述方法包括:
[0007]当所述第一磁盘冗余存储阵列中的磁盘发生故障时,确定所述第一磁盘冗余存储阵列中发生故障的磁盘;
[0008]确定第一块组,其中,至少有一个组成所述第一块组的块分布在所述发生故障的磁盘上;
[0009]从所述存储系统中选择第二块组;
[0010]将所述第一块组中的数据恢复至所述第二块组。
[0011]在第一种可能的实现方式中,结合第一方面,从所述存储系统中选择第二块组,具体包括:
[0012]根据所述存储系统中存储阵列的空间使用率,从所述存储系统中的存储阵列中选择所述第二块组。
[0013]在第二种可能的实现方式中,结合第一方面,所述第二块组至少位于所述至少两个磁盘冗余存储阵列中的至少一个上。
[0014]在第三种可能的实现方式中,结合第一方面,所述第二块组分布在所述第一磁盘冗余存储阵列上。
[0015]在第四种可能的实现方式中,结合第一方面,所述第二块组分布在所述第一磁盘冗余存储阵列和所述第二磁盘冗余存储阵列上。
[0016]第二方面,提供一种数据恢复的设备,所述设备应用于存储系统,所述存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,所述至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,所述块组用于存储数据,所述设备包括:
[0017]磁盘确定单元,用于当所述第一磁盘冗余存储阵列中的磁盘发生故障时,确定所述第一磁盘冗余存储阵列中发生故障的磁盘;
[0018]故障确定单元,用于确定第一块组,其中,至少有一个组成所述第一块组的块分布在所述发生故障的磁盘上;
[0019]恢复目标确定单元,用于从所述存储系统中选择第二块组;
[0020]数据恢复单元,用于将所述第一块组中的数据恢复至所述第二块组。
[0021]在第一种可能的实现方式中,结合第二方面,所述恢复目标确定单元具体用于:
[0022]根据所述存储系统中存储阵列的空间使用率,从所述存储系统中的存储阵列中选择所述第二块组。
[0023]在第二种可能的实现方式中,结合第二方面,所述第二块组至少位于所述至少两个磁盘冗余存储阵列中的至少一个上。
[0024]在第三种可能的实现方式中,结合第二方面,所述第二块组分布在所述第一磁盘冗余存储阵列上。
[0025]在第三种可能的实现方式中,结合第二方面,所述第二块组分布在所述第一磁盘冗余存储阵列和所述第二磁盘冗余存储阵列上。
[0026]本发明实施例提供的一种数据恢复的方法和设备,当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘;确定第一块组;其中,至少有一个组成第一块组的块分布在发生故障的磁盘上;从存储系统中选择第二块组;将第一块组中的数据恢复至第二块组;能够将数据恢复和重构平衡态的步骤同时进行,与现有技术中先恢复数据后进行平衡相比,可以在消耗同等资源的情况下,缩短系统的处理流程,减小了对系统原有输入输出性能的影响。
【专利附图】

【附图说明】
[0027]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本发明实施例提供的一种数据恢复的方法的流程示意图;
[0029]图2为本发明实施例提供的一种存储结构的示意图;
[0030]图3为本发明实施例提供的一种数据恢复的方法的详细流程示意图;[0031]图4为本发明实施例提供的一种存储结构与存储内容的映射图;
[0032]图5为本发明实施例提供的一种数据恢复的设备结构图;
[0033]图6为本发明实施例提供的一种数据恢复的装置结构图。
【具体实施方式】
[0034]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]本发明实施例提供一种数据恢复的方法,如图1所示,该方法包括:
[0036]该方法应用于存储系统,所述存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,所述至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,所述块组用于存储数据:
[0037]101、当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘。
[0038]102、确定第一块组,其中,至少有一个组成第一块组的块分布在发生故障的磁盘上。
[0039]103、从存储系统中选择第二块组。
[0040]104、将第一块组中的数据恢复至第二块组。
[0041]本发明实施例提供的一种数据恢复的方法,当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘;确定第一块组;其中,至少有一个组成第一块组的块分布在发生故障的磁盘上;从存储系统中选择第二块组;将第一块组中的数据恢复至第二块组;能够将数据恢复和重构平衡态的步骤同时进行,与现有技术中先恢复数据后进行平衡相比,可以在消耗同等资源的情况下,缩短系统的处理流程,减小了对系统原有输入输出性能的影响。
[0042]为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明实施例提供的另一种产生数据的方法进行详细说明。
[0043]本发明实施例提供一种数据恢复的方法,方法应用于存储系统,存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,块组用于存储数据;方法包括:
[0044]201、当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘。
[0045]进一步的,块也就是chunk是根据预设的条件在磁盘中划分的块,块组CG是至少两个块chunk成的RAID组。
[0046]根据存储系统中存储阵列的空间使用率,从存储系统中的存储阵列中选择第二块组。其中,组成第二块组的块分布在非故障磁盘上。
[0047]示例性的,步骤201可以具体的表述为:
[0048]引擎I和引擎2,每个引擎都管理5个磁盘1,通常,每个引擎中包括控制器,在具体实施中,为了实现冗余或负载均衡,一个引擎包含两个控制器,本发明对此不作限定,具体的结构图如图2所示。
[0049]在图2中,引擎I管理的磁盘依次为磁盘6、磁盘1、磁盘7、磁盘8、磁盘3,相应的引擎2管理的磁盘依次为磁盘5、磁盘4、磁盘9、磁盘2、磁盘10。
[0050]当存储结构中发生故障时,从图2中的10个磁盘中,确定发生故障的磁盘。
[0051]202、确定第一块组。
[0052]在步骤201中已确定的故障磁盘内,确定第一块组,其中,至少有一个组成第一块组的块分布在发生故障的磁盘上。
[0053]图3中以发生故障的磁盘I为例,图3中的虚线框中的内容为磁盘I中存储的块
组信息。
[0054]203、从存储系统中选择第二块组。
[0055]其中,根据存储系统中存储阵列当前的空间使用率,从存储系统中的存储阵列中选择第二块组,选择第二块组的目的就是为了在恢复数据后,能够在最大程度上保证存储结构中磁盘空间利用率的平衡。
[0056]进一步的,如图4所示,步骤203还包括:
[0057]2031、根据保证存储结构空间利用率的算法,确定第一块组与第二块组的对应关系O
[0058]当引擎I管理的磁盘I发生故障时,即图3中磁盘I对应的虚线框中的块I?块5为发生故障的块,需要恢复至其他磁盘。在图3中可以看出,块组CGl?块组CG5中均有部分数据位于磁盘I中,也就是块组CGl?块组CG5均为受损的块组CG。
[0059]示例性的,相对于图4中的块组CG,通过预设的算法,在五个块组CG中,将存储在磁盘I中的块都需要找到恢复的目标块组CG。这里以块组CGl和块组CG3为例,假设块组CGl和块组CG3中受损数据的目标块是位于引擎2中的磁盘,则将块组CGl和块组CG3中的数据平均恢复至引擎2管理的磁盘中,而对于剩余的块组CG2、块组CG4和块组CG5,则平均恢复至引擎I中除磁盘I外剩余的磁盘上。
[0060]上述选盘算法确定的选盘结果仅是众多选盘结果中的一种,由于本文篇幅所限,仅列出这一种结果,在实际的情况中,由于存储系统中引擎的数量不仅为上述的两个,同时整个存储中每个引擎下管理的磁盘数也不仅为5个,因此上述选盘结果仅为一个特例,用于说明当磁盘发生故障时,用于承载恢复数据的磁盘不仅仅为故障磁盘所属控制器的下属磁盘,还可以进行跨控制器的数据恢复,最终的目的就是为了达到使恢复的数据能够平均分布在众多磁盘的目标块中。
[0061]204、将第一块组中的数据恢复至第二块组。
[0062]其中,将第一块组中的数据恢复至第二块组是根据步骤2031中已确定的第一块组与第二块组的对应关系进行的。
[0063]值得一提的是,该第二块组可以与第一块组一样位于引擎I管理的第一磁盘冗余存储阵列中,也可以位于与第一块组不同的引擎2管理的第二磁盘冗余存储阵列中,还可以位于其他引擎管理的其他磁盘冗余存储阵列中,这里除选择第二块组的前提是为了保证整个存储结构中磁盘空间利用率的平衡外,不对第二块组进行其他限定。
[0064]具体的,将发生故障的磁盘I中的块组CG中的数据恢复至已确定的第二块组中。[0065]当进行块组CG恢复时,一种方式为首先恢复块组CGl,接着是块组CG2......,最
终是最后一个块组CG5,也就是按照先后顺序,西安恢复第一个块组CG,在完成后,在进行第二个块组CG,直到所有的块组CG全部都恢复完毕,整个恢复过程结束。
[0066]本发明实施例提供一种数据恢复的方法,当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘;确定第一块组;其中,至少有一个组成第一块组的块分布在发生故障的磁盘上;从存储系统中选择第二块组;将第一块组中的数据恢复至第二块组;能够将数据恢复和重构平衡态的步骤同时进行,与现有技术中先恢复数据后进行平衡相比,可以在消耗同等资源的情况下,缩短系统的处理流程,减小了对系统原有输入输出性能的影响。
[0067]本发明实施例提供一种数据恢复的设备3,设备3应用于存储系统,存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,块组用于存储数据,如图5所示,该设备3包括:
[0068]磁盘确定单元31,用于当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘。
[0069]故障确定单元32,用于确定第一块组,其中,至少有一个组成第一块组的块分布在发生故障的磁盘上。
[0070]恢复目标确定单元33,用于从存储系统中选择第二块组。
[0071]数据恢复单元34,用于将第一块组中的数据恢复至第二块组。
[0072]进一步的,块chunk是根据预设的条件在磁盘中划分的块,块组CG是至少两个块chunk 成的 RAID 组。
[0073]其中,恢复目标确定单元33具体用于:
[0074]根据存储系统中存储阵列的空间使用率,从存储系统中的存储阵列中选择第二块组。
[0075]进一步的,恢复目标确定单元33确定的第二块组至少位于至少两个磁盘冗余存储阵列中的至少一个,第二块组分布在第一磁盘冗余存储阵列或第二磁盘冗余存储阵列上,第二块组分布在第一磁盘冗余存储阵列和第二磁盘冗余存储阵列上。
[0076]本发明实施例提供一种数据恢复的设备,当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘;确定第一块组;其中,至少有一个组成第一块组的块分布在发生故障的磁盘上;从存储系统中选择第二块组;将第一块组中的数据恢复至第二块组;能够将数据恢复和重构平衡态的步骤同时进行,与现有技术中先恢复数据后进行平衡相比,可以在消耗同等资源的情况下,缩短系统的处理流程,减小了对系统原有输入输出性能的影响。
[0077]本发明还提供一种数据恢复的装置4,如图6所示,该装置4应用于存储系统,存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,块组用于存储数据;该装置4包括:总线41,以及连接到总线41上的处理器42、存储器43、接收器44和发射器45,其中存储器43用于存储相关指令,该处理器42用于当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘;该处理器42还用于确定第一块组;其中,至少有一个组成第一块组的块分布在发生故障的磁盘上;该处理器42还用于从存储系统中选择第二块组;该处理器42还用于将第一块组中的数据恢复至第二块组。
[0078]进一步的,处理器42从存储系统中选择第二块组,具体包括:
[0079]根据存储系统中存储阵列的空间使用率,从存储系统中的存储阵列中选择第二块组。
[0080]更进一步的,第二块组至少位于至少两个磁盘冗余存储阵列中的至少一个,第二块组分布在第一磁盘冗余存储阵列或第二磁盘冗余存储阵列上,第二块组分布在第一磁盘冗余存储阵列和第二磁盘冗余存储阵列上。
[0081]因此,本发明实施例提供的一种用于数据恢复的装置4,当第一磁盘冗余存储阵列中的磁盘发生故障时,确定第一磁盘冗余存储阵列中发生故障的磁盘;确定第一块组;其中,至少有一个组成第一块组的块分布在发生故障的磁盘上;从存储系统中选择第二块组;将第一块组中的数据恢复至第二块组;能够将数据恢复和重构平衡态的步骤同时进行,与现有技术中先恢复数据后进行平衡相比,可以在消耗同等资源的情况下,缩短系统的处理流程,减小了对系统原有输入输出性能的影响。
[0082]在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置、和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0083]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0084]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0085]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0086]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种数据恢复的方法,其特征在于,所述方法应用于存储系统,所述存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,所述至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,所述块组用于存储数据,所述方法包括: 当所述第一磁盘冗余存储阵列中的磁盘发生故障时,确定所述第一磁盘冗余存储阵列中发生故障的磁盘; 确定第一块组,其中,至少有一个组成所述第一块组的块分布在所述发生故障的磁盘上; 从所述存储系统中选择第二块组; 将所述第一块组中的数据恢复至所述第二块组。
2.根据权利要求1所述的方法,其特征在于,所述从所述存储系统中选择第二块组,具体包括: 根据所述存储系统中存储阵列的空间使用率,从所述存储系统中的存储阵列中选择所述第二块组。
3.根据权利要求1所述的方法,其特征在于,所述第二块组至少位于所述至少两个磁盘冗余存储阵列中的至少一个上。
4.根据权利要求3所述的方法,其特征在于,所述第二块组分布在所述第一磁盘冗余存储阵列上。
5.根据权利要求3所述的方法,其特征在于,所述第二块组分布在所述第一磁盘冗余存储阵列和所述第二磁盘冗余存储阵列上。
6.一种数据恢复的设备,其特征在于,所述设备应用于存储系统,所述存储系统包括至少第一磁盘冗余存储阵列和第二磁盘冗余存储阵列;每个磁盘冗余存储阵列包括控制器和至少两个磁盘,所述至少两个磁盘逻辑上划分为若干个块,并且至少两个块构成块组,所述块组用于存储数据,所述设备包括: 磁盘确定单元,用于当所述第一磁盘冗余存储阵列中的磁盘发生故障时,确定所述第一磁盘冗余存储阵列中发生故障的磁盘; 故障确定单元,用于确定第一块组,其中,至少有一个组成所述第一块组的块分布在所述发生故障的磁盘上; 恢复目标确定单元,用于从所述存储系统中选择第二块组; 数据恢复单元,用于将所述第一块组中的数据恢复至所述第二块组。
7.根据权利要求6所述的设备,其特征在于,所述恢复目标确定单元具体用于: 根据所述存储系统中存储阵列的空间使用率,从所述存储系统中的存储阵列中选择所述第二块组。
8.根据权利要求6所述的设备,其特征在于,所述第二块组至少位于所述至少两个磁盘冗余存储阵列中的至少一个上。
9.根据权利要求8所述的设备,其特征在于,所述第二块组分布在所述第一磁盘冗余存储阵列上。
10.根据权利要求8所述的设备,其特征在于,所述第二块组分布在所述第一磁盘冗余存储阵列和所述第二磁盘冗余存储阵列上。
【文档编号】G06F3/06GK103530206SQ201310456939
【公开日】2014年1月22日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】熊伟, 张瑛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1