挑战容错度
RAID技术既可保障数据的安全,也可以提供更有效的数据存储和硬盘容量利用率。在多张盘上存取数据,I/O操作可以用一个平衡交迭的方式来提高性能。用多个硬盘驱动器可延长平均无故障时间(MTBF),当可以冗余存储数据时,能增加整个系统的容错性能。为满足利用率,性能和数据保护等要求,有几种不同的RAID方式,包括RAID0,RAID1,RAID5和一些复合方式,如RAID10,RAID50等可供选择。RAID0可以提供最高的效能,但是没有容错功能。RAID1可以在两个硬盘上进行镜像存储数据,但是两个硬盘上存储的资料都是一样的。RAID5不是把校验码存在一个硬盘上。所以当一个硬盘的数据丢失时,控制器会自动从每一个具有校验码的硬盘中产生损坏的硬盘数据。因此要根据用户的不同需求来选择不RAID方式。
技术的更新造就了SAS和SATA的低廉实用性;高容量的硬盘驱动,可以支持低成本,高容量的盘阵来保护你的数据。但是,相比较光纤通道和SCSI信道的保险性能,SATA就比较没有优势了。因为在使用RAID5时,一个硬盘坏掉了,备援硬盘会接管重建;但两个硬盘同时坏掉了,就会引起数据丢失或系统崩溃。因此,针对这些可靠性小的普通硬盘,高级的保护数据方式就需要能够预防多个硬盘的失灵,并且能提供较高的数据容错功能和高有效性。
引人注目的技术:RAID6
RAID6是RAID5的升级,通过第二层分布式的校验码来实现高容错性。(双重校验)。 除了多了一层分布式的校验码以外,数据像RAID5一样被分散地stripe到每个硬盘。因为RAID5只有一套校验码,所以如果两个硬盘都坏掉或在重建时发生错误,那么数据就会永远丢失。但是如果有了RAID6的保护,就算坏掉两个硬盘,数据也可以被复原。RAID6不仅能使表现冲突和容量消耗达到最小,而且能够提供非常高的数据容错度,并且能够支持多个硬盘同时发生故障。
校验
为什么用RAID6
根据上面的描述,RAID5在掉一块盘时,不用停机还能保护数据。但是,如果掉两块盘,数据就会丢失。虽然掉两块盘比掉一块盘的可能性要小,但是当涉及到下面的几个原因,掉两盘的可能性还是会增大的:
1. SATA硬盘应用量的增长:SATA硬盘有低成本,大容量的好处,但是,其平均无故障时间(MTBF)比FC和SCSI硬盘的都短。这些硬盘使用率的增大,使同一时间掉两块盘的可能性变大了。
2. 容量大,重建时间过长:在一块硬盘中,如果容量越大,就意味着如果这块盘坏掉,需要重建数据的时间就越长。系统在执行重建任务时就要经受巨大的负载,并且很有可能因此损坏另一块盘或者是在长时间的重建过程中掉第二块盘。
3. 人为错误:当一块盘坏掉时,维护人员会用一块新盘来取代这个坏掉的盘。但一旦维护人员不小心拔错了硬盘,就会造成同时掉两块盘的状况,RAID数据将丢失。
4. 所用硬盘数量的增加,很大程度上提高了硬盘预期故障发生率:当盘阵中增加硬盘的数量时,很大程度上提高了硬盘预期故障发生率。在系统用备援硬盘恢复数据时,其余的硬盘也增加了故障发生率。因此系统内硬盘个数越多时,就越需要提升数据冗余的安全性。
RAID6技术恰好提供了可同时损坏两块盘的容错度,很明显,数据存储急需RAID6 的广泛应用。
RAID6是如何工作的
RAID6的运算法则是用两个奇偶数据执行,P和Q,用两个线性的独立等式表示。第一个奇偶数据P,和RAID5中的奇偶数据一样,通过等式计算出:
RAID6的数据恢复
Q的重建和一个数据块坏掉
这个重建程序和RAID5的重建是相似的。那个坏掉的数据块将从奇偶数据P和所有存有丢失数据的块中取出重建。这个过程很像RAID5的重建程序。当数据块重建完成之后,奇偶数据Q能重新生成。
举个例子,假设在Figure1中的奇偶数据Q1和数据块D13坏掉了,D13的数据就可以从奇偶数据P1和其它数据块中恢复。
重建两个坏掉的数据块
从两个坏掉的硬盘里恢复数据的过程是件非常复杂的事情。根据这个奇偶校验方程式,由两个等式和两个未知数,用矩阵求逆,这两个未知数就能求出来,丢失的数据就能恢复。
假设数据块D13 和D14是已经丢失的。
根据这个奇偶校验方程式:
RAID配置的权衡
当配置一台盘阵时,系统管理器必须对高性能和数据安全进行全方位的权衡。例如,如果高性能是优先考虑的,RAID10就是最好的选择。如果数据的保护是首要的,RAID5就是最好的选择。但是,如在本文里描述的一样,,在大容量的硬盘中,特别是在使用SATA硬盘的情况下,发生同时掉两块盘的可能性较高,RAID6可以提供重要的保护并防止数据丢失的性能就很值得考虑采用。与RAID5相比,虽然RAID6有性能方面的损失,但是为改善数据安全,这是可以接受的。
优化解决方案:Infortrend RAID6
Infortrend公司已开发出了能以性能损失最小来提供最高容错度的一款高效率的新RAID6,应用在其盘阵中。RAID6具有允许同时掉两块硬盘的容错度,或在降级的情况下,允许其它硬盘出现坏块。在以上的情况下,控制器可以在不中断I/O的情况下恢复坏盘中丢失的数据。
在目前的RAID6解决方案中,Infortrend的RAID6具有重大的性能改善的特点。客户只需要接受比RAID5多百分之十到百分之十五的性能损失,却可以使数据得到双层校验的保护,这是非常值得的,客户对此大为赞赏.
总结
RAID6提供了一个极高水准的错误容许度,并且在没有宕机和数据丢失的情况下允许同时掉两块盘,对于那些对数据的容错度要求比较高的客户来讲,RAID6是一个完美的解决方案。