数据存储备份方法及装置的制作方法

文档序号:6369808阅读:215来源:国知局
专利名称:数据存储备份方法及装置的制作方法
技术领域
本发明实施例涉及存储技术领域,尤其涉及ー种数据存储备份方法及装置。
背景技术
磁盘冗余阵列(RedundantArray of Independent Disks,简称RAID)技术是存储领域最为常用的技术之一,它将多块硬盘虚拟成ー个单台大容量的硬盘进行使用。利用多块硬盘来提升系统容量,利用同时读写来加快整体的存储速度,并利用其冗余设置来实现一定的容错能力。根据RAID级别的不同,其读写性能、容错能力等有所差别,其中使用ー份校验数据的RAID5较为常用。以RAID5为例,设置有ー份校验数据,在RAID组中任何ー块成员盘发生损坏以后,RAID组处于降级运行状态,但仍然可以对外提供正常的数据读写,保证数据不丢失。但是,如果不能及时的发现并使用新盘替换掉损坏的成员盘,当再次出现成员盘损坏时,RAID组将不能成功的完成数据重构,从而产生数据丢失。 为了避免上述无法及时替换成员盘,造成系统容错能力降低,现有技术采用配置热备盘的方法,也就是使用额外的一块硬盘,在出现成员盘损坏的情况下,自动的替换损坏的成员盘,使RAID组的容错能力及时得到恢复。上述方案必须预先配置好热备盘,如果没有配置将不能进行及时替换。同时热备盘不參与正常的读写操作,且需要正常上电,并占用ー块硬盘槽位。

发明内容
本发明实施例提供ー种数据存储备份方法及装置,用以解决现有技术中在成员盘损坏的情况下需要热备盘替换才能恢复RAID组容错能力的缺陷。一方面,本发明实施例提供的ー种数据存储备份方法,应用于RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,所述方法包括在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据;将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组;其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二 RAID组的级别相对应的校验数据的容量的和。另ー方面,本发明实施例提供的ー种数据存储备份装置,包括应用于磁盘冗余阵列RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,所述装置包括重构模块,用于在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据;存储模块,用于将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组;其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二 RAID组的级别相对应的校验数据的容量的和。以上多个技术方案中的至少ー个技术方案具有如下优点或有益效果本发明实施例在RAID组的各成员盘中均设置地址范围相同的预留空间,在成员盘损坏后,根据未损坏的成员盘使用空间中的数据重构本次损坏的成员盘使用空间中的数据,并将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组。使得在RAID组在成员盘损坏后无需使用热备盘替换就可以恢复存储在RAID组中的数据,不会降低容错能力,即使再次发生成员盘损坏,仍然可以根据剰余未损坏的成员盘的预留空间中的数据 重构得到上一次损坏的成员盘使用空间中的数据,进而根据重构得到的上一次损坏的成员盘使用空间中的数据以及剰余未损坏的成员盘的使用空间的数据重构得到本次损坏的成员盘使用空间中的数据,使得在不能及时更换热备盘的情况下,依然能够保持系统运行的稳定性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作ー简单地介绍,显而易见地,下面描述中的附图是本发明的ー些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的ー种数据存储备份方法的流程示意图;图2为本发明实施例的一种应用示意图;图3为本发明实施例提供的又ー种数据存储备份方法的流程示意图;图4为本发明实施例提供的又ー种数据存储备份方法的流程示意5为本发明实施例提供的再ー种数据存储备份方法的流程示意图;图6为本发明实施例提供的另ー种数据存储备份方法的流程示意图;图7为本发明实施例提供的ー种数据存储备份装置的结构示意图;图8为本发明实施例提供的又ー种数据存储备份装置的结构示意图;图9为本发明实施例提供的再ー种数据存储备份装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明实施例提供的ー种数据存储备份方法的流程示意图。本发明实施例应用于RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,如图I所示,所述方法包括
步骤101、在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。具体的,为了便于说明,本发明人实施例以N个成员盘组成的RAID组为例进行说明,其中N为不小于3的自然数。若步骤101之前未发生成员盘损坏,则步骤101中损坏的成员盘可以是N个成员盘中的任ー个,对应地,未损坏的成员盘为除所述损坏的成员盘之外的(N-I)个成员盘。若步骤101之前已发生成员盘损坏,则步骤101中损坏的成员盘可以是之前发生成员盘损坏后未损坏的成员盘中的任ー个,对应地,未损坏的成员盘为除损坏的2个成员盘之外的(N-2)个成员盘。在没有成员盘损坏时,不使用各成员盘的预留空间,仅使用各成员盘的使用空间。需要说明的是,上述RAID组是具有容错能力的RAID组,上述RAID组可以通过保存ー份或多份校验数据来获得容错能力,举例 来说,该RAID组的级别可以是RAID4、RAID5、RAID6 等。进ー步地,当本发明实施例应用的RAID组的级别为RAID4或RAID5,由于RAID4、RAID5有ー份校验数据,可以在第一次发生成员盘损坏时即进行数据重构,对应地,步骤101具体为在第一次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。当本发明实施例应用的RAID组的级别为RAID6吋,由于RAID6有两份校验数据,因此可以在第一次发生成员盘损坏时即进行数据重构,也可以第二次发生成员盘损坏时再进行数据重构,对应地,步骤101具体为在第一次或第二次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。具体的,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据的方法取决于所述RAID组的级别,举例来说,若所述RAID组的级别为RAID5,由于RAID5的校验方法是使所有成员盘中的同一地址存储的数据的异或值为0,则当ー个成员盘损坏时,可以基于上述RAID5校验方法,根据未损坏的(N-I)个成员盘的使用空间中的数据确定损坏的成员盘的使用空间中的数据。步骤102、将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组;其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二 RAID组的级别相对应的校验数据的容量的和。具体地,当将重构得到的数据按照RAID4的组织形式存储到所述未损坏的成员盘的预留空间中时,所述第二 RAID组的级别为RAID4 ;当将重构得到的数据按照RAID5的组织形式存储到所述未损坏的成员盘的预留空间中时,所述第二 RAID组的级别为RAID5 ;当将重构得到的数据按照RAID6的组织形式存储到所述未损坏的成员盘的预留空间中时,所述第二 RAID组的级别为RAID6。通常,按RAID4或RAID5的组织形式存储数据时,需要至少3个待写入的成员盘,同时会生成与该待存储的数据对应的ー份校验数据,该校验数据的大小等于待存储的数据的大小与待写入的成员盘(即未损坏的成员盘)的个数减I的值的商,并将该校验数据和待存储的数据ー并存储到未损坏的成员盘的预留空间中;若按RAID6的组织形式存储数据时,需要至少4个待写入的成员盘,同时会生成与该待存储的数据对应的两份校验数据,每份校验数据的大小等于待存储的数据的大小与待写入的成员盘的个数减2的值的商,并将两份校验数据和待存储的数据ー并存储到未损坏的成员盘的预留空间中。其中,在一种情形下,可以在第一次发生成员盘损坏后即重构损坏的成员盘的使用空间中的数据,若将重构得到的数据按照RAID4或RAID5的组织形式存储在未损坏的成员盘的预留空间(第二 RAID组)中,则需要设置每个成员盘的预留空间的容量不小于每个成员盘的容量除以(N-1),以使得未损坏的(N-I)个成员盘的预留空间足够存储该损坏的成员盘使用空间的数据和对应的校验数据,其中N为所述RAID组中成员盘的个数,通常为不小于3的自然数,具体的,每个成员盘的预留空间的容量可以通过下面的计算方法获得假设每个成员盘的容量为T,其中预留空间的容量为X,则成员盘使用空间的容量为T-x,而Τ-χ大小的待存储数据对应的校验数据的大小 为(T-x)/ (N-2),因此需满足(T-x)+ (T-x)/(N-2)彡(N-l)*x,即X彡T/ (N-1)。若将重构得到的数据按照RAID6的组织形式存储在未损坏的成员盘的预留空间中,则需要设置每个成员盘的预留空间的容量不小于每个成员盘的容量除以(N-2);具体的,假设每个成员盘的容量为T,其中预留空间的容量为X,则使用空间的容量为T-x,而T-x大小的待存储数据对应的校验数据的大小为2* (T-x) / (N-3),因此需满足(T-x)+2* (T-x) / (N-3)彡(N-l)*x,即 X 彡 T/ (N-2)。在另ー种情形下,当本发明实施例所应用的RAID组为RAID6时,可以在第二次发生成员盘损坏后才重构数据。若将重构得到的数据按照RAID4或RAID5的组织形式存储在未损坏的成员盘的预留空间(第二 RAID组)中,则为了保证未损坏的(N-2)个成员盘的预留空间足以存储该损坏的成员盘使用空间的数据和对应的ー份校验数据,这种情况下,需设置各成员盘的预留空间的容量不小于每个成员盘的容量除以(N-2)。若将重构得到的数据按照RAID6的组织形式存储在未损坏的成员盘的预留空间中,则为了保证未损坏的(N-2)个成员盘的预留空间足以存储该损坏的成员盘使用空间的数据和对应的两份校验数据,这种情况下,需设置各成员盘的预留空间的容量不小于每个成员盘的容量除以(N-3)。图2为本发明实施例的一种应用示意图。在图2所示应用场景中,以6个成员盘A、B、C、D、E、F组成的RAID组来进行说明,各成员盘中虚线以上部分表示使用空间,虚线以下部分表示预留空间。其中,步骤101中损坏的成员盘为成员盘C,步骤102中按照RAID4或RAID5的组织形式存储数据,也就是将损坏的成员盘C的使用空间中的数据1、2、3、4及对应的ー份校验数据P存储到未损坏的成员盘A、B、D、E、F的预留空间中。需要说明的是,步骤102中按照何种RAID级别的组织形式存储重构得到的数据,与本发明实施例应用的RAID组的级别无关,只要未损坏的成员盘的预留空间的总容量不小于ー个成员盘中的使用空间的容量和与所述第二 RAID组的级别相对应的校验数据的容量的和即可。举例来说,若应用的RAID组的级别为RAID5,步骤102中可以按照RAID4、RAID5或RAID6的组织形式存储重构得到的数据。无论应用的RAID组的级别如何,为了节省存储空间,步骤102中优选地按照RAID4或RAID5的组织形式存储重构得到的数据。本发明实施例,通过将重构得到的损坏的成员盘的数据存储到未损坏的成员盘的预留空间中,以使未损坏的成员的预留空间构成第二 RAID组,利用该第二 RAID组来代替损坏的成员盘,使得当RAID组中有成员盘发生损坏而不能及时更换热备盘的情况下,依然不会降低RAID组的容错能力,保持系统运行的稳定性。图3为本发明实施例提供的又ー种数据存储备份方法的流程示意图。具体地,如图3所示,在图I所示的步骤102之后还包括步骤1031、接收读操作指令;步骤1032、确定所述读操作指令指向的所述本次损坏的成员盘的使用空间中的读取地址范围;步骤1033、根据所述本次损坏的成员盘的使用空间中的读取地址范围确定所述第ニ RAID组中的读取地址范围;具体地,可以根据第二 RAID组的级别来确定与所述本次损坏的成员盘的使用空间中的读取地址范围对应的所述第二 RAID组中的读取地址范围。步骤1034、将所述第二 RAID组中的读取地址范围的数据和未损坏的成员盘的使用空间中的读取地址范围的数据进行重组; 步骤1035、将重组后的数据返回给用户。本发明实施例提供的方法,使得在发生成员盘损坏后而无热备盘替换的情况下,当需要读取损坏的成员盘中的数据时,可以根据第二 RAID组中存储的数据向用户提供数据。使得当RAID组中的成员盘发生损坏而不能及时更换热备盘的情况下,不会影响RAID组的使用。在另ー种情况下,为了保证性能,当针对RAID组进行读操作时,还可以采用数据重构的方式向外提供数据,以减少对小RAID组的一次读操作。图4为本发明实施例提供的又ー种数据存储备份方法的流程示意图。具体地,如图4所示,步骤102之后还可以包括步骤1041、接收读操作指令;步骤1042、确定所述读操作指令指向的所述本次损坏的成员盘的使用空间中的读取地址范围;步骤1043、根据所述未损坏的成员盘的使用空间中的数据重构所述本次损坏的成员盘的使用空间中所述读取地址范围的数据;步骤1044、将所述未损坏的成员盘的使用空间中所述读取地址范围的数据和重构得到的所述本次损坏的成员盘的使用空间中所述读取地址范围的数据按进行重组;步骤1045、将重组后的数据返回给用户。图5为本发明实施例提供的再ー种数据存储备份方法的流程示意图。具体地,如图5所示,在图I所示的步骤102之后还可以包括步骤1051、接收写操作指令;步骤1052、确定所述写操作指令对应的需写入所述本次损坏的成员盘的使用空间中的数据及写入地址;步骤1053、根据所述写入地址将所述需写入所述本次损坏的成员盘的使用空间中的数据写入所述第二 RAID组中。本发明实施例所示方法,使得在RAID组中发生成员盘损坏后而无热备盘替换的情况下,当需要往损坏的成员盘中写入数据时,可以将针对损坏的成员盘的数据写入到第ニ RAID组(即未损坏的成员盘的预留空间)中,使得数据不会丢失,不会影响RAID组的使用。图6为本发明实施例提供的另ー种数据存储备份方法的流程示意图。如图6所示,在图I所示的步骤102之后还包括
步骤1061、再次发生成员盘损坏后,根据所述第二 RAID组中的数据重构得到上一次损坏的成员盘的使用空间中的数据;步骤1062、根据所述未损坏的成员盘的使用空间中的数据和重构得到的所述上ー次损坏的成员盘的使用空间中的数据,重构得到本次损坏的成员盘的使用空间中的数据。具体地,上述上次损坏的成员盘指的是步骤101中损坏的成员盘。若步骤101中是第一次发生成员盘损坏,则步骤1062中再次发生成员盘损坏就是第二次,此时未损坏的成员盘的个数为(N-2);若步骤101中是第二次发生成员盘损坏,则步骤1062中再次发生成员盘损坏就是第三次,此时未损坏的成员盘的个数为(N-3)。本发明实施例所示方法,由于将损坏的成员盘的数据重构到第二 RAID组中,恢复了 RAID组的容错能力,则当再次发生成员盘损坏时,还可以根据第二 RAID组重构本次损坏的成员盘的数据,使得RAID组仍然可以向外提供完整的数据,保证了整个RAID组的数据不会丢失,从而提闻了 RAID组容错能力,提闻了系统运行的稳定性。进ー步地,由于再次发生成员盘损坏后,已没有预留空间可以存储重构得到的此次损坏的成员盘的数据,因此,可以在接收到读操作指令时再重构此次损坏的成员盘中相应地址的数据,并提供给用户。本发明实施例采用在RAID组的各成员盘中均设置地址范围相同的预留空间,在发生成员盘损坏后,根据未损坏的成员盘使用空间中的数据重构本次损坏的成员盘使用空间中的数据,将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组。使得在成员盘损坏后无需使用热备盘替换就可以恢复存储在RAID组中的数据,不会降低RAID组的容错能力,即使再次发生成员盘损坏,仍然可以根据剰余未损坏的成员盘的预留空间中的数据重构上一次损坏的成员盘使用空间中的数据,进而根据重构得到的上一次损坏的成员盘使用空间中的数据、剰余未损坏的成员盘的使用空间的数据重构本次损坏的成员盘使用空间中的数据,解决了现有技术中在成员盘损坏的情况下需要热备盘替换才能恢复RAID组容错能力的缺陷。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于ー计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图7为本发明实施例提供的ー种数据存储备份装置的结构示意图。本发明实施例应用于具有容错能力的RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,如图7所示,装置包括重构模块31,用于在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据;存储模块32,用于将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组;其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二 RAID组的级别相对应的校验数据的容量的和。图8为本发明实施例提供的又ー种数据存储备份装置的结构示意图。在图7所示实施例的基础上,装置还包括读操作模块33,用于在存储模块32将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中之后,接收读操作指令;确定所述读操作指令对应的所述N个成员盘的使用空间中的读取地址范围;根据所述本次损坏的成员盘的使用空间中的读取地址范围确定所述第二 RAID组中的读取地址范围;将确定的所述第二 RAID组中的读取地址范围的数据和未损坏的成员盘的使用空间中的读取地址范围的数据进行重组;并将重组后的数据返回给用户。可选地,读操作模块33还用干,在存储模块32将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中之后,接收读操作指令;确定所述读操作指令对应的所述N个成员盘的使用空间中的读取地址范围;根据所述未损坏的成员盘的使用空间中的数据重构所述本次损坏的成员盘的使用空间中所述读取地址范围的数据;将所述未损坏的成员盘的使用空间中所述读取地址范围的数据和重构得 到的所述本次损坏的成员盘的使用空间中所述读取地址范围的数据按进行重组;将重组后的数据返回给用户。图9为本发明实施例提供的再ー种数据存储备份装置的结构示意图。在图7所示实施例的基础上,装置还包括写操作模块34,用于在存储模块32将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中之后,接收写操作指令;确定所述写操作指令对应的需写入所述本次损坏的成员盘的使用空间中的数据及写入地址;将所述需写入所述本次损坏的成员盘的使用空间中的数据写入所述未损坏的成员盘的预留空间中与所述写入地址相应的位置。进ー步地,重构模块31还用于,再次发生成员盘损坏后,根据所述第二 RAID组中的数据重构得到上一次损坏的成员盘的使用空间中的数据;根据未损坏的成员盘的使用空间中的数据和重构得到的上一次损坏的成员盘的使用空间中的数据,重构得到本次损坏的成员盘的使用空间中的数据。进ー步地,所述RAID组为具有容错能力的RAID组,举例来说,所述RAID组的级别可以为 RAID4、RAID5、RAID6。当所述RAID组的级别为RAID4或RAID5时,重构模块31具体用于在第一次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据;当所述RAID组的级别为RAID6时,重构模块31具体用于在第一次或第二次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。上述装置可以是管理所述RAID组的硬盘阵列装置或者文件系统。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以參见其他实施例的相关描述。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。本发明实施例采用在RAID组的各成员盘中均设置地址范围相同的预留空间,在发生成员盘损坏后,根据未损坏的成员盘使用空间中的数据重构本次损坏的成员盘使用空间中的数据,将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组。使得在成员盘损坏后无需使用热备盘替换就可以恢复存储在RAID组中的数据,不会降低容错能力,即使再次发生成员盘损坏,仍然可以根据剰余未损坏的成员盘的预留空间中的数据重构上一次损坏的成员盘使用空间中的数据,进而根据重构得到的上一次损坏的成员盘使用空间中的数据、剰余未损坏的成员盘的使用空间的数据重构本次损坏的成员盘使用空间中的数据,解决了现有技术中在成员盘损坏的情况下需要热备盘替换才能恢复RAID组容错能力的缺陷。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管參照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.ー种数据存储备份方法,其特征在于,应用于磁盘冗余阵列RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,所述方法包括 在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据; 将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组; 其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二 RAID组的级别相对应的校验数据的容量的和。
2.根据权利要求I所述的方法,其特征在于,所述将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中之后,还包括 接收读操作指令; 确定所述读操作指令指向的所述本次损坏的成员盘的使用空间中的读取地址范围; 根据所述本次损坏的成员盘的使用空间中的读取地址范围确定所述第二 RAID组中的读取地址范围; 将所述第二 RAID组中的读取地址范围的数据和未损坏的成员盘的使用空间中的读取地址范围的数据进行重组; 将重组后的数据返回给用户。
3.根据权利要求I或2所述的方法,其特征在于,所述将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中之后,还包括 接收写操作指令; 确定所述写操作指令对应的需写入本次损坏的成员盘的使用空间中的数据及写入地址; 根据所述写入地址将所述需写入本次损坏的成员盘的使用空间中的数据写入所述第ニ RAID组中。
4.根据权利要求3所述的方法,其特征在于,还包括 再次发生成员盘损坏后,根据所述第二 RAID组中的数据重构得到上一次损坏的成员盘的使用空间中的数据; 根据未损坏的成员盘的使用空间中的数据和重构得到的上一次损坏的成员盘的使用空间中的数据,重构得到本次损坏的成员盘的使用空间中的数据。
5.根据权利要求I所述的方法,其特征在于,所述RAID组为RAID4、RAID5或RAID6。
6.根据权利要求5所述的方法,其特征在于,当所述RAID组的级别为RAID4或RAID5时,所述在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据具体包括在第一次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据; 当所述RAID组的级别为RAID6时,所述在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据具体包括在第一次或第二次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。
7.一种数据存储备份装置,其特征在于,应用于磁盘冗余阵列RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,所述装置包括 重构模块,用于在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据; 存储模块,用于将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二 RAID组; 其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二 RAID组的级别相对应的校验数据的容量的和。
8.根据权利要求7所述的装置,其特征在于,还包括 读操作模块,用于接收读操作指令;确定所述读操作指令指向的所述本次损坏的成员盘的使用空间中的读取地址范围;根据所述本次损坏的成员盘的使用空间中的读取地址范围确定所述第二 RAID组中的读取地址范围;将所述第二 RAID组中的读取地址范围的数据和未损坏的成员盘的使用空间中的读取地址范围的数据进行重组;并将重组后的数据返回给用户。
9.根据权利要求7或8所述的装置,其特征在于,还包括 写操作模块,用于接收写操作指令;确定所述写操作指令对应的需写入本次损坏的成员盘的使用空间中的数据及写入地址;根据所述写入地址将所述需写入本次损坏的成员盘的使用空间中的数据写入所述第二 RAID组中。
10.根据权利要求9所述的装置,其特征在于,所述重构模块还用干, 再次发生成员盘损坏后,根据所述第二 RAID组中的数据重构得到上一次损坏的成员盘的使用空间中的数据; 根据未损坏的成员盘的使用空间中的数据和重构得到的上一次损坏的成员盘的使用空间中的数据,重构得到本次损坏的成员盘的使用空间中的数据。
11.根据权利要求7所述的装置,其特征在于,所述RAID组为RAID4、RAID5或RAID6。
12.根据权利要求11所述的装置,其特征在于,当所述RAID组的级别为RAID4或RAID5时,所述重构模块具体用于在第一次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据; 当所述RAID组的级别为RAID6时,所述重构模块具体用于在第一次或第二次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。
全文摘要
本发明实施例提供一种数据存储备份方法及装置。方法应用于RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,所述方法包括在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据;将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二RAID组;其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二RAID组的级别相对应的校验数据的容量的和。
文档编号G06F11/14GK102681918SQ201210153820
公开日2012年9月19日 申请日期2012年5月17日 优先权日2012年5月17日
发明者蒲贵友, 陈祖飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1