CN101923501A - 一种磁盘阵列多级容错方法 - Google Patents

一种磁盘阵列多级容错方法 Download PDF

Info

Publication number
CN101923501A
CN101923501A CN 201010241269 CN201010241269A CN101923501A CN 101923501 A CN101923501 A CN 101923501A CN 201010241269 CN201010241269 CN 201010241269 CN 201010241269 A CN201010241269 A CN 201010241269A CN 101923501 A CN101923501 A CN 101923501A
Authority
CN
China
Prior art keywords
block
data
disk
data disks
sector
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
CN 201010241269
Other languages
English (en)
Other versions
CN101923501B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN2010102412690A priority Critical patent/CN101923501B/zh
Publication of CN101923501A publication Critical patent/CN101923501A/zh
Application granted granted Critical
Publication of CN101923501B publication Critical patent/CN101923501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提出了一种磁盘阵列多级容错方法,通过三级容错方式解决有效解决目前常见阵列错误:第一级容错为扇区级容错,有效预防磁盘本身不能容错的扇区失效;第二级容错即采用数据迁移级容错,防止磁盘可靠性降低带来的失效;第三级应用并行重构方式快速修复阵列中的磁盘失效。本发明通过三级容错策略提高了基于阵列的存储系统的可靠性,同时系统性能也得到了保障。

Description

一种磁盘阵列多级容错方法
技术领域
本发明属于数据存储技术领域,特别是涉及一种阵列容错方法。
背景技术
现代社会产生的信息,以2002年为例,其一年产生了大约5exabytes的信息,其中92%的新信息大部分存储在磁盘中,大容量磁盘已经成为目前必不可少的存储介质;重要的信息的存储比如公司信息显得尤为关键,研究表明50%的公司出现过不能恢复的信息超过十天,43%的公司出现数据永久丢失后立刻倒闭,93%的公司出现严重的数据丢失后倒闭,数据可靠性在数据存储中尤为重要。而基于独立冗余磁盘阵列RAID的存储技术从其诞生起便在存储系统中得到了非常广泛的应用,因为采用RAID结构的存储系统可以保证系统的可靠性以及由于磁盘失效而导致的丢失数据的恢复,但随着现代磁盘容量的不断增加和磁盘,磁盘失效后的数据重构时间将变得很长,如果在此期间出现二次磁盘失效,使用传统的RAID结构将导致磁盘数据的丢失,数据的可靠性也将面临挑战,因此缩二次失效窗口期可以有效避免数据的丢失。此外如图1所示,图中所示RAID 5结构由五个数据盘和一个备份盘构成,若磁盘D2出现失效,系统将通过读取其余参与构成阵列的四个磁盘然后根据校验信息计算出失效的数据,然后将其写入到备份磁盘D5中以替代当前磁盘D2,这一过程中不难看出,虽然可以开启多个重构进程,但备份磁盘D5将成为重构进程的写入瓶颈,例如对一个磁盘容量为1TB的磁盘,若其重构速度为50MB/s,在只考虑离线重构的情况下,其重构时间为大约为6个小时,其过程的漫长制约了系统性能的发挥,也为系统的可靠性带来挑战。
另外一个方面,虽然磁盘驱动器厂商对其产品的性能参数都在提升,但磁盘本身的各类错误仍然对系统可靠性构成威胁,特别是由于磁盘扇区的错误而导致的磁盘数据丢失现象已经变得很严峻。
发明内容
本发明的目的在于提供一种阵列的多级容错方法,缩短了重构的时间,提高了存储系统的可靠性。
一种磁盘阵列多级容错方法,涉及数据盘和热备份盘,将数据盘划分为阵列区、预留容错空间及预留重构空间,该方法具体为:
(1)构造并行重构子阵列:将各数据盘划分为区块,利用区块构建子阵列,使得任何一个数据盘的各区块分属于不同的子阵列且只属于一个子阵列;
(2)若数据读写错误,确定出错的磁盘,并判定错误类型,若错误类型为扇区失效,则进入步骤(3),若错误类型为磁盘失效,则进入步骤(7);
(3)确定出错磁盘的坏扇区所属区块,寻找与该区块构成同一子阵列的其它区块,依据找到的其它区块中与坏扇区对应位置的扇区数据进行数据重构,将重构结果保存到出错磁盘的预留容错空间,并记录出错磁盘的当前失效坏扇区数;
(4)若当前失效坏扇区数小于等于预定扇区容错阈值,结束,否则,表示步骤(3)出现扇区重构错误,进而判断扇区重构错误类型,如果该错误类型为磁盘失效,则进入步骤(7),若为扇区失效,则进入步骤(5);
(5)将出错磁盘的数据迁移到热备份盘;
(6)若步骤(5)数据迁移成功,结束,否则,进入步骤(7);
(7)对出错磁盘的各区块,同时分别寻找与其构成同一子阵列的其它区块,依据其它区块的存储数据对该失效区块的数据进行重构,并将重构结果保存到热备份盘或没有参与此次容错的数据盘的预留重构空间。
所述数据盘采用RAID 1~6数据存储级别,所述子阵列按照如下方式构造:
(11)将数据盘均分为c组,第1到第c组数据盘m0、m1、...、mc-1的区块分别构成第1、2、...、c组区块分布矩阵,若数据盘不能均分为c组,则通过添加与数据盘相同区块划分的虚拟盘或减少数据盘满足均分要求,c大于2;
(12)初始化第一区块分布矩阵中的各区块编号,第i+1组分布矩阵的第j行元素由第i组矩阵的第j行元素循环右移或左移j-1位,i=1,...,c-1,j=1,...,n,n为数据盘被划分的区块数;
(13)选取各数据盘具有相同编号的区块构成一个子阵列。
所述数据盘采用RAID 10数据存储级别,数据盘数为不小于4的偶数,所述子阵列按照如下方式构造:
(21)将数据盘均分为两组,第一,二组数据盘m0、m1的区块分别构成第一、二组区块分布矩阵;
(22)对第一组区块分布矩阵的第x行各区块进行形如x.y形式的初始化编号,x=0,1,...,m/2-1,y=0,1,...,m/2-1,第二组区块分布矩阵的第x行各区块编号由第一组分布矩阵的第x行各区块编号循环右移或左移x位;
(23)从各数据盘中选取具有相同编号的区块构成一个子阵列。
本发明针对磁盘扇区错误问题,采用坏扇区重映射BSR(bad sectorremapping)的方法解决,即采用第一级容错模式。若坏扇区数量超出了设置的阈值则系统进入第二级模式,即数据迁移模式,通过采用数据拷贝操作实现数据的高可靠性。当前两级模式仍失效时,则系统将进入到并行重构模式,这一模式由于采用一种新颖的并行重构分布算法,使得该结构实现了完全意义上的并行重构,成倍地缩短了重构的时间。
本发明在块级设备上实现了基于该发明内容的原型系统,该系统是一个软RAID系统平台,与常用的Linux下的Multiple Device(MD)类似,但其功能更加强大,通过运用并行重构,磁盘扇区容错,数据迁移容错这三级策略使得采用RAID结构构成的存储系统性能相对于传统RAID系统的整体性能有了较大幅度的提高。
与现有容错技术相比,本发明主要有以下优势,采用三级容错结构,在有限资源的情况下可以有效保证数据的可用性和可靠性,三个级别的容错逐层递进,扇区级容错可以有效减少硬件资源浪费;通过磁盘扇区累加的失效判断当前磁盘状态并做出响应实施数据迁移操作,保证了磁盘数据的可用性;对于磁盘的失效,系统将采用并行重构方式快速恢复失效磁盘数据,以缩短重构时间的方式提高了系统的可靠性。本发明由于是在线重构,因此可以应用于大多数场合,具有良好的适应性,且采用传统RAID分布方式,便于部署。
附图说明
图1为传统RAID数据重构方式示意图;
图2为RAID 5并行重构结构;
图3为16个数据盘的并行重构分布
图4为10个数据盘并行分布问题
图5为10个数据盘并行分布解决方案
图6为RAID 10并行重构结构;
图7为多级容错结构图;
图8为阵列多级容错流程图;
图9为扇区级重构流程图;
图10为数据迁移流程图;
图11为并行重构过程流程图。
具体实施方式
下面将结合本发明的附图和相关实例,更清晰的说明多级容错的方法和结构,由于文中只是介绍常用RAID的容错方式用于说明和解释,对于基于本发明提出的其他实例,也同属于本发明保护的范围。
本发明所提出的阵列多级容错方法和结构,其核心就是通过分析磁盘失效的类型,应用不同的数据重构策略,这种多级容错结构是一种层层递进的关系,可以预防小到扇区大到整个磁盘的失效问题,且每一级的性能问题都做了优化,使其性能得到了充分的发挥,最大限度保障了数据的可靠性,从而达到增强存储系统健壮性的目的。
下面将详细介绍这种阵列多级容错方法和相应结构:
系统首先进行阵列的初始化工作:
(a)将各数据磁盘划分为阵列区、预留容错空间及预留重构空间三个部分。
阵列区主要用于构成子阵列。阵列区被划分为多个区块,单磁盘中的区块数可以根据实际需要进行确定,但其划分数目不大于构成子阵列的条带跨度。一个数据磁盘的每个区块分别与其它某些单磁盘的其中一个区块一起构成一个子阵列(subRAID)。图2给出了一个示例,图中每个数据磁盘的阵列区分为三个区块,子阵列的条带跨度为3,磁盘D0的区块0.0、D3的区块0.1、D6的区块0.2构成第一个子阵列,磁盘D1的区块1.0、D4的区块1.1、D7的区块1.2构成第二个子阵列,......,磁盘D2的区块8.0、D4的区块8.1、D6的区块8.2构成第三个子阵列。
预留容错空间用于存储失效扇区的数据,该空间是扇区级容错的目标区。
预留重构空间用于存储重构写入的数据,其仅在系统热备份磁盘不足的情况下起作用,若热备盘足够其将用作普通的数据盘加入到阵列中,在本发明中热备份磁盘至少需要一个。
(b)设定扇区容错阈值
扇区容错阈值用于判断磁盘健康状况,以实现低级别扇区容错或者更高一级的数据迁移容错,考虑到每个磁盘的性能差异,这一阈值的选择可以灵活设置,主要依据磁盘容量的百分比进行确定。
(c)构造并行重构阵列
单个数据盘的阵列区中的各区块分别与其它某些数据盘的一个区块一起组合形成一个子阵列,所有子阵列构成本发明所述的并行重构阵列。当其中一个数据盘失效,对该数据盘的每个区块同时进行数据重构,具体方式为:对该磁盘的某一区块,寻找与其构成同一子阵列的其它区块,依据其它区块的存储数据对失效区块的数据进行重构,并将重构结果保存到热备份盘。如果热备份盘数量不够(即小于单个数据磁盘的区块数),还可选择将重构结果存储到没有参与此次重构操作的数据磁盘的预留重构区。
一个子阵列涉及的数据盘数即子阵列的条带跨度根据所选RAID级别及总的数据盘数确定,尽量使参与一个区块数据重构的数据盘较多,但是参与重构的数据盘太多,又会造成系统性能下降,因此需要根据实际情况和需求适当调整选择。并行重构的核心思想是以区块为单位组成子阵列,且阵列区块的区块表采用平移方法构造,本发明提出的构造方法适用于多种RAID级别,其中RAID 10适用于数据盘数为大于4的偶数情况,其他常用RAID级别如RAID 5对构造并行重构磁盘阵列要求较苛刻,若要满足系统最优则要求对数据盘的分块数必须为质数,所需数据盘需为分块数的平方;而对于RAID 10的并行重构分布则没有这样的要求,其并行倍数仅与组成该分布阵列磁盘数有关,为其一半。
当所述数据盘采用RAID 1~6数据存储级别时,c大于2,所述子阵列按照如下方式构造:
(1)将数据盘均分为c组,第1到第c组数据盘m0、m1、...、mc-1的区块分别构成第1、2、...、c组区块分布矩阵,若数据盘不能均分为c组,则通过添加与数据盘相同区块划分的虚拟盘满足均分要求,c大于2;
(2)初始化第一区块分布矩阵中的各区块编号,第i+1组分布矩阵的第j行元素由第i组矩阵的第j行元素循环右移或左移j-1位,i=1,...,c-1,j=1,...,n,n为数据盘被划分的区块数;
(3)选取各数据盘具有相同编号的区块构成一个子阵列。
图2为RAID 5的示例,每个盘有3个区块构成,每个subRAID有三个区块组成,按RAID 5方式分布,例如0.1,0.2和0.3三个区块组成的一个subRAID;D0-D89个磁盘共27个区块可以组成9个subRAID,D9-D11三个磁盘作为热备份盘;9个subRAID相当于9个逻辑磁盘,它们可以作为9个逻辑块单元直接对外服务,也可以重新组成其他分布方式,对外提供服务。
若要实现最优的并行重构性能,构成子阵列所需区块数n必须为质数,且由构成并行重构分布矩阵的过程可以得出需要的数据盘数为n2,例如,若系统中的数据盘为16个,由于所需数据盘数16介于32和52之间,在这种情况下,这16个数据盘的分布方式可以采用25个数据盘的分布方式,即添加9个虚拟盘帮助构建分布矩阵,最后只需要将25个磁盘的矩阵分布表的前16列作为16个数据盘的分布。具体见图3所示,25块磁盘被分成5组,通过对m0的初始化,并通过循环移位操作生成m1,m2,m3,m4矩阵分布表。由于目前只有16个磁盘,此时则采用前16列分布形式作为已有16个磁盘的分布形式。
一般地情况下若此时系统中数据盘数为m,若m∈(a2,b2],a,b为大于2的质数且a2和b2个磁盘的并行重构分布分别为Ma和Mb,则此时m个磁盘的分布形式采用b2个磁盘的分布Mb的前m列构成。但这种分布方式也不是适合每一种m的情况,比如m=10的情况,此时满足10∈(32,52],若仍取52个磁盘分布的前10列则不能构成子阵列,如图4所示,因为每一个子阵列都有要求的最低区块数,就如传统的RAID 5至少需要3块磁盘一样,为了解决m=10这一特殊情况,本发明给出了42个磁盘的并行重构分布形式,但为了实现无冲突的最优并行重构这里采取了减小磁盘划分区块数和子阵列区块数相结合的方法,即将42的分布方式第三行编号去除,此时每个磁盘被划分为三个区块,此时取这一分布的前10列构成m=10的分布形式,如图5所示,subRAID 0、subRAID 1、subRAID 6、subRAID 7、subRAID14和subRAID 15均由三个区块构成,而其他subRAID则不能构成标准RAID结构,因此这些区块编号构不成子整列,10块磁盘只构成了6个子阵列,空间利用率只占到了一半,这种构成方式不推荐,可以采用32的分布来解决这一问题,但仅鉴于m=10的情况如此。
当所述数据盘采用RAID 10数据存储级别,数据盘数m为不小于4的偶数,所述子阵列按照如下方式构造:
(1)将数据盘均分为两组,第一,二组数据盘m0、m1的区块分别构成第一、二组区块分布矩阵;
(2)对第一组区块分布矩阵的第x行各区块进行形如x.y形式的初始化编号,x=0,1,...,m/2-1,y=0,1,...,m/2-1,第二组区块分布矩阵的第x行各区块编号由第一组分布矩阵的第x行各区块编号循环右移或左移x位;
(3)从各数据盘中选取具有相同编号的区块构成一个子阵列。
对于RAID 10,以8个数据盘为例,条带跨度设定为4,为了实现最大的并行倍数,需要将数据盘区块数划分为总数据数的一半即4,同时将所有主盘逻辑上划分为一组,镜像盘划分为另一组,并对区块进行初始化标号。
主盘组的区块分布矩阵初始化为
Figure BDA0000023911630000101
其中该矩阵的每一列表示一数据盘所划分的区块,即划分为0.0、1.0、2.0和3.0四个区块,形如x.y形式中的x表示子阵列的编号,y表示构成x子阵列的区块编号,0.0表示构成子阵列0的第一个区块,可以理解为构成传统磁盘阵列的第一个磁盘,0.1、0.2、0.3类似。镜像组的区块分布矩阵表示根据主盘组中构成子阵列的区块号进行相应规则的循环平移操作得到,规则如下:
主盘组分布矩阵第一行所有元素循环左移或右移0次得到镜像组分布矩阵的第一行,这里采用循环左移或右移操作必须统一,以下平移操作相同。
主盘组分布矩阵第二行所有元素循环左移或右移1次得到镜像组分布矩阵的第二行,依次类推直到盘组分布矩阵最后一行平移完成停止。
若对实例中初始区块表矩阵M采用循环右移方式构成的镜像组分布方式为
Figure BDA0000023911630000111
这里形如x.y′表示为区块编号x.y的镜像,则8个数据盘构成的RAID 10并行重构阵列分布结构为
0.0 0.1 0.2 0.3 0.0 ′ 0.1 ′ 0.2 ′ 0.3 ′ 1.0 1.1 1.2 1.3 1.3 ′ 1.0 ′ 1.1 ′ 1.2 ′ 2.0 2.1 2.2 2.3 2.2 ′ 2.3 ′ 2.0 ′ 2.1 ′ 3.0 3.1 3.2 3.3 3.1 ′ 3.2 ′ 3.3 ′ 3.0 ′
该表可以实现4倍速的并行数据重构,该RAID 10结构由四个子阵列0~4构成,条带跨度为4,且对磁盘的重构访问不存在冲突,这里磁盘的分区块数也可以划分为小于4,此时的区块表只需要在4倍速的区块表基础上选择其中的相应行重新构成新的区块分布表即可,但此时的并行重构速度将降低。
图6给出了由12个磁盘组成的RAID 10并行重构阵列结构示意图,D0-D7表示数据盘编号,S0-S3表示热备份盘的编号。数据盘的阵列区分为4个区块,子阵列的条带跨度为8。4个subRAID构成一个阵列,subRAID 0由0.1,0.2,0.3,0.4以及0.1’,0.2’,0.3’,0.4’八个区块构成,subRAID 1,2,3采用类似的构成方式。
对阵列的初始化本发明列举了RAID 10和RAID 5,对于其他常用RAID也可以应用,完成阵列初始化后,系统可以相应常规前台请求。
图7为多级容错结构图,图8给出了本发明方法流程图,具体步骤如下:
(1)构造并行重构子阵列;
(2)若数据读写错误,首先确定出错的磁盘,再判定错误类型,若错误类型为扇区失效,则进入步骤(3),若错误类型为磁盘失效,则进入步骤(7);
(3)对出错的磁盘实施扇区级容错
本发明为每个磁盘预留容错空间,用来修复磁盘扇区故障时使用。当磁盘出现坏扇区时,记录坏扇区数,并从预留容错空间中分配部分扇区作为保留扇区替换坏扇区,并在地址映射表保存替换映射信息,使得后续磁盘访问坏扇区时,操作会被重定向到保留扇区中,这个过程称之为坏扇区重定向。具体操作过程为:确定出错磁盘的坏扇区所属区块,寻找与该区块构成同一子阵列的其它区块,依据找到的其它区块中与坏扇区对应的扇区数据进行数据重构,将重构结果保存到出错磁盘的预留容错空间,并记录出错磁盘的当前失效坏扇区数;
数据重构的具体方式为:通过RAID的结构将与坏扇区相关联数据读入到内存中,然后经过异或得出损坏扇区数据,然后将重构数据写入到该磁盘的预留容错空间,同时修改地址映射表。
下面以5个磁盘构成的RAID 5结构举例说明,如图9所示,数据磁盘D0~D4都被分成三个区域,阵列区、预留容错区和预留重构区。图中所示的RAID条带中磁盘D0的条带单元出现不可修复扇区失效,此时系统将通过RAID的容错计算出丢失数据并在磁盘的预留容错区开辟同样的区域存储重构的扇区数据。同理若磁盘D1~D4中扇区出现损坏将采用同样策略处理。
(4)若失效的坏扇区数总容量超过了扇区容错阈值,表示步骤(3)出现容错错误,说明磁盘可靠性降低,需要将该磁盘存储数据迁移或者重构。数据迁移或重构前需要再次判断错误类型,如果错误类型为磁盘失效,则进行数据重构,进入步骤(7),若为扇区错误,系统将启动数据迁移容错策略,进入步骤(5)。
(5)将出错磁盘的数据迁移到热备份盘。
具体过程参照图10举例说明,该实例是由5个磁盘构成的RAID5结构,由于此时磁盘D0的出错扇区容量超出预留容量空间大小,系统此时将结合根据磁盘本身的S.M.A.R.T提供的信息判定磁盘本身的健康状况,并选择在系统负载空闲的时候进行磁盘数据迁移操作,步骤如下:
系统根据失效扇区记录表和阵列映射表选择空闲磁盘作为数据迁移目标盘,这一操作将取决于系统的负载状况,当系统负载空闲时进行这一数据拷贝操作。图中D0~D4是构成阵列的数据盘,D5是数据迁移的目标盘,迁移的源数据包括阵列存储区的数据、预留容错区已保存的修复数据及待修复的扇区数据,其中待修复扇区数据将通过扇区级容错进行,通过对三部分数据的拷贝操作将其迁移到磁盘D5的阵列区,同时修改阵列的映射表信息。如果在这一过程中有针对原迁移盘的请求将挂起迁移进程用来响应前台用户请求,即迁移进程优先级始终低于用户响应优先级。
(6)若数据迁移成功,容错结束,否则,进入步骤(7)。
(7)第三级容错策略-并行重构。
当磁盘错误或数据迁移失败时,系统将进行第三级容错策略-并行重构策略,此时系统将根据系统初始化过程中设定的阵列的条带跨度大小启动对应的进程数,进行对失效磁盘的并行重构操作。
如图11所示,若图中D4盘失效,9个子阵列将进入重构模式,重构D4磁盘的1.2区块时将读取D1中的1.1区域块和D7中的1.3区域块,然后进行XOR运算(图中X表示异或操作,X.1与X.3表示第1个和第3个区域块进行异或操作),将结果写入到热备盘S0中的合适位置即第一个区块;同理分别重构区域块3.1和8.1到S1和S2盘中,从这一过程我们可以很清晰的看出除了D4外,D0-D2和D6-D8只负责读操作且都是连续的区域块,S0-S2是用来只做写操作的磁盘且不存在写瓶颈问题,因此这一重构过程三个重构进程可以进行并行的重构操作。

Claims (3)

1.一种磁盘阵列多级容错方法,涉及数据盘和热备份盘,将数据盘划分为阵列区、预留容错空间及预留重构空间,该方法具体为:
(1)构造并行重构子阵列:将各数据盘划分为区块,利用区块构建子阵列,使得任何一个数据盘的各区块分属于不同的子阵列且只属于一个子阵列;
(2)若数据读写错误,确定出错的磁盘,并判定错误类型,若错误类型为扇区失效,则进入步骤(3),若错误类型为磁盘失效,则进入步骤(7);
(3)确定出错磁盘的坏扇区所属区块,寻找与该区块构成同一子阵列的其它区块,依据找到的其它区块中与坏扇区对应位置的扇区数据进行数据重构,将重构结果保存到出错磁盘的预留容错空间,并记录出错磁盘的当前失效坏扇区数;
(4)若当前失效坏扇区数小于等于预定扇区容错阈值,结束,否则,表示步骤(3)出现扇区重构错误,进而判断扇区重构错误类型,如果该错误类型为磁盘失效,则进入步骤(7),若为扇区失效,则进入步骤(5);
(5)将出错磁盘的数据迁移到热备份盘;
(6)若步骤(5)数据迁移成功,结束,否则,进入步骤(7);
(7)对出错磁盘的各区块,同时分别寻找与其构成同一子阵列的其它区块,依据其它区块的存储数据对该失效区块的数据进行重构,并将重构结果保存到热备份盘或没有参与此次容错的数据盘的预留重构空间。
2.根据权利要求1所述的磁盘阵列多级容错方法,其特征在于,所述数据盘采用RAID 1~6数据存储级别,所述子阵列按照如下方式构造:
(11)将数据盘均分为c组,第1到第c组数据盘m0、m1、...、mc-1的区块分别构成第1、2、...、c组区块分布矩阵,若数据盘不能均分为c组,则通过添加与数据盘相同区块划分的虚拟盘或减少数据盘满足均分要求,c大于2;
(12)初始化第一区块分布矩阵中的各区块编号,第i+1组分布矩阵的第j行元素由第i组矩阵的第j行元素循环右移或左移j-1位,i=1,...,c-1,j=1,...,n,n为数据盘被划分的区块数;
(13)选取各数据盘具有相同编号的区块构成一个子阵列。
3.根据权利要求1所述的磁盘阵列多级容错方法,其特征在于,所述数据盘采用RAID 10数据存储级别,数据盘数为不小于4的偶数,所述子阵列按照如下方式构造:
(21)将数据盘均分为两组,第一,二组数据盘m0、m1的区块分别构成第一、二组区块分布矩阵;
(22)对第一组区块分布矩阵的第x行各区块进行形如x.y形式的初始化编号,x=0,1,...,m/2-1,y=0,1,...,m/2-1,第二组区块分布矩阵的第x行各区块编号由第一组分布矩阵的第x行各区块编号循环右移或左移x位;
(23)从各数据盘中选取具有相同编号的区块构成一个子阵列。
CN2010102412690A 2010-07-30 2010-07-30 一种磁盘阵列多级容错方法 Active CN101923501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102412690A CN101923501B (zh) 2010-07-30 2010-07-30 一种磁盘阵列多级容错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102412690A CN101923501B (zh) 2010-07-30 2010-07-30 一种磁盘阵列多级容错方法

Publications (2)

Publication Number Publication Date
CN101923501A true CN101923501A (zh) 2010-12-22
CN101923501B CN101923501B (zh) 2012-01-25

Family

ID=43338454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102412690A Active CN101923501B (zh) 2010-07-30 2010-07-30 一种磁盘阵列多级容错方法

Country Status (1)

Country Link
CN (1) CN101923501B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521058A (zh) * 2011-12-01 2012-06-27 北京威视数据系统有限公司 Raid组磁盘数据预迁移方法
CN102609223A (zh) * 2012-02-13 2012-07-25 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN102945141A (zh) * 2012-11-09 2013-02-27 华为技术有限公司 一种用于提升raid组存储性能的系统及其方法
CN103019893A (zh) * 2012-11-16 2013-04-03 华中科技大学 一种多盘容错的二维混合盘raid4系统架构及其读写方法
CN103064753A (zh) * 2012-10-25 2013-04-24 浪潮电子信息产业股份有限公司 磁盘阵列三级恢复系统设计方法
CN103218273A (zh) * 2012-01-20 2013-07-24 深圳市腾讯计算机系统有限公司 硬盘数据恢复方法、服务器及分布式存储系统
CN103699343A (zh) * 2013-12-25 2014-04-02 华为技术有限公司 独立磁盘冗余阵列的确定方法及装置
CN104424049A (zh) * 2013-09-02 2015-03-18 联想(北京)有限公司 一种数据处理方法及电子设备
CN106062721A (zh) * 2014-12-31 2016-10-26 华为技术有限公司 一种将数据写入存储系统的方法和存储系统
WO2017072603A1 (en) * 2015-10-30 2017-05-04 International Business Machines Corporation Autonomic parity exchange in data storage systems
US9762451B2 (en) 2013-04-25 2017-09-12 Hewlett Packard Enterprise Development Lp Network resource matching
CN109871186A (zh) * 2019-03-12 2019-06-11 北京计算机技术及应用研究所 面向可重组raid的多目标快速重构系统
CN109885263A (zh) * 2019-03-12 2019-06-14 北京计算机技术及应用研究所 面向可重组raid的多目标快速重构方法
CN114546272A (zh) * 2022-02-18 2022-05-27 山东云海国创云计算装备产业创新中心有限公司 快速通用的raid降级为raid5的方法、系统、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1519726A (zh) * 2003-01-24 2004-08-11 华为技术有限公司 一种磁盘在线重构方法
CN101196797A (zh) * 2007-12-07 2008-06-11 华中科技大学 一种存储系统数据分布及互转换方法
US7669107B2 (en) * 2004-11-19 2010-02-23 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1519726A (zh) * 2003-01-24 2004-08-11 华为技术有限公司 一种磁盘在线重构方法
US7669107B2 (en) * 2004-11-19 2010-02-23 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
CN101196797A (zh) * 2007-12-07 2008-06-11 华中科技大学 一种存储系统数据分布及互转换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《2010 Fifth International Conference on Networking,Architecture,and Storage》 20100717 Peng Wang et al A Fine-grained Data Reconstruction Algorithmfor Solid-state Disks 51-59 1-3 , 2 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521058A (zh) * 2011-12-01 2012-06-27 北京威视数据系统有限公司 Raid组磁盘数据预迁移方法
CN103218273A (zh) * 2012-01-20 2013-07-24 深圳市腾讯计算机系统有限公司 硬盘数据恢复方法、服务器及分布式存储系统
CN102609223B (zh) * 2012-02-13 2015-06-24 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN102609223A (zh) * 2012-02-13 2012-07-25 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN103064753A (zh) * 2012-10-25 2013-04-24 浪潮电子信息产业股份有限公司 磁盘阵列三级恢复系统设计方法
CN102945141B (zh) * 2012-11-09 2016-01-27 华为技术有限公司 一种用于提升raid组存储性能的系统及其方法
CN102945141A (zh) * 2012-11-09 2013-02-27 华为技术有限公司 一种用于提升raid组存储性能的系统及其方法
CN103019893A (zh) * 2012-11-16 2013-04-03 华中科技大学 一种多盘容错的二维混合盘raid4系统架构及其读写方法
US9762451B2 (en) 2013-04-25 2017-09-12 Hewlett Packard Enterprise Development Lp Network resource matching
US9825817B2 (en) 2013-04-25 2017-11-21 Hewlett Packard Enterprise Development Lp Network configuration auto-deployment
CN104424049A (zh) * 2013-09-02 2015-03-18 联想(北京)有限公司 一种数据处理方法及电子设备
CN104424049B (zh) * 2013-09-02 2018-06-01 联想(北京)有限公司 一种数据处理方法及电子设备
CN103699343A (zh) * 2013-12-25 2014-04-02 华为技术有限公司 独立磁盘冗余阵列的确定方法及装置
US9389790B2 (en) 2013-12-25 2016-07-12 Huawei Technologies Co., Ltd. Method and apparatus for determining redundant array of independent disks
CN106062721A (zh) * 2014-12-31 2016-10-26 华为技术有限公司 一种将数据写入存储系统的方法和存储系统
US9959079B2 (en) 2014-12-31 2018-05-01 Huawei Technologies Co., Ltd. Writing data into redundant array of independent disks (RAID) of storage system
WO2017072603A1 (en) * 2015-10-30 2017-05-04 International Business Machines Corporation Autonomic parity exchange in data storage systems
GB2559505A (en) * 2015-10-30 2018-08-08 Ibm Autonomic parity exchange in data storage systems
US10055278B2 (en) 2015-10-30 2018-08-21 International Business Machines Corporation Autonomic parity exchange in data storage systems
GB2559505B (en) * 2015-10-30 2020-08-19 Ibm Autonomic parity exchange in data storage systems
CN109871186A (zh) * 2019-03-12 2019-06-11 北京计算机技术及应用研究所 面向可重组raid的多目标快速重构系统
CN109885263A (zh) * 2019-03-12 2019-06-14 北京计算机技术及应用研究所 面向可重组raid的多目标快速重构方法
CN109885263B (zh) * 2019-03-12 2022-02-01 北京计算机技术及应用研究所 面向可重组raid的多目标快速重构方法
CN114546272A (zh) * 2022-02-18 2022-05-27 山东云海国创云计算装备产业创新中心有限公司 快速通用的raid降级为raid5的方法、系统、设备和存储介质
CN114546272B (zh) * 2022-02-18 2024-04-26 山东云海国创云计算装备产业创新中心有限公司 快速通用的raid降级为raid5的方法、系统、设备和存储介质

Also Published As

Publication number Publication date
CN101923501B (zh) 2012-01-25

Similar Documents

Publication Publication Date Title
CN101923501B (zh) 一种磁盘阵列多级容错方法
US8307159B2 (en) System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
CN101625627B (zh) 写入数据的方法、磁盘冗余阵列的控制器及磁盘冗余阵列
US20140304469A1 (en) Data storage
US20150286531A1 (en) Raid storage processing
CN103488432B (zh) 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
JP5722225B2 (ja) 性能改善のためのraidボリュームとドライブ・グループとの間の疎結合
CN103688248A (zh) 一种存储阵列的管理方法、装置和控制器
CN102346694A (zh) 一种在存储系统中计算奇偶校验的方法
CN101923496A (zh) 一种raid的数据并行重构方法
CN104035830A (zh) 一种数据恢复方法和装置
CN101609420A (zh) 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器
CN103699457A (zh) 基于条带化的磁盘阵列修复方法及装置
CN102177496A (zh) 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法
CN103336727B (zh) 对nand闪存存储设备进行数据操作的方法
US20200125447A1 (en) Memory reallocation during raid rebuild
CN103034458A (zh) 固态硬盘中实现独立磁盘冗余阵列的方法及装置
CN104778018A (zh) 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法
CN107665096A (zh) 加权数据分条
CN104375784A (zh) 一种降低虚拟磁盘管理复杂度的方法和装置
US10409682B1 (en) Distributed RAID system
CN102968361A (zh) 一种raid数据自修复的方法
CN103870352A (zh) 数据存储与重建的方法与系统
CN102135862B (zh) 一种磁盘存储系统及其数据访问方法
CN105988727A (zh) 一种基于raid的存储方法和存储装置

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