CN102129354A - 一种基于2d-raid阵列的自适应重组方法 - Google Patents

一种基于2d-raid阵列的自适应重组方法 Download PDF

Info

Publication number
CN102129354A
CN102129354A CN 201010592974 CN201010592974A CN102129354A CN 102129354 A CN102129354 A CN 102129354A CN 201010592974 CN201010592974 CN 201010592974 CN 201010592974 A CN201010592974 A CN 201010592974A CN 102129354 A CN102129354 A CN 102129354A
Authority
CN
China
Prior art keywords
array
disk
data
redundant
dish
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.)
Pending
Application number
CN 201010592974
Other languages
English (en)
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN 201010592974 priority Critical patent/CN102129354A/zh
Publication of CN102129354A publication Critical patent/CN102129354A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种基于2D-RAID阵列的自适应重组方法,该重组方法提出了一个利用2D-RAID阵列可靠性的数据存储与恢复策略。该策略在阵列发生磁盘失效的情况下对剩余有效磁盘的排布进行重新排列,以降低额外磁盘失效带来的潜在影响,有效提高阵列中的剩余有效磁盘的可靠性级别。此外,本发明给出了上述策略在3×3的2D-RAID阵列中的使用方法,以及2D阵列向1D阵列的转化方法。通过可靠性分析,可以看出本发明能够将阵列的平均数据丢失时间提高2到3个数量级,本发明能大幅提高处于恶劣环境下的磁盘阵列的数据可靠性。本发明方法的主要流程如附图所示。

Description

一种基于2D-RAID阵列的自适应重组方法
技术领域
本发明涉及一种基于2D-RAID阵列的自适应策略。
背景技术
数据存储是计算机系统的主要组成部分,为系统的计算提供并保存数据。因此,如何防止数据的丢失成为了研究的热门问题,在过去的几十年里,已有了大量学者对数据存储的可靠性进行了细致的研究,提出了多种防止数据丢失的方法。
其中,提高数据的可靠性的最好办法就是通过冗余的使用。两种最为著名的方式就是镜像和<m,n>码。镜像的方式使得为存储的数据提供一份或多份的复制(副本),当存储的数据丢失时,可以立即使用数据的副本进行恢复或替换;<m,n>码将数据存储在n个不同的磁盘中,并提供足够的冗余信息以使当有n-m个磁盘失效时仍然可以访问到数据,不会造成数据的丢失。目前最广泛被使用的<m,n>码是RAID的使用:RAID5采用的是<n-1,n>码;RAID6采用的是<n-2,n>码。
RAID阵列尽管可以通过冗余的方式来防止数据丢失,但是考虑如下情况:阵列中有一个磁盘失效,尽管不会造成数据丢失,但是会将剩余的磁盘置于一种低级保护(甚至没有保护)的情况。这无疑提高了数据丢失的风险。
本发明试图提出一个自适应的策略,该策略可以根据失效的磁盘数来对数据的存储进行重组,最大程度上避免数据丢失情况的发生。因此,通过重组的方式,使得在不额外增加冗余的前提下提高数据的可靠性。如上文提到的RAID阵列,在有磁盘失效的情况下,对阵列进行重组,使得剩余的磁盘得到最大程度上的保护。这种重组的过程会持续进行,直到失效磁盘被替换,阵列将恢复到原始状态。
此外,本发明提出的策略在阵列处于恶劣环境下,无法便利的进行失效磁盘的更换的情况下具有极大的优势,能够提供最大的数据保护;在正常使用或商用中也能提供较好的容错性和安全性。
最早在RAID阵列中提出<m,n>码的是<n-1,n>码【参考文献Peter M.Chen,Edward K.Lee,Garth A.Gibson,Randy H.Katz,David A.Patterson.RAID:high-performance,reliable secondary storage.ACM Computing Surveys 26(2):145-185,1994】,【参考文献Walter A.Burkhard,Jai Menon.Disk array storage system reliability.In Proc.23th Int.Symp.on Fault-Tolerant Computing,pp.432-441,1993.】第一次提出了<n-2,n>码的RAID6来提供双磁盘失效的数据保护。文献[]都是对双容错的RAID6进行的各种实现和改进。
对自适应策略的研究到目前为止还很少。HP-AutoRAID【参考文献J.Wilkes,R.Golding,C.Stealin and T.sullivan.The HP AutoRaid hierarchical storage system.ACM Trans.On Computer Systems 14(1):1-29,1996】实现了在RAID5和一个镜像存储中自动进行数据块的迁移和管理的方式,并以此作为模式的改变。但是其主要目的是在不影响系统性能的前提下,最大节省磁盘空间。因此,它主要是对数据的访问模式进行更改而不是针对磁盘失效进行设计。
Paris在【参考文献Jehan-Francois Paris,Thomas J.E.Schwarz,Darrell D.E.Long.Self-Adaptive Disk Arrays.In Proc.8th Int.Symp.On Stabilization,Safety,and Security of Distributed Systems,pp.469-483,2006】中提出了一个通过镜像磁盘对阵列进行重组来应对磁盘失效的方法。在所有磁盘均有效的情况下,所有的数据都保存在两个磁盘中,一旦有磁盘失效便采用<n-1,n>码,并以此来使所有的数据都处于保护中;此后,Paris在文献【参考文献Jehan-Francois Paris,Thomas J.E.Schwarz,Darrell D.E.Long.Self-Adaptive Two-Dimensional RAID Arrays.Performance,Computing,and Communications Conference,2007,pp.246-253,2007】中提出了一个基于2D-RAID的自适应策略,在阵列中有磁盘失效时,依据特定的原则进行磁盘的重组,以达到为所有磁盘提供保护的目的。本发明的策略正是基于该策略进行修改和扩充。
本发明的方法主要基于Paris【参考文献Jehan-Francois Paris,Thomas J.E.Schwarz,Darrell D.E.Long.Self-Adaptive Two-Dimensional RAID Arrays.Performance,Computing,and Communications Conference,2007,pp.246-253,2007】中的自适应策略的思想,并在多个方面进行了改进以提高阵列的可靠性。
发明内容
本发明要解决的技术问题是:克服了现有技术的不足,提供一种基于2D-RAID阵列的自适应重组方法,以提高存储系统的可靠性。
本发明采用的技术方案为:基于2D-RAID存储阵列,其特点在于采用如图2所示的2D-RAID系统,以3×3阵列为例,9个数据磁盘组织成一个阵列,3个行冗余磁盘,3个列冗余磁盘,在原有的2D-RAID系统的基础上增加一个全冗余磁盘。本方法具体通过以下步骤实现重新组织,如图1所示:
(1)初始化2D-RAID阵列,标记数据磁盘和冗余磁盘。
(2)对磁盘阵列进行正常读写,读写过程中对磁盘阵列进行错误检测。检测磁盘阵列中是否有磁盘发生失效。
(3)若有磁盘磁盘失效,启动磁盘重组过程。
(4)判断失效磁盘数是否达到2D重组的阈值,若没有达到阈值,采用2D重组策略进行阵列重组,使其符合两个原则:1.每个数据盘分属两个不同的冗余盘;2.任何两个不同冗余盘最多只包含一个相同的数据盘。;若达到阈值,采用1D重组策略进行阵列重组,转化为1D-RAID。
(5)进行修复检测,若有磁盘替换,启动修复程序对阵列进行修复。
本发明与现有技术相比的有益效果是:本发明以降低一定的存储空间利用率为代价,将整个阵列的可靠性提高了2到3个数量级。
本发明采用优化的自组织方法,针对恶劣条件下阵列的应用,给出了可靠性较高的解决方案,为数据的可靠性保障提供了有力支撑。
附图说明
图1为基于2D-RAID重组织方法流程图示;
图2为由9个数据盘和7个冗余盘组成的2D-RAID阵列示意图;
图3为同样的阵列4个磁盘失效时会发生数据丢失的情况;
图4a、图4b、为文献使用的策略;
图5a、图5b、图5c为本发明采用的2D重组策略;
图6为达到临界条件后的阵列示意图;
图7a为转为RAID5的1D阵列,图7b为转为RAID6的1D阵列;
图8为2D重组策略的马尔可夫过程模型;
图9为是否加上全冗余磁盘数据对比图;
图10为修改后的重组策略数据对比图;
图11为是否使用重组策略数据对比图;
图12为组织成RAID6马尔可夫过程模型;
图13为组织成RAID5马尔可夫过程模型;
图14为RAID6和RAID5对比图;
图15为阵列由重组后的2D阵列后的马尔可夫过程模型;
图16为采用1D重组阵列之后的数据对比图;
图17为采用完整阵列的马尔可夫过程模型;
图18为采用完整重组策略与只采用2D重组策略的数据对比图;
图19为修改条件后的完整重组策略与只采用2D重组策略的对比。
具体实施方式
下面结合附图及具体实施方式对本发明进一步详细说明。
(1)2D-RAID阵列初始化。
以图2所示为例,阵列由9个数据盘和7个冗余盘组成。7个冗余盘中,P1到P3分别是2D阵列中每一行的异或操作结果,即行冗余;Q1到Q3分别是2D阵列中每一列的异或操作结果,即列冗余;PQ盘是所有9个冗余盘的异或结果,或者通过将3个行冗余异或或3个列冗余异或的结果,称为全冗余盘。为了与全冗余盘区分,将行冗余和列冗余统称为普通冗余盘。可以很容易看出,如此组织的阵列,可以实现完全的3容错,即阵列中任意3个磁盘的损坏都不会造成数据丢失。对于4个磁盘发生失效时,只有出现如图3所示的情况,即当数据盘、该数据盘所属的行冗余以及列冗余和全冗余盘均失效时,才会造成数据丢失。以9个数据盘7个冗余盘为例,一共可能有种情况会导致数据丢失,而16个磁盘发生4个磁盘失效一共有
Figure BSA00000389254200042
种情况,那么按照图2的方式进行阵列的组织,在发生4个磁盘失效的情况下,有
Figure BSA00000389254200043
的概率不会造成数据丢失。
(2)进行错误检测过程。
错误检测分为两种,第一种是对磁盘阵列进行正常读写,读写过程中对磁盘阵列进行错误检测。第二种是定期对磁盘阵列进行检测,检测磁盘阵列中是否有磁盘发生失效。
(3)启动磁盘重组过程。
若检测到有磁盘失效,自动进行磁盘重组过程。
(4)根据失效磁盘数选择相应的重组类型。
判断失效磁盘数是否达到2D重组的阈值,若没有达到阈值,采用2D重组策略进行阵列重组,使其符合两个原则:1.每个数据盘分属两个不同的冗余盘;2.任何两个不同冗余盘最多只包含一个相同的数据盘。;若达到阈值,采用1D重组策略进行阵列重组,转化为1D-RAID。
若采用的2D重组策略:
文献采用的阵列的组织形式如图4a,该组织方式可以达到绝大多数的3容错情况,只有当数据盘与其所属的行冗余和列冗余均失效时会造成数据丢失。文献通过保证一下两点来提高阵列的可靠性:1.每个数据盘分属两个不同的冗余盘;2.任何两个不同冗余盘最多只包含一个相同的数据盘。因此,当有一个磁盘失效时(假设是冗余盘),阵列将转化为如图4b所示的情况;若失效的是数据盘,将使用该数据盘所在的一个冗余盘替换该数据盘,将失效的数据盘内容恢复到该冗余盘,然后再转换成图4b的形式。
本发明所采用的2D重组策略是基于文献策略的改进,即在组织方式上增加了一个全冗余磁盘,并且在重组的策略中做了一点改动。
若失效的盘是P1到P3或者Q1到Q3等行冗余或列冗余,那么则直接采用文献中的方法进行重组,如图5a所示;若失效的盘是PQ,即全冗余盘,则将选择一个行冗余或者列冗余作为全冗余盘,并将全冗余的内容恢复至该盘,然后按照文献方法进行重组,如图5b所示;若失效的盘是数据盘,则先将数据盘恢复至其所在的任意一个冗余盘上,然后按照失效盘是冗余盘进行重组,如图5c所示。
简单的说,当阵列中有一个磁盘失效时,最终都将转化为图5a的形式,即保证9个数据盘和全冗余磁盘均处于有效状态。此时的阵列符合上述的两点,即每个数据盘分属两个不同的普通冗余盘;任何两个不同的普通冗余盘最多只包含一个相同的数据盘,那么此时的阵列仍然保证100%的3容错,并且只有当数据盘、该数据盘所属的两个普通冗余盘和全冗余盘均失效时,才会造成数据丢失,即99.5%的4容错。需要注意的是,只要符合上述的两点,当再有磁盘失效时,可以依据此原则一直进行重组,直到磁盘的数目无法符合上述原则。假设一个由n2个数据盘和2n-1个冗余盘组成的阵列中的剩余普通冗余盘个数为m,那么符合上述要求的临界条件为
Figure BSA00000389254200051
就是说,在达到临界条件之前,阵列可以一直进行重组,并且保证100%的3容错,99.5%的4容错。
当阵列达到临界条件后,以上文阵列为例,即当阵列中有第二个磁盘失效时,根据失效的磁盘有不同的操作方法:若失效磁盘时全冗余磁盘,则不做任何操作;若失效的磁盘是普通冗余盘或者数据盘,则将失效磁盘的数据恢复到全冗余磁盘上。此时,阵列中已经没有全冗余磁盘了。阵列由于符合上述两点原则,仍能保证100%的2容错。
若采用1D重组策略:
当阵列达到临界条件后,将转化全冗余磁盘为普通冗余磁盘或数据盘。若此时再有磁盘失效,则无法保证阵列的2容错。如图6所示,在达到临界点(即Q2和PQ失效)后,阵列中P1失效。那么此时,若D13和Q3失效时就会造成D13的数据丢失。
因此,为了提高可靠性,阵列处于图5的状态下再次失效一个磁盘,将开始一个1D转化策略,即将阵列转化为1D-RAID,即转化为RAID5或RAID6。如图7所示,需要注意的是,此时磁盘中已经有4个失效磁盘。其中,图7a将阵列转化为三个RAID5阵列;图7b将阵列转化为一个RAID6阵列,与通常的RAID6阵列不同,本发明采用的RAID6阵列的异或冗余盘(即通常意义的P盘)没有实际的物理磁盘,而是由P1和P2共同组成的一个逻辑磁盘,其中出于对磁盘负载的考虑,P1的内容由D11、D12、D13、D21和D22异或得到,P2的内容由D31、D32、D33和D23异或得到。而P1和P2异或的结果为传统RAID6中的异或磁盘P。阵列依据上文所述从2D组织方式转化为1D组织。由后文中可靠性分析中可以看出,采用RAID6的组织方式阵列有较好的容错性。
由于本发明策略不考虑降级模式下的情况,那么当失效磁盘数达到6个时,即冗余盘只剩下一个时,阵列将转化为一个RAID5模式。
(5)进行修复检测,若有磁盘替换,启动修复程序对阵列进行修复。
修复程序主要将丢失数据恢复到替换的磁盘上,将磁盘重新加到阵列中。
本发明所涉及的重组策略的可靠性分析如下:
一个系统的可靠性被定义成一个初始可操作的独立系统在已给时间t内的成活概率,t为任何目标的生命期。记系统的寿命为X,是一个非负的随机变量,相应的分布函数为F(t)={X<t|X>0},则系统的平均寿命为:
EX = &Integral; 0 &infin; tdF ( t ) = &Integral; 0 &infin; tf ( t ) dt
其中f(t)是X的相应的密度函数。本发明中的“成活”意味着所有的用户数据都是可用的或者是可恢复的,因此在时刻t的可靠性是系统在时刻t没有任何数据丢失的系统比例。因此用某一时刻数据无丢失的概率来衡量可靠性,用平均直到数据丢失时间(MTTDL)来表示系统的平均寿命。
为了方便可靠性分析,对系统进行一系列假定,系统模型由一系列一个磁盘阵列组成,磁盘阵列中的每个磁盘的失效模式相互独立。假定磁盘失效率是一个服从指数分布的参数为λ的随机变量X,磁盘修复率是一个服从指数分布的参数为μ的随机变量Y。那么
EX = 1 &lambda; = MTTF
EY = 1 &mu; = MTTR
其中,MTTF是磁盘的平均直到失败时间,MTTR是磁盘的平均失败修复时间。另外,假定κ为2D阵列重组织的重组率,κ’为2D阵列转为1D阵列的重组率。
下面评估本发明所使用的自组织策略,为了简便对比,针对几种情况分别建立对应的马尔可夫模型。另外,需要注意的一点是,本发明所说的磁盘修复时间实际是指磁盘的替换时间,忽略通过恢复算法恢复数据的时间。
2D重组策略
文献在建立马尔可夫模型时进行了简化,为了方便进行对比,采用相同的方式进行简化,可以达到100%的3容错。因此,在对2D重组策略进行分析时,做出如下简化:只要磁盘修复率μ远高于磁盘失效率λ,那么在大部分的时间里每一个独立的磁盘都是可操作的,因此阵列有5个或5个以上的失效磁盘的概率很小,可以忽略不计。因此,可以假定当前文所述的临界组态发生失效或者至少5个磁盘失效时,磁盘阵列将发生数据丢失。换句话说,就是在进行2D重组策略的分析时,尽管存在阵列中有5个磁盘以上失效而不造成数据丢失的可能性(如失效的磁盘全部是冗余盘),但是忽略这些情况。
图8表示由9个数据盘和7个冗余盘组成的2D磁盘阵列简化后的马尔可夫状态转换过程。状态0表示阵列的正常状态,即阵列中的16个磁盘都处于可操作的状态。当其中任意一个磁盘失效将导致阵列进入状态1,而阵列中发生任意一个磁盘失效的概率是
Figure BSA00000389254200071
即16λ;阵列处于状态1时再次发生一个磁盘失效时,阵列转为状态2,概率为
Figure BSA00000389254200072
即15λ;以此类推,当阵列处于状态3时,此时阵列中已经失效了三个盘,再次发生一次磁盘失效的概率为14λ,16个磁盘中发生4个磁盘失效一共有种可能,但是按照前文的分析,其中只有36种可能会造成数据丢失,因此阵列失效的概率是36×13λ/1820;按照上文的假定,当磁盘中已经有4个磁盘失效时,再有磁盘失效将导致数据丢失,因此状态4再失效一个磁盘将转为数据丢失状态。
磁盘修复转换将阵列状态从4经过状态3,2,1,最后转为状态0,每一步修复的概率等于
当磁盘处于状态1时,将会开始一个磁盘重组过程,即采用前文所述的2D重组策略,使得阵列转化为状态1’,假设这个重组过程服从参数为κ的指数分布,与上面的讨论同理,阵列在状态1’时再次失效一个磁盘导致阵列转化为状态2’,以此类推,当磁盘到达状态4’时,如果有某个数据盘和其所属的行列冗余磁盘同时失效将导致数据丢失。在状态4’中,磁盘有三个失效一共有
Figure BSA00000389254200075
种可能,发生上述磁盘失效的概率为9×12λ/455。
由Kolmogorov向后方程,可以得到描述阵列的马尔可夫过程的一组微分方程组如下:
dp 0 ( t ) dt = - 16 &lambda;p 0 ( t ) + &mu;p 1 ( t ) + &mu;p 1 &prime; ( t )
dp 1 ( t ) dt = - ( 15 &lambda; + &mu; + &kappa; ) p 1 ( t ) + 16 &lambda; p 0 ( t ) + 2 &mu;p 2 ( t )
dp 1 &prime; ( t ) dt = - ( 15 &lambda; + &mu; ) p 1 &prime; ( t ) + &kappa; p 1 ( t ) + 2 &mu;p 2 &prime; ( t )
dp 2 ( t ) dt = - ( 14 &lambda; + 2 &mu; ) p 2 ( t ) + 15 &lambda; p 1 ( t ) + 3 &mu; p 3 ( t )
dp 2 &prime; ( t ) dt = - ( 14 &lambda; + 2 &mu; ) p 2 &prime; ( t ) + 15 &lambda; p 1 &prime; ( t ) + 3 &mu;p 3 &prime; ( t )
dp 3 ( t ) dt = - ( 13 &lambda; + 3 &mu; ) p 3 ( t ) + 14 &lambda; p 2 ( t ) + 4 &mu;p 4 ( t )
dp 3 &prime; ( t ) dt = - ( 13 &lambda; + 3 &mu; ) p 3 &prime; ( t ) + 14 &lambda; p 2 &prime; ( t ) + 4 &mu; p 4 &prime; ( t )
dp 4 ( t ) dt = - ( 12 &lambda; + 4 &mu; ) p 4 ( t ) + 23192 1820 &lambda; p 3 ( t )
dp 4 &prime; ( t ) dt = - ( 12 &lambda; + 4 &mu; ) p 4 &prime; ( t ) + 13 &lambda; p 3 &prime; ( t ) + 5 &mu;p 5 &prime; ( t )
dp 5 &prime; ( t ) dt = - ( 11 &lambda; + 5 &mu; ) p 5 &prime; ( t ) + 5352 455 &lambda; p 4 &prime; ( t )
其中,pi(t)为系统处于状态i的几率,初始条件pi(0)=1且当i≠0时pi(0)=0。对上面的微分方程组进行拉普拉斯变换,可得
sp 0 * ( s ) - 1 = - 16 &lambda;p 0 * ( s ) + &mu;p 1 * ( s ) + &mu;p 1 &prime; * ( s )
sp 1 * ( s ) = - ( 15 &lambda; + &mu; + &kappa; ) p 1 * ( s ) + 16 &lambda; p 0 * ( s ) + 2 &mu;p 2 * ( s )
sp 1 &prime; * ( s ) = - ( 15 &lambda; + &mu; ) p 1 &prime; * ( s ) + &kappa; p 1 * ( s ) + 2 &mu;p 2 &prime; * ( s )
sp 2 * ( s ) = - ( 14 &lambda; + 2 &mu; ) p 2 * ( s ) + 15 &lambda; p 1 * ( s ) + 3 &mu; p 3 * ( s )
sp 2 &prime; * ( s ) = - ( 14 &lambda; + 2 &mu; ) p 2 &prime; * ( s ) + 15 &lambda; p 1 &prime; * ( s ) + 3 &mu;p 3 &prime; * ( s )
sp 3 * ( s ) = - ( 13 &lambda; + 3 &mu; ) p 3 * ( s ) + 14 &lambda; p 2 * ( s ) + 4 &mu;p 4 * ( s )
sp 3 &prime; * ( s ) = - ( 13 &lambda; + 3 &mu; ) p 3 &prime; * ( s ) + 14 &lambda; p 2 &prime; * ( s ) + 4 &mu;p 4 &prime; * ( s )
sp 4 * ( s ) = - ( 12 &lambda; + 4 &mu; ) p 4 * ( s ) + 13192 1820 &lambda;p 3 * ( s )
sp 4 &prime; * ( s ) = - ( 12 &lambda; + 4 &mu; ) p 4 &prime; * ( s ) + 13 &lambda; p 3 &prime; * ( s ) + 5 &mu;p 5 &prime; * ( s )
sp 5 &prime; * ( s ) = - ( 11 &lambda; + 5 &mu; ) p 5 &prime; * ( s ) + 5352 455 &lambda;p 4 &prime; * ( s )
由上可知,阵列的平均数据丢失时间由下式可计算得出:
MTTDL = &Sigma; i p i * ( 0 ) ,
可以通过令s=0解上面的方程组来计算MTTDL。
图9、图10和图11为数据分析,磁盘阵列由9个数据盘、7个冗余盘(其中3个行冗余、3个列冗余和一个全冗余磁盘)组成;为了方便与文献策略的对比,采用与文献相同的参数:重组率取值为2个小时、修复时间取值为1/2天到7天、磁盘失效率λ为每100000小时失效一次(约为11年)。图中磁盘修复率以天为单位,MTTDL以年为单位。
图9表示在同样不使用重组策略的前提下,加上全冗余磁盘与不加全冗余磁盘MTTDL的对比。说明尽管牺牲了一个磁盘的空间利用率,即空间利用率由60%降到56.25%,但是MTTDL有很大的提高,在所选的参数情况下提高了2到4个数量级。
图10表示本发明基于文献的策略加上全冗余磁盘后的2D重组策略与文献策略进行的对比。通过图10可以看出在增加了一个全冗余后阵列的MTTDL有很大的提高,那么基于这样的阵列进行修改的2D重组策略与文献的重组策略相比也应该具有较大MTTDL,图11证明了这一点。
图11表示本发明采用的2D重组策略与不使用重组策略的对比。从图中可以明显看出,采用的2D策略随着磁盘修复时间的增加有着更好的容错效果。这是本策略的一个重要的优势:即在一些恶劣环境下,不能方便的进行磁盘的修复和更换时,仍能提供更好的容错效果。
1D重组策略
按照前文分析,在处于2容错临界点时,要进行2D阵列到1D阵列的转换。但是首先面临一个选择:要转成的1D阵列是转为若干个RAID5的小阵列还是转为一个RAID6阵列。下面先对这两种选择进行一个对比,为了简化计算过程,便于说明,以上文参数为准单独对组织成RAID6和RAID5两种情况进行对比。9个数据盘7个冗余盘的2D磁盘阵列2容错临界点是失效4个数据盘时,此时磁盘中剩余12个磁盘。
首先看组织成RAID6的情况:采用前文的组织方式,12个磁盘组成的RAID6阵列。图12是组织成RAID6后阵列的马尔可夫状态转换模型。由于RAID6可以进行2容错,那么阵列一直到失效两个磁盘都不会造成数据丢失。从状态0到状态1,阵列中发生任意一个磁盘失效的概率是即12λ;同理,状态1到状态2的转换磁盘失效的概率为11λ;在状态2转换为状态3时,阵列会发生数据丢失是当所属同样的一个P冗余盘的数据盘及其所属的P冗余盘和Q冗余盘中有3个盘发生失效时会造成冗余,按上文的组织方式,发生失效的可能性一共有
Figure BSA00000389254200101
中可能,而12个磁盘中发生3个磁盘失效的概率是
Figure BSA00000389254200102
即220种可能,则在状态2,在发生一个磁盘失效导致数据丢失的概率为55×10λ/220。
根据Kolmogorov向后方程,可以得到描述阵列的马尔可夫过程的一组微分方程组如下:
dp 0 ( t ) dt = - 12 &lambda;p 0 ( t ) + &mu;p 1 ( t )
dp 1 ( t ) dt = - ( 11 &lambda; + &mu; ) p 1 ( t ) + 12 &lambda;p 0 ( t ) + 2 &mu;p 2 ( t )
dp 2 ( t ) dt = - ( 10 &lambda; + 2 &mu; ) p 2 ( t ) + 11 &lambda; p 1 ( t ) + 3 &mu; p 3 ( t )
dp 3 ( t ) dt = - ( 9 &lambda; + 3 &mu; ) p 3 ( t ) + 1540 220 &lambda;p 2 ( t )
按照前文的计算方式,可以计算出在不同参数下的MTTDL值如图14所示。
组织成RAID5的形式,12个磁盘组织成3个RAID5阵列,每一个阵列的马尔可夫过程模型如图13所示。
对应的微分方程为:
dp 0 ( t ) dt = - 4 &lambda;p 0 ( t ) + &mu; p 1 ( t )
dp 1 ( t ) dt = - ( 3 &lambda; + &mu; ) p 1 ( t ) + 4 &lambda;p 0 ( t )
可以计算出一个RAID5阵列的MTTDL为:
MTTDL RAID 5 = &Sigma; i p i * ( 0 ) = 7 &lambda; + &mu; 12 &lambda; 2
由于整个阵列由3个RAID5阵列组成,所以整个阵列的MTTDL为:
Figure BSA000003892542001010
图14表示了两种1D策略的数据对比图,从图中可以看出,同等数目的磁盘情况下,组织成RAID6的容错性平均要比组织成多个RAID5高出2到3个数量级。因此1D阵列采用RAID6的形式阵列会有更大的容错性。
为了简化计算过程,便于说明,只对采用1D重组阵列的部分进行说明和对比:图15是在阵列进行2D重组后的马尔可夫过程模型,而暂时不考虑2D重组前的情况。仍然按照前文参数:同上文,阵列从状态1’到2’,2’到3’,3’到4’的概率分别是15λ、14λ和13λ。当阵列处于状态4’时,阵列已经失效4个磁盘,只有在第5个失效盘与前4个失效盘构成如下关系时会造成数据丢失:数据盘与其所属的两个冗余盘均失效,即有种可能,因此数据丢失的概率为
Figure BSA00000389254200112
磁盘处于状态5’时,具备如下条件会造成数据丢失:损失的为数据盘,并且该数据盘所属的两个冗余盘均已失效,由于在2D重组后,冗余盘只有5个冗余盘,到达状态5’后,有且仅有2个冗余盘,因此满足上述条件导致数据丢失的概率为
Figure BSA00000389254200113
磁盘处于状态6’时,失效的条件同上,为
Figure BSA00000389254200114
磁盘修复的过程与前文相同。
当磁盘处于4’状态时,将会开始一个磁盘重组过程,即采用前文所述的1D重组策略,将磁盘阵列转换为一个RAID6阵列。使得阵列转化为状态4”,假设这个重组过程服从参数为κ’的指数分布,与上面的讨论同理,阵列在状态4”时再次失效一个磁盘导致阵列转化为状态5”,以此类推,当磁盘到达状态6”时,按照之前对RAID6单独分析的结果,导致数据丢失的概率为55×10λ/220。
由图15可以得到Kolmogorov向后方程,由于方程个数较多,文中不列出,原理同上。求解可得在阵列转换为1D的RAID6阵列的MTTDL。
由图16很容易看出,随着磁盘修复时间的增加,将阵列转成RAID6的1D阵列要比不转成1D阵列要有更长的MTTDL,这同样印证了之前提到的本策略的优势:在一些恶劣环境下,不能方便的进行磁盘的修复和更换时,仍能提供较好的容错效果,为系统提供更加可靠的容错性。
3.本发明的完整重组策略
将之前提到的2D重组策略和1D重组策略组合起来,就是本发明所述的完整策略。图17是完整策略的马尔可夫过程模型。
根据图17可以列出对应的Kolmogorov向后方程并求解得出对应的MTTDL。但是在数据分析时,发现这样一个问题:在使用同样的上文参数的前提下,采用完整策略的阵列与只采用2D重组策略的阵列的MTTDL相差不多,在数据分析图中两者近似重合,如图18所示。
出现上述问题的原因是磁盘失效的概率远远小于磁盘修复的时间,在平时的商业使用中,磁盘替换较为便利,只采用2D重组策略完全满足日常使用的要求。但是在一些特定地区,如外太空使用时,磁盘的替换不很频繁,甚至出现数年无法更换的情况,而且受外太空辐射的影响,磁盘失效的概率与磁盘替换的概率之间的差距远远小于日常情况,如图19是在将磁盘修复时间改为1个月到3年,其他条件与前文一致的对比图。
从图19中可以看出,在缩小磁盘失效的概率与磁盘替换的概率差距后,采用完整重组策略的优势便能体现出来,在3年替换一次磁盘的情况下,采用完整重组策略的MTTDL比只采用2D重组策略提高了近200%。

Claims (3)

1.一种基于2D-RAID阵列的自适应策略,其特征在于步骤如下:
(1)将磁盘阵列组织成N*N的2D阵列形式,存储用户数据的磁盘称为数据盘,存储冗余校验信息数据的磁盘称为冗余盘,2D阵列中每一行或每一列的若干数据盘对应一个冗余盘,所述冗余盘中存放的数据依据对应行或列的若干数据盘中的数据进行异或运算得出;阵列中每一个数据盘分别对应一个行冗余盘和一个列冗余盘;
(2)在阵列中有磁盘发生失效时,对阵列中的未失效的磁盘依据未失效的磁盘中的数据盘分别对应两个冗余盘、两个冗余盘的数据计算最多只包含同一个的数据盘数据的原则进行重新排列,以提高整个阵列的可靠性;
(3)当阵列中的失效磁盘数达到某一阈值时,根据对阵列可靠性的需求将阵列从2D阵列转为1D阵列RAID6或者多个1D阵列RAID5。
2.根据权利要求1所述的基于2D-RAID阵列的自适应策略,其特征在于:所述的步骤(2)中,在阵列中有磁盘发生失效时,对阵列中的未失效的磁盘依据未失效的磁盘中的数据盘分别对应两个冗余盘、两个冗余盘的数据计算最多只包含同一个的数据盘数据的原则,其原则具体为:
(2.1)每个数据盘分别对应两个不同的冗余盘;
(2.2)任何两个不同的冗余盘,所存储的冗余信息数据的计算过程中最多只包含同一个数据盘的数据。
3.根据权利要求1所述的基于2D-RAID阵列的自适应策略,其特征在于:所述的步骤(2)中从2D阵列转为1D阵列RAID6,具体为下两种方式之一:
1)转化成多个1D-阵列RAID5;或者
2)转化成一个1D-阵列RAID6。
CN 201010592974 2010-12-08 2010-12-08 一种基于2d-raid阵列的自适应重组方法 Pending CN102129354A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010592974 CN102129354A (zh) 2010-12-08 2010-12-08 一种基于2d-raid阵列的自适应重组方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010592974 CN102129354A (zh) 2010-12-08 2010-12-08 一种基于2d-raid阵列的自适应重组方法

Publications (1)

Publication Number Publication Date
CN102129354A true CN102129354A (zh) 2011-07-20

Family

ID=44267449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010592974 Pending CN102129354A (zh) 2010-12-08 2010-12-08 一种基于2d-raid阵列的自适应重组方法

Country Status (1)

Country Link
CN (1) CN102129354A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508724A (zh) * 2011-10-25 2012-06-20 北京同有飞骥科技股份有限公司 一种基于软raid的磁盘坏块处理方法
CN109358980A (zh) * 2018-09-25 2019-02-19 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN111338559A (zh) * 2018-12-19 2020-06-26 深圳市茁壮网络股份有限公司 数据处理方法、用户模块、信息管理模块及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030237019A1 (en) * 2002-06-24 2003-12-25 Kleiman Steven R. Using file system information in RAID data reconstruction and migration
CN101339524A (zh) * 2008-05-22 2009-01-07 清华大学 大规模磁盘阵列存储系统的磁盘容错方法
CN101692227A (zh) * 2009-09-25 2010-04-07 中国人民解放军国防科学技术大学 大规模高可靠的归档存储系统构建方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030237019A1 (en) * 2002-06-24 2003-12-25 Kleiman Steven R. Using file system information in RAID data reconstruction and migration
CN101339524A (zh) * 2008-05-22 2009-01-07 清华大学 大规模磁盘阵列存储系统的磁盘容错方法
CN101692227A (zh) * 2009-09-25 2010-04-07 中国人民解放军国防科学技术大学 大规模高可靠的归档存储系统构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《performance computing and communications conference 2007》 20070413 Jehan-Fracois Paris等 self-adaptive two-dimensional raid arrays , 2 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508724A (zh) * 2011-10-25 2012-06-20 北京同有飞骥科技股份有限公司 一种基于软raid的磁盘坏块处理方法
CN102508724B (zh) * 2011-10-25 2013-12-18 北京同有飞骥科技股份有限公司 一种基于软raid的磁盘坏块处理方法
CN109358980A (zh) * 2018-09-25 2019-02-19 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN109358980B (zh) * 2018-09-25 2022-03-01 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN111338559A (zh) * 2018-12-19 2020-06-26 深圳市茁壮网络股份有限公司 数据处理方法、用户模块、信息管理模块及系统
CN111338559B (zh) * 2018-12-19 2023-11-10 深圳市茁壮网络股份有限公司 数据处理方法、用户模块、信息管理模块及系统

Similar Documents

Publication Publication Date Title
CN101387975B (zh) 一种磁盘阵列系统
CA2532766C (en) Data storage array
Xiang et al. Optimal recovery of single disk failure in RDP code storage systems
CN100570573C (zh) 大规模磁盘阵列存储系统的磁盘容错方法
CN104503706B (zh) 一种基于磁盘阵列的数据存储及读取方法
JP4516846B2 (ja) ディスク・アレイ・システム
CN101916173B (zh) 一种基于raid的数据读写方法及其系统
CN101923501B (zh) 一种磁盘阵列多级容错方法
US8489916B2 (en) Multi-disk fault-tolerant system, method for generating a check block, and method for recovering a data block
CN101984400B (zh) 一种raid控制方法、装置及系统
CN101546249A (zh) 磁盘阵列在线容量扩展方法
US10521304B1 (en) Multidimensional RAID
Goel et al. RAID triple parity
CN103593260B (zh) 一种元数据的保护方法和装置
Pâris et al. Highly reliable two-dimensional RAID arrays for archival storage
CN102012792A (zh) 一种快速重构的raid-6编码及重构方法
US6848022B2 (en) Disk array fault tolerant method and system using two-dimensional parity
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
CN100461119C (zh) 阵列存储系统中的冗余
CN105808170A (zh) 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法
CN103678025B (zh) 一种磁盘阵列中的磁盘故障处理方法
CN104516679B (zh) 一种raid数据处理方法及装置
US20050086575A1 (en) Generalized parity stripe data storage array
CN101901115B (zh) 一种磁盘阵列raid6级别的构建方法
CN102129354A (zh) 一种基于2d-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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110720