CN102681918A - 数据存储备份方法及装置 - Google Patents

数据存储备份方法及装置 Download PDF

Info

Publication number
CN102681918A
CN102681918A CN2012101538205A CN201210153820A CN102681918A CN 102681918 A CN102681918 A CN 102681918A CN 2012101538205 A CN2012101538205 A CN 2012101538205A CN 201210153820 A CN201210153820 A CN 201210153820A CN 102681918 A CN102681918 A CN 102681918A
Authority
CN
China
Prior art keywords
dish
data
usage space
unspoiled
raid group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012101538205A
Other languages
English (en)
Other versions
CN102681918B (zh
Inventor
蒲贵友
陈祖飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210153820.5A priority Critical patent/CN102681918B/zh
Publication of CN102681918A publication Critical patent/CN102681918A/zh
Application granted granted Critical
Publication of CN102681918B publication Critical patent/CN102681918B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供一种数据存储备份方法及装置。方法应用于RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,所述方法包括:在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据;将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二RAID组;其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二RAID组的级别相对应的校验数据的容量的和。

Description

数据存储备份方法及装置
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种数据存储备份方法及装置。
背景技术
磁盘冗余阵列(Redundant Array 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组中的数据,不会降低容错能力,即使再次发生成员盘损坏,仍然可以根据剩余未损坏的成员盘的预留空间中的数据重构得到上一次损坏的成员盘使用空间中的数据,进而根据重构得到的上一次损坏的成员盘使用空间中的数据以及剩余未损坏的成员盘的使用空间的数据重构得到本次损坏的成员盘使用空间中的数据,使得在不能及时更换热备盘的情况下,依然能够保持系统运行的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据存储备份方法的流程示意图;
图2为本发明实施例的一种应用示意图;
图3为本发明实施例提供的又一种数据存储备份方法的流程示意图;
图4为本发明实施例提供的又一种数据存储备份方法的流程示意图
图5为本发明实施例提供的再一种数据存储备份方法的流程示意图;
图6为本发明实施例提供的另一种数据存储备份方法的流程示意图;
图7为本发明实施例提供的一种数据存储备份装置的结构示意图;
图8为本发明实施例提供的又一种数据存储备份装置的结构示意图;
图9为本发明实施例提供的再一种数据存储备份装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种数据存储备份方法的流程示意图。本发明实施例应用于RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,如图1所示,所述方法包括:
步骤101、在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。
具体的,为了便于说明,本发明人实施例以N个成员盘组成的RAID组为例进行说明,其中N为不小于3的自然数。若步骤101之前未发生成员盘损坏,则步骤101中损坏的成员盘可以是N个成员盘中的任一个,对应地,未损坏的成员盘为除所述损坏的成员盘之外的(N-1)个成员盘。若步骤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-1)个成员盘的使用空间中的数据确定损坏的成员盘的使用空间中的数据。
步骤102、将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二RAID组;其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二RAID组的级别相对应的校验数据的容量的和。
具体地,当将重构得到的数据按照RAID4的组织形式存储到所述未损坏的成员盘的预留空间中时,所述第二RAID组的级别为RAID4;当将重构得到的数据按照RAID5的组织形式存储到所述未损坏的成员盘的预留空间中时,所述第二RAID组的级别为RAID5;当将重构得到的数据按照RAID6的组织形式存储到所述未损坏的成员盘的预留空间中时,所述第二RAID组的级别为RAID6。通常,按RAID4或RAID5的组织形式存储数据时,需要至少3个待写入的成员盘,同时会生成与该待存储的数据对应的一份校验数据,该校验数据的大小等于待存储的数据的大小与待写入的成员盘(即未损坏的成员盘)的个数减1的值的商,并将该校验数据和待存储的数据一并存储到未损坏的成员盘的预留空间中;若按RAID6的组织形式存储数据时,需要至少4个待写入的成员盘,同时会生成与该待存储的数据对应的两份校验数据,每份校验数据的大小等于待存储的数据的大小与待写入的成员盘的个数减2的值的商,并将两份校验数据和待存储的数据一并存储到未损坏的成员盘的预留空间中。
其中,在一种情形下,可以在第一次发生成员盘损坏后即重构损坏的成员盘的使用空间中的数据,若将重构得到的数据按照RAID4或RAID5的组织形式存储在未损坏的成员盘的预留空间(第二RAID组)中,则需要设置每个成员盘的预留空间的容量不小于每个成员盘的容量除以(N-1),以使得未损坏的(N-1)个成员盘的预留空间足够存储该损坏的成员盘使用空间的数据和对应的校验数据,其中N为所述RAID组中成员盘的个数,通常为不小于3的自然数,具体的,每个成员盘的预留空间的容量可以通过下面的计算方法获得:假设每个成员盘的容量为T,其中预留空间的容量为x,则成员盘使用空间的容量为T-x,而T-x大小的待存储数据对应的校验数据的大小为(T-x)/(N-2),因此需满足(T-x)+(T-x)/(N-2)≤(N-1)*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-1)*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所示,在图1所示的步骤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所示,在图1所示的步骤102之后还可以包括:
步骤1051、接收写操作指令;
步骤1052、确定所述写操作指令对应的需写入所述本次损坏的成员盘的使用空间中的数据及写入地址;
步骤1053、根据所述写入地址将所述需写入所述本次损坏的成员盘的使用空间中的数据写入所述第二RAID组中。
本发明实施例所示方法,使得在RAID组中发生成员盘损坏后而无热备盘替换的情况下,当需要往损坏的成员盘中写入数据时,可以将针对损坏的成员盘的数据写入到第二RAID组(即未损坏的成员盘的预留空间)中,使得数据不会丢失,不会影响RAID组的使用。
图6为本发明实施例提供的另一种数据存储备份方法的流程示意图。如图6所示,在图1所示的步骤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组容错能力的缺陷。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、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组容错能力的缺陷。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种数据存储备份方法,其特征在于,应用于磁盘冗余阵列RAID组中,所述RAID组中各成员盘的容量相同,每个成员盘均包括使用空间和预留空间,每个成员盘的预留空间的地址范围相同,所述方法包括:
在成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据;
将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中,以使所述未损坏的成员盘的预留空间构成第二RAID组;
其中,所述未损坏的成员盘的预留空间的总容量不小于一个成员盘中的使用空间的容量和与所述第二RAID组的级别相对应的校验数据的容量的和。
2.根据权利要求1所述的方法,其特征在于,所述将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中之后,还包括:
接收读操作指令;
确定所述读操作指令指向的所述本次损坏的成员盘的使用空间中的读取地址范围;
根据所述本次损坏的成员盘的使用空间中的读取地址范围确定所述第二RAID组中的读取地址范围;
将所述第二RAID组中的读取地址范围的数据和未损坏的成员盘的使用空间中的读取地址范围的数据进行重组;
将重组后的数据返回给用户。
3.根据权利要求1或2所述的方法,其特征在于,所述将重构得到的数据按照RAID4、RAID5或RAID6的组织形式存储到所述未损坏的成员盘的预留空间中之后,还包括:
接收写操作指令;
确定所述写操作指令对应的需写入本次损坏的成员盘的使用空间中的数据及写入地址;
根据所述写入地址将所述需写入本次损坏的成员盘的使用空间中的数据写入所述第二RAID组中。
4.根据权利要求3所述的方法,其特征在于,还包括:
再次发生成员盘损坏后,根据所述第二RAID组中的数据重构得到上一次损坏的成员盘的使用空间中的数据;
根据未损坏的成员盘的使用空间中的数据和重构得到的上一次损坏的成员盘的使用空间中的数据,重构得到本次损坏的成员盘的使用空间中的数据。
5.根据权利要求1所述的方法,其特征在于,所述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时,所述重构模块具体用于:在第一次或第二次发生成员盘损坏后,根据未损坏的成员盘的使用空间中的数据重构本次损坏的成员盘的使用空间中的数据。
CN201210153820.5A 2012-05-17 2012-05-17 数据存储备份方法及装置 Active CN102681918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210153820.5A CN102681918B (zh) 2012-05-17 2012-05-17 数据存储备份方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210153820.5A CN102681918B (zh) 2012-05-17 2012-05-17 数据存储备份方法及装置

Publications (2)

Publication Number Publication Date
CN102681918A true CN102681918A (zh) 2012-09-19
CN102681918B CN102681918B (zh) 2014-06-04

Family

ID=46813883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210153820.5A Active CN102681918B (zh) 2012-05-17 2012-05-17 数据存储备份方法及装置

Country Status (1)

Country Link
CN (1) CN102681918B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016112824A1 (zh) * 2015-01-13 2016-07-21 华为技术有限公司 存储的处理方法、装置和存储设备
CN111143240A (zh) * 2019-12-31 2020-05-12 科华恒盛股份有限公司 图像存储方法、系统及终端设备
CN111221473A (zh) * 2019-12-30 2020-06-02 河南创新科信息技术有限公司 一种存储系统介质免维护的方法
CN111831470A (zh) * 2019-04-18 2020-10-27 上海川源信息科技有限公司 磁盘阵列系统的数据还原方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030231529A1 (en) * 2002-06-17 2003-12-18 Hetrick William A. Drive failure recovery via capacity reconfiguration
CN1825269A (zh) * 2005-02-24 2006-08-30 日本电气株式会社 盘阵列设备和数据备份方法
US20090177918A1 (en) * 2008-01-04 2009-07-09 Bulent Abali Storage redundant array of independent drives

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030231529A1 (en) * 2002-06-17 2003-12-18 Hetrick William A. Drive failure recovery via capacity reconfiguration
CN1825269A (zh) * 2005-02-24 2006-08-30 日本电气株式会社 盘阵列设备和数据备份方法
US20090177918A1 (en) * 2008-01-04 2009-07-09 Bulent Abali Storage redundant array of independent drives

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016112824A1 (zh) * 2015-01-13 2016-07-21 华为技术有限公司 存储的处理方法、装置和存储设备
CN111831470A (zh) * 2019-04-18 2020-10-27 上海川源信息科技有限公司 磁盘阵列系统的数据还原方法
CN111831470B (zh) * 2019-04-18 2024-03-08 上海川源信息科技有限公司 磁盘阵列系统的数据还原方法
CN111221473A (zh) * 2019-12-30 2020-06-02 河南创新科信息技术有限公司 一种存储系统介质免维护的方法
CN111143240A (zh) * 2019-12-31 2020-05-12 科华恒盛股份有限公司 图像存储方法、系统及终端设备
CN111143240B (zh) * 2019-12-31 2022-07-05 科华恒盛股份有限公司 图像存储方法、系统及终端设备

Also Published As

Publication number Publication date
CN102681918B (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN102880428B (zh) 分布式独立磁盘冗余阵列的创建方法及装置
US9158675B2 (en) Architecture for storage of data on NAND flash memory
CN101980137B (zh) 廉价磁盘冗余阵列重构方法、装置及系统
CN103034458B (zh) 固态硬盘中实现独立磁盘冗余阵列的方法及装置
CN104035830A (zh) 一种数据恢复方法和装置
CN102043685A (zh) 独立磁盘冗余阵列系统及其数据恢复方法
CN102981927A (zh) 分布式独立冗余磁盘阵列存储方法及分布式集群存储系统
CN103455386A (zh) 一种修复出错数据的方法和设备
CN102591746B (zh) 数据重构方法和存储设备
CN104347122A (zh) 一种消息式内存模组的访存方法和装置
CN101984400A (zh) 一种raid控制方法、装置及系统
CN102681918B (zh) 数据存储备份方法及装置
CN104503781A (zh) 硬盘的固件升级方法和存储系统
CN103019894B (zh) 一种独立冗余磁盘阵列的重建方法
CN103870352A (zh) 数据存储与重建的方法与系统
CN108255740A (zh) 一种flash均衡擦写方法及系统
CN102226892B (zh) 一种磁盘容错处理方法及设备
CN109032513A (zh) 基于ssd和hdd的raid架构及其备份、重建方法
CN103678025A (zh) 一种磁盘阵列中的磁盘故障处理方法
US20060259812A1 (en) Data protection method
CN101794246B (zh) 备份存储系统、备份系统及数据备份方法和恢复方法
CN104461373A (zh) 一种raid数据处理方法及装置
CN107977285A (zh) 一种纠删码存储机制的数据修改方法、装置及介质
CN102385544B (zh) 一种磁盘重建方法和装置
CN105095352B (zh) 应用于分布式系统的数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant