RAID-6
- 格式:doc
- 大小:243.00 KB
- 文档页数:6
RAID 6能保护更多的对象RAID 6提供了比RAID 5更高级别的数据保护、数据可用性及容错性,但也要付出更大的代价。
冗余独立磁盘阵列(RAID)技术让你可以根据某个应用的特殊需要,建立不同程度的数据保护机制。
RAID 0、RAID 1、RAID 5和RAID 10是应用最广泛的几种RAID;RAID 5(旋转奇偶校验)更是由于可以重建失效驱动器上的数据、照样能够访问存储的信息而最为流行;而RAID 6(双奇偶校验)万一遇到故障,可以保护两只驱动器上的数据,从而提供了更高级别的容错性。
更好的安全性在RAID 5阵列中,所有驱动器上的数据进行了条带化处理;奇偶校验信息分布、保存在所有磁盘上。
要是某只驱动器失效,剩余的那个阵列就会工作在降级模式下,直到失效驱动器被替换、上面的数据利用奇偶校验信息得到重建为止。
但倘若第二只驱动器在重建过程中也失效了,或者潜伏的存储介质缺陷导致重新过程中引起读错误,所有数据就会丢失。
如今更高的硬盘容量导致重建时间延长,这就增加了第二只驱动器在重建过程中失效的可能性。
RAID 6消除了这种风险。
在使用RAID 6的系统中,第二组奇偶校验在所有驱动器上进行计算、写及分布。
这第二个奇偶校验计算大大加强了容错性,因为即使两只驱动器都失效,也不会导致数据丢失。
但RAID 6所需的额外计算对写性能带来了不利影响。
性能基准测试显示,与RAID 5控制器相比,RAID 6控制器的总体写性能下降了30%以上。
RAID 5和RAID 6的读性能两者相当。
RAID提供商实现产品的方式各不相同,所以找到最大程度地减小RAID 6写开销的控制器,这很重要。
应当物色这种控制器:不仅能同时进行双奇偶校验计算,而且使用基于硅的专用条带管理器,从而大大降低写开销。
更低存储容量实现RAID 5至少需要三只驱动器,拥有N-1只驱动器的存储容量,因为相当于一只驱动器的容量专门用于保存奇偶校验数据。
譬如在四只驱动器、每只驱动器容量为200GB 的阵列中,总容量为800GB,而可用的存储容量为600GB。
raid级别分类及功能Raid级别分类及功能一、RAID 0:提升读写速度,无容错能力RAID 0是最简单的RAID级别,它通过将数据分散地存储在多个磁盘上,从而提升了读写速度。
在RAID 0中,数据被分割成多个块,并且每个块都被写入到不同的磁盘上。
因此,当进行读取操作时,可以同时从多个磁盘上读取数据,从而显著提高了读取速度。
同样地,当进行写入操作时,数据也会被分散地写入到多个磁盘上,从而提高了写入速度。
然而,RAID 0没有容错能力,如果其中一个磁盘出现故障,所有数据都将丢失。
二、RAID 1:提供完全冗余,读取速度较快RAID 1是一种提供完全冗余的RAID级别。
在RAID 1中,数据被同时写入到多个磁盘上,这样即使其中一个磁盘出现故障,其他磁盘上的数据仍然完好无损。
因此,RAID 1具有很高的可靠性,可以保护数据免受硬件故障的影响。
此外,由于数据可以从多个磁盘上同时读取,RAID 1还具有较快的读取速度。
然而,RAID 1的写入速度较慢,因为数据需要同时写入多个磁盘。
三、RAID 5:提供容错能力和较快的读写速度RAID 5是一种常用的RAID级别,它提供了容错能力和较快的读写速度。
在RAID 5中,数据和校验信息被分散地存储在多个磁盘上。
校验信息用于恢复数据,以防某个磁盘发生故障。
当进行读取操作时,RAID 5可以同时从多个磁盘上读取数据,从而提高了读取速度。
在写入操作时,RAID 5需要计算校验信息,并将其写入到对应的磁盘上,因此写入速度较慢。
然而,RAID 5的容错能力使得即使其中一个磁盘发生故障,数据仍然可以被恢复。
四、RAID 6:提供更高的容错能力和较快的读写速度RAID 6是在RAID 5的基础上进一步提高容错能力的RAID级别。
在RAID 6中,数据和两个独立的校验信息被分散地存储在多个磁盘上。
这意味着即使同时发生两个磁盘故障,数据仍然可以被恢复。
RAID 6不仅提供了更高的容错能力,还保持了较快的读写速度。
电脑硬盘阵列组建方法随着科技的不断发展,电脑硬盘阵列成为了数据存储和备份的重要方式。
硬盘阵列是一种将多个硬盘组合在一起实现高速数据存储和冗余备份的技术。
在本篇文章中,我们将介绍几种常见的电脑硬盘阵列组建方法。
一、RAID 0RAID 0是一种将多个硬盘组合在一起的方式,通过数据条带化(Striping)的方式将数据分散存储在多个硬盘上,从而实现数据的并行读写,提高数据传输速度。
RAID 0的优点是读写速度较快,但缺点是数据冗余性较低,一旦其中一个硬盘出现故障,所有数据都会丢失。
二、RAID 1RAID 1是一种将多个硬盘进行镜像备份的方式,即将数据同时写入多个硬盘,从而实现数据的冗余备份。
RAID 1的优点是数据安全性高,一台硬盘出现故障时,其他硬盘可以继续工作,并且可以通过更换故障硬盘来恢复数据。
缺点是相比于单个硬盘,RAID 1的存储效率较低。
三、RAID 5RAID 5是一种将多个硬盘组合在一起,并通过奇偶校验的方式实现数据冗余备份的方式。
RAID 5至少需要三个硬盘,其中一个硬盘用于存储奇偶校验位。
当其中一个硬盘出现故障时,可以通过奇偶校验位计算出丢失的数据。
RAID 5的优点是数据安全性较高,并且相比于RAID 1,存储效率更高。
缺点是在故障硬盘未被更换之前,RAID 5的性能会受到一定影响。
四、RAID 6RAID 6是在RAID 5的基础上进一步发展的一种硬盘阵列组建方式。
RAID 6至少需要四个硬盘,其中两个硬盘用于存储奇偶校验位。
RAID 6可以容忍两个硬盘同时发生故障,并且可以通过奇偶校验位计算出丢失的数据。
RAID 6的优点是数据冗余性更高,存储效率也相对较高。
缺点是相比于其他RAID级别,RAID 6的写入性能较低。
五、RAID 10RAID 10是一种将RAID 1和RAID 0相结合的硬盘阵列组建方式。
RAID 10至少需要四个硬盘,其中两个硬盘进行镜像备份,另外两个硬盘进行数据条带化。
专利名称:RAID-6 MULTIPLE-INPUT, MULTIPLE-OUTPUT FINITE-FIELD SUM-OF-PRODUCTSACCELERATOR发明人:Adrian Cuenin GERHARD,Daniel FrankMOERTL申请号:US11163347申请日:20051015公开号:US20070028145A1公开日:20070201专利内容由知识产权出版社提供专利附图:摘要:A standalone hardware engine is used on an advanced function storage adaptorto improve the performance of a Reed-Solomon-based RAID-6 implementation. The engine can perform the following operations; generate P and Q parity for a full stripe write, generate updated P and Q parity for a partial stripe write, generate updated P and Q parity for a single write to one drive in a stripe, generate the missing data for one or two drives. The engine requires all the source data to be in the advanced function storage adaptor memory (external DRAM) before it is started, the engine only needs to be invoked once to complete any of the four above listed operations, the engine will read the source data only once and output to memory the full results for any of the listed four operations. In some prior-art systems, for N inputs, there would be 6N+2 memory accesses. With this approach, the same operation would require only N+2 memory accesses.申请人:Adrian Cuenin GERHARD,Daniel Frank MOERTL地址:Rochester MN 55901 US,Rochester MN 55901 US国籍:US,US更多信息请下载全文后查看。
RAID :性能增强的磁盘阵列配置方案RAID(Redundant Array of Independent Disks)是一种通过将多个硬盘组合在一起形成磁盘阵列来提高存储性能和数据冗余的技术。
RAID有不同的级别,每个级别都有不同的特点和适用场景。
在本文中,我们将重点讨论几种常见的RAID配置方案,以及它们如何增强性能。
1. RAID 0:大幅提升读写速度RAID 0是最简单的RAID级别之一,它将两个或更多的硬盘组合在一起,并将数据分割成块,然后分别写入每个硬盘。
由于数据的并行读写操作,RAID 0将大幅提升存储系统的读写速度。
然而,RAID 0没有冗余功能,一旦其中一个硬盘出现故障,所有数据都将丢失。
2. RAID 1:提供数据冗余和备份RAID 1使用镜像技术,将相同的数据同时写入两个或多个硬盘。
这样,当其中一个硬盘出现故障时,系统可以从其他硬盘中获取相同的数据。
RAID 1提供了数据的冗余和备份功能,使得系统更加可靠。
然而,RAID 1并不能提升系统的读写速度,因为所有数据都要同时写入多个硬盘。
3. RAID 5:提供读取性能和数据冗余RAID 5是一种将数据分布在多个硬盘上并提供容错能力的RAID级别。
RAID 5至少需要三个硬盘,其中一个硬盘用于存储奇偶校验信息。
奇偶校验信息允许在一个硬盘故障的情况下恢复数据。
RAID 5在读取方面具有良好的性能,但在写入方面可能会稍慢。
4. RAID 10:融合RAID 1和RAID 0的优势RAID 10是将RAID 1和RAID 0结合起来的一种配置方案,它同时提供数据冗余和读写性能的优势。
RAID 10需要至少四个硬盘,它将硬盘分成两组,每组都是一个独立的RAID 1阵列,然后将这两个RAID 1阵列组成一个RAID 0阵列。
这样做的好处是不仅可以提供数据的冗余和备份功能,还可以大幅提升系统的读写性能。
5. RAID 6:提供更高的容错能力RAID 6是在RAID 5基础上进一步增强的配置方案,它使用两个奇偶校验信息来提供更高的容错能力。
raid5和raid6的数据安全性比较磁盘阵列(disk array)可以有效的提高存储系统的可靠性和性能,同时也存在显著的缺点,那就是由于多个设备(磁盘)同时使用,导致了可靠性降低(从概率的角度来讲:N个设备的可靠性是一个设备的1/N)。
RAID(Redundant array of inexpensive disk)就是为了解决这个问题而产生的,RAID通过给磁盘阵列增加冗余磁盘提高了磁盘阵列的可靠性。
所谓冗余磁盘,即该磁盘不用于存放实际数据,而用来存放一些冗余信息,而这些冗余信息可用来在必要的时候进行有效数据恢复,从而增加磁盘阵列的可靠性,翻译成中文应该叫廉价磁盘冗余阵列。
在RAID6出现之前,RAID已经有了从RAID0~RAID5六个版本。
那么我们已经有了这么多的RAID方式,提供了相当级别的可靠性保护,为什么我们还需要RAID6?在这里,我们这里先比较研究一下几种比较有代表性的RAID方式:磁盘冗余家族概览目前应用最广泛,支持设备最多的RAID方式主要是RAID0,RAID1和RAID5(1)无冗余(RAID0):RAID0实际上不能算做真正的RAID技术,它只是实现了磁盘阵列存放数据的带状分布。
虽然提高了大规模数据访问的性能,但是RAID0并没有冗余容错的功能,因为它本身并无冗余,所以可以说这里的RAID0是个误称。
(2)镜像(RAID1):RAID1同样实现了数据的带状分布,与RAID0所不同的是,在数据写入一个磁盘的时候,同时在另一个磁盘做相应的镜象。
因此,RAID1虽然有数据容错功能,但是其对磁盘的利用率实在比较底,仅为50%。
数据分布示意图(以4块磁盘组成的阵列为例):注释:其中d1,d2等表示存放的数据,d1’, d2’分别表示了数据d1和d2的备份。
(3)奇偶校验(RAID5):相对于RAID1比较,RAID5也是仅仅实现了单个磁盘的冗余纠错功能,但是却大大提高了磁盘的有效利用率。
RAID 6 介绍一、 RAID技术RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的。
RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。
后来RAID中的字母I 被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。
RAID的级别包括RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6,以及在此之上的各种组合,其中具有容错功能的是RAID1、RAID5和RAID6。
本文就以介绍各种容错功能的RAID系统,来讲讲RAID6诞生的历程。
二、容错的RAID技术 2.1 RAID1图-1 RAID1RAID1就是大家常说的镜像系统,如图-1所示,它将数据分别写到源 (Source) 存储设备和镜像 (Mirror) 存储设备上,因此数据被保存了两份,从而使得即使源设备损坏,或者说源设备上的某快数据损坏,仍然还有镜像设备上的备份数据,从而提供了容错的特性,反之亦然。
只有源设备和目标设备的数据同时损坏时,整个容错系统才汇报失败。
对于RAID1,因为源设备和镜像设备保存了同样的数据,所以其存储空间利用率为50%。
如果每个存储设备的故障率为p,那么整个RAID1其可用性为:1- p * p = 1 – p22.2 RAID5图-2 RAID5RAID5采用计算异或 (XOR) 的方式来实现容错,也就是说对于发送下来的数据,采用条带 (stripe) 技术分块,并计算校验。
如图-2所示,P0 = 0⊕1⊕2, ⊕为异或运算因此,即使其中的一个存储设备出现故障,也可以通过计算异或,得到相对应的数据,比如数据块0出现故障,可以采用如下方式得到它:P0⊕1⊕2 = 0⊕1⊕2⊕1⊕2= 0⊕1⊕1⊕2⊕2 = 0对于RAID5,如果由N个存储设备组成,由于要保存额外的校验数据,那么其存储空间利用率为:(N-1)/N = 1 - 1/N如果每个存储设备的故障率为p,只要任何两个存储设备出现故障,RAID5就不可用了,因此整个RAID5其可用性为1- p * p = 1 – p22.3 RAID6图-3 RAID6RAID6采用双重校验的方法,如图-3所示。
RAID 6的简单介绍RADI6技术Independent Data disks with two independent distributed parity schemes(独立的数据硬盘与两个独立分布式校方案)RAID 6等级是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。
与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。
当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图。
RAID-6结构图解这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。
但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。
由于RAID 6相对于RAID 5在校验方面的微弱优势和在性能与性价比方面的较大劣势,RAID 6等级基本没有实际应用过,只是对更高级的数据的冗余进行的一种技术与思路上的尝试,下面我们就做一个总结:RAID-6 是在RAID-5基础上把校验信息由一位增加到两位的raid 级别。
RAID-6和RAID-5一样对逻辑盘进行条带化然后存储数据和校验位,只是对每一位数据又增加了一位校验位。
这样在使用RAID-6时会有两块硬盘用来存储校验位,增强了容错功能,同时必然会减少硬盘的实际使用容量。
以前的raid级别一般只允许一块硬盘坏掉,而RAID-6可以允许坏掉两块硬盘,因此,RAID-6 要求至少4块硬盘。
一个RAID-6的阵列中可以最多有16个硬盘。
假设一共6块硬盘,使用4块创建逻辑盘,raid6,4个硬盘在使用时都被先条带化,然后分别存储数据和校验位。
如果一块硬盘出现物理故障,RAID的会处于降级状态,但是仍然有容错功能;如果出现第二块硬盘故障,逻辑盘中还剩下的两块硬盘就不再有容错功能。
Raid6与raid5的区别RAID5和RAID6有下⾯⼏个区别:1、冗余和数据恢复能⼒RAID组级别冗余及数据恢复能⼒数据恢复策略RAID 5存在分散在不同条带上的奇偶校验数据允许⼀块数据盘故障,并可通过奇偶校验数据计算得到故障硬盘中的数据。
如果出现两块或两块以上数据盘故障,整个RAID组故障。
RAID 6存在两组独⽴的分散在不同条带上的校验数据允许两块数据盘故障,并可通过校验数据计算得到故障硬盘中的数据。
2、读写性能差别RAID级别读写性能分析RAID 5对于写操作较多的应⽤,建议使⽤RAID 5。
通常RAID 5写性能⽐RAID 10更好,读性能不如RAID 10。
RAID 6具有双重数据校验,因此运算负担较⼤,实现较复杂。
通常RAID 6读写性能不如RAID 5。
3、硬盘利⽤率RAID级别硬盘利⽤率分析RAID 5硬盘利⽤率为(n-1)/n(n为RAID组内成员盘个数),当RAID组由3个硬盘组成时,利⽤率最低,为66.7%。
RAID 5的组内校验数据实际上只相当于占⽤⼀个硬盘的容量,因此该级别的存储成本较低。
RAID 6硬盘利⽤率为(n-2)/n(n为RAID组内成员盘个数),当RAID组由4个硬盘组成时,利⽤率最低,只有50%。
RAID 6的组内校验数据实际上只相当于占⽤两个硬盘的容量,因此该级别的存储成本⽐RAID 0和RAID 5⾼,⽽⽐RAID 1和RAID 10低。
4、应⽤场景RAID 5RAID 5是RAID 0和RAID 1的折衷⽅案。
RAID 5可以为系统提供数据安全保障,但保障程度要⽐RAID 1低⽽硬盘空间利⽤率要⽐RAID 1⾼。
RAID 5具有和 RAID 0相近似的数据读取速度,只是多了⼀个奇偶校验信息,写⼊数据的速度⽐对单个硬盘进⾏写⼊操作稍慢。
同时由于多个数据对应⼀个奇偶校验信息,RAID 5的硬盘利⽤率要⽐RAID 1⾼,存储成本相对较低。
适⽤于顺序业务较多的场合,例如,视频点播业务、视频监控业务。
帮你解开RAID-6性能损耗症结面对硬盘损坏导致数据丢失的风险,一般企业用户都会对磁盘使用RAID冗余技术。
如采用RAID1(镜像)及RAID5(分散数据保护)都可以保证在一块硬盘发生故障时得以恢复数据。
但问题是,如果两块硬盘同时损坏,数据就会完全丢失。
随着存储容量越来越大,使用的硬盘密度越来越高,这种现象发生的比率也在随之提高。
和RAID 5不同的是,RAID 6允许应用第二个独立的奇偶校验方案来获得更好的容错性(双重奇偶校验),它的好处在于:增加了更广泛适用可靠性较低的硬盘的可能,如SATA硬盘虽然能够实现更高的密度,但是也有着较高的错误率和较低的性能,而RAID-6的出现将会改变这种状况,使SATA 也能够应用到高端高性能的环境中去;越来越大的容量意味着越来越长的重建时间,重建时有大量资料存取极易使硬盘受损,RAID6可保护资料的完整;可尽量降低由于硬盘数目增加而导致显著上升的故障率。
因此,RAID6主要是用于要求数据绝对不能出错的场合。
但问题是,正因为RAID6使用了二种奇偶校验值,所以需要N+2个磁盘,RAID本身价格就不菲,而再添加一个奇偶校验驱动器的成本就更为可观了;同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。
下面,我们来分析一下RAID 6的性能问题。
解决性能与密度的矛盾首先,我们看看RAID6出现的主要动因在哪里?从下图可以看到,最近十多年来,读取单一驱动器的时间显著增加了。
出现这种情况的主要原因在于,磁盘密度的增长远远快于性能的提升。
从1991年起,企业级磁盘容量(如SCSI和FC)从500MB增加到了300GB,也就是增长了600倍之多。
而在同一时期,最高性能从4MB/秒增长到125MB/秒,仅仅增长了31.25倍。
如果磁盘驱动的性能可以与密度的增长速度相同的话,我们现在驱动的读/写速度应该是2.4GB/秒。
raid1raid2raid5raid6raid10如何选择使⽤?我们在做监控项⽬存储时,经常会⽤到磁盘阵列,什么是磁盘阵列呢?那为什么要做磁盘阵列呢?raid1 raid2 raid5 raid6 raid10各有什么优势?本期我们来看下。
⼀、什么是Raid?它有什么作⽤?1、什么是Raidraid就是冗余磁盘阵列,把多个硬磁盘驱动器按照⼀定的要求使整个磁盘阵列由阵列控制器管理组成⼀个储存系统。
最开始研制⽬的是为了利⽤多个廉价的⼩磁盘来替代昂贵的⼤磁盘,以此来降低成本。
⽽随着硬盘技术的发展,如今的磁盘阵列采⽤了冗余信息的⽅式,使得其具有数据保护的功能。
2、那么服务器为啥要做磁盘阵列呢?主要有两个作⽤:提供容错功能普通的磁盘驱动器是⽆法提供容错功能的,⽽磁盘阵列可以通过数据校验提供容错功能,服务器会将数据写⼊多个磁盘,如果某个磁盘发⽣故障时,此时仍能保证信息的可⽤性,重要数据不会丢失,也不会耽误服务器的正常运转。
提⾼传输速率磁盘阵列将多个磁盘组成⼀个阵列,当做⼀个单⼀的磁盘使⽤,把数据已分段的形式存储到不同的硬盘之中,发⽣数据存取变动时,阵列中的相关磁盘⼀起⼯作,这就可以⼤幅的降低数据存储的时间,同时还能拥有更佳的空间和使⽤率。
⼆、常⽤Raid的优缺点Raid 0:⼀块硬盘或者以上就可做raid0优势:数据读取写⼊最快,最⼤优势提⾼硬盘容量,⽐如3块80G的硬盘做raid0,可⽤总容量为240G,也就是利⽤率是100%,速度也⽐较快。
缺点:⽆冗余能⼒,⼀块硬盘损坏,数据全⽆。
建议:做raid0 可以提供更好的容量以及性能,推荐对数据安全性要求不⾼的项⽬使⽤。
Raid 1:⾄少2块硬盘可做raid1优势:镜像,数据安全强,⼀块正常运⾏,另外⼀块镜像备份数据,保障数据的安全。
⼀块坏了,另外⼀块硬盘也有完整的数据,保障运⾏。
所以这种安全性⽐较性最⾼。
缺点:性能提⽰不明显,做raid1之后硬盘使⽤率为50%,有些费硬盘。
raid6 原理RAID6原理RAID6(Redundant Array of Independent Disks Level 6)是一种冗余磁盘阵列技术,它通过使用多个磁盘驱动器来提供高容量的数据存储和容错能力。
与其他RAID级别相比,RAID6在数据冗余性和容错能力方面更为出色。
RAID6的原理是将数据和校验信息分散写入多个磁盘驱动器中。
与RAID5类似,RAID6也使用奇偶校验来实现数据的冗余存储。
然而,RAID6在奇偶校验的计算上更为复杂,它使用了两个奇偶校验值来实现数据的冗余。
在RAID6中,数据被切分成多个块,并在不同的磁盘驱动器上进行分布式存储。
同时,RAID6使用了两个独立的奇偶校验算法,分别计算两个奇偶校验值。
这样,即使在同时发生两个磁盘故障的情况下,RAID6依然能够保证数据的完整性和可靠性。
对于每个数据块,RAID6会计算两个奇偶校验值。
这两个奇偶校验值分别基于不同的数据块和磁盘驱动器组合计算得出。
通过使用这两个奇偶校验值,RAID6可以检测和恢复同时发生的两个磁盘故障。
当发生磁盘故障时,RAID6可以通过重新计算奇偶校验值来恢复丢失的数据。
RAID6使用逆向计算的方法,通过已知的数据块和奇偶校验值来计算丢失的数据块。
然后,RAID6将恢复的数据块写入新的磁盘驱动器中,以保持数据的完整性。
与其他RAID级别相比,RAID6的容错能力更强。
由于使用了两个奇偶校验值,RAID6能够同时容忍两个磁盘故障。
这使得RAID6在数据保护方面更加可靠,提供了更高的数据可用性。
然而,RAID6也存在一些缺点。
首先,RAID6的写性能相对较低,因为需要计算两个奇偶校验值,并将它们写入磁盘驱动器。
其次,RAID6需要至少四个磁盘驱动器来实现冗余存储,这增加了成本和空间需求。
总结起来,RAID6通过使用多个磁盘驱动器和两个奇偶校验值来提供高容量、高可靠性的数据存储。
它可以同时容忍两个磁盘故障,并能够通过重新计算奇偶校验值来恢复丢失的数据。
各种RAID类型之间的比较1、空间的利用率表1表明了在RAID 1,RAID 5和RAID 6下的有多少磁盘空间是可以给用户数据使用的。
表1 不同RAID类型的磁盘利用率比较2、性能之间的比较表2表明了在足够磁盘数据的情况下各种RAID类型的性能比较,RAID-1 (2D + 2D)作为基准(100%),下面这张表非常关键,请大家记住。
表2 不同RAID类型的性能比较常见的OLTP数据库应用有很多随机读写的IO操作,而OLAP数据仓库应用和流媒体应用中顺序写、读的IO操作较多。
3、比较RAID 5 (7D+1D)和RAID-6 (6D+2D)随机写如表2中所示,RAID-6在增加了可靠性的同时,牺牲了部分随机写性能。
在随机写操作中,在同样多的磁盘的RAID组中,RAID-6所花费的时间是RAID-7的的倍。
每次RAID-5 (7D + 1D)进行一次随机写操作,实际上产生了4个I/O:读老的应用数据,读老的校验数据,写新的应用数据和写新的校验数据(P)。
而RAID-6做同样一个随机写操作,实际上需要6个I/O,读老的用户数据,读老的校验数据P,读老的校验数据Q,写新的用户数据,写新的校验数据P,写新的校验数据Q。
这样就造成了RAID-5 (7D + 1D)和RAID-6 (6D + 2D)随机写的33%性能差异。
4、RAID 1、RAID 1+0和RAID 0+1的区别谈到RAID保护,特别是镜像保护,是在数据库中会经常用到的(由于镜像保护没有传统RAID 5/6的写惩罚,在离散型IO应用特点下性能较高)。
于是经常有人会问什么叫RAID 1,什么叫RAID 1+0,什么叫RAID 0+1,三者间有什么样子的区别。
当然这三者间最大的区别是很明显的。
首先RAID 1是最传统的思路,即先完一个磁盘,再写另外一个磁盘,从而做到镜像保护。
这种做法已经逐步淘汰,因为这样盯着一个磁盘写写满后再转到另外一个磁盘显然会导致性能问题,因此引入条带化写入技术RAID 0势在必行。
一、raid什么意思?RAID是“Redundant Array of Independent Disk”的缩写,raid什么意思了?说白了,中文翻译过来通俗的讲就是磁盘阵列的意思,也就是说RAID就是把硬盘做成一个阵列,而阵列也就是把硬盘进行组合配置起来,做为一个整体进行管理,最关键的是这个阵列的磁盘之间具有冗余容错处理,这样可提高磁盘之间相互的安全性和稳定性,不存在“单点”硬盘现象,也就说不会让某些硬盘读写频繁,其他的硬盘可能数据交换较少的现象,从而提高硬盘的安全性,同时磁盘的整体管理会提高读写速度,使硬盘的利用发挥到最大。
那么RAID什么意思?在实际应用中有什么意义了?一般而言,作为服务器最容易出现的故障是服务器的硬盘和电源,因此服务器采用磁盘阵列技术是非常重要的。
简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
组成不同方式的磁盘阵列我们称为RAID的级别(RAID Levels)。
磁盘阵列中针对不同的应用使用的不同磁盘阵列配置情况,大家通称为RAID level(Raid 级别), 而每一level代表一种具体配置阵列的方法或叫阵列技术,目前业界公认的标准是RAID 0~RAID 5。
其中Raid0、Raid1、Raid5是最常见,后期又推出了Raid6、Raid1+0(也有人误解为Raid10),Raid5+0(也有人误解为Raid50),而Raid2、3、4不是非常通用.需要特别说明的是,不同的Raid level并不代表技术的高低,level 5并不高于level 3,level 1也不低过level 4,至于要选择那一种RAID level的产品,纯视用户的操作环境(operating environment)及具体应用(application)而定,与level的数字高低(大小)没有必然的关系。
RAID6与RAID5数据安全性对比磁盘阵列(disk array)可以有效的提高存储系统的可靠性和性能,同时也存在显著的缺点,那就是由于多个设备(磁盘)同时使用,导致了可靠性降低(从概率的角度来讲:N个设备的可靠性是一个设备的1/N)。
RAID(Redundant array of inexpensive disk)就是为了解决这个问题而产生的,RAID通过给磁盘阵列增加冗余磁盘提高了磁盘阵列的可靠性。
所谓冗余磁盘,即该磁盘不用于存放实际数据,而用来存放一些冗余信息,而这些冗余信息可用来在必要的时候进行有效数据恢复,从而增加磁盘阵列的可靠性,翻译成中文应该叫廉价磁盘冗余阵列。
在RAID6出现之前,RAID已经有了从RAID0~RAID5六个版本。
那么我们已经有了这么多的RAID方式,提供了相当级别的可靠性保护,为什么我们还需要RAID6?在这里,我们这里先比较研究一下几种比较有代表性的RAID方式:磁盘冗余家族概览目前应用最广泛,支持设备最多的RAID方式主要是RAID0,RAID1和RAID5(1)无冗余(RAID0):RAID0实际上不能算做真正的RAID技术,它只是实现了磁盘阵列存放数据的带状分布。
虽然提高了大规模数据访问的性能,但是RAID0并没有冗余容错的功能,因为它本身并无冗余,所以可以说这里的RAID0是个误称(2)镜像(RAID1):RAID1同样实现了数据的带状分布,与RAID0所不同的是,在数据写入一个磁盘的时候,同时在另一个磁盘做相应的镜象。
因此,RAID1虽然有数据容错功能,但是其对磁盘的利用率实在比较底,仅为50%。
数据分布示意图(以4块磁盘组成的阵列为例):注释:其中d1,d2等表示存放的数据,d1’, d2’分别表示了数据d1和d2的备份。
(3)奇偶校验(RAID5):相对于RAID1比较,RAID5也是仅仅实现了单个磁盘的冗余纠错功能,但是却大大提高了磁盘的有效利用率。
为什么需要RAID 6
在经过多年的沉寂之后,RAID 6技术随着大容量ATA硬盘的广泛采用又重新引起了业界的重视。
相对于RAID 5来说,用户对RAID 6的了解比较少,根据HDS的技术白皮书《采用RAID-6技术,增强数据保护》改编成此文与大家共享。
为了较为完整地说明问题,编者保留了一些与具体产品配置相关的内容。
RAID 5是在存储系统中广泛采用的数据保护技术。
该技术是通过把应用数据分成数段,连同这些数据段的校验信息写入一组磁盘来实现的。
如果其中有个磁盘出现了故障,就会利用其余的磁盘中的数据和检验信息把故障盘中的数据恢复到热备盘中以保证数据不会丢失。
这样RAID 5就存在一种风险,如果在数据重建的过程中,RAID组中的第二块硬盘出现故障,就会出现数据丢失。
以前,两块盘同时坏的情况是小概率事件,几乎不可能发生。
但是近来随着光纤(FC)盘和SATA盘的容量和密度不断增加,使得RAID 5的重建时间也不断增加。
这样两块盘同时坏的概率也增加了,在企业级存储上,这种风险必须得到重视。
为了应对这种情况,存储厂商的RAID 6技术就是可以保证两块盘同时出故障而不会丢失数据的新技术。
日立数据系统(HDS)公司的TagmaStore全线存储系统除了支持RAID 5,RAID 1技术以外还可以支持RAID 6保护技术,提供给用户多种保护方式的选择。
RAID 6技术背景和简介
RAID技术是为了防止存储系统因为磁盘故障而丢失数据而研发出来的。
该技术把数据和校验信息分布到一组盘中(RAID组),当有盘坏的时候,丢失的那部分数据可以通过其他盘上的数据和校验信息计算恢复。
这样就增强了存储系统的可靠性。
HDS公司的TagmaStore全线存储系统可以支持RAID 0,RAID 1,RAID 5和RAID 6技术,所以HDS的存储系统不但可以提供更好的可靠性,而且也可以比以往的存储系统有更出色的性能。
HDS的高端存储系统一般以4个磁盘为一个组,称为Array Group,而一个RAID 组则包含一个或者多个Array Group。
例如:RAID 1(镜像)可以是2D + 2P或者4D + 4P的配置,也就是说2块数据盘,2块镜像盘,或者4块数据盘和4块镜像盘的配置。
RAID 5(带校验的条带化)可以是3D + 1P的配置,其中3块数据盘,1块检验盘,或者是7D + 1P的配置,其中7块数据盘,1块检验盘的配置。
实际上,RAID 5的数据和校验都是条带化后分散在RAID组中的各个磁盘中的。
RAID-1提供了最高的可靠性,一块盘上的数据都镜像到RAID组中的另外一块磁盘上。
但是这种方式对磁盘的利用率不高,只有一半的磁盘空间能够存放数据,存放同样的数据要多买一倍的磁盘。
RAID 5改善了利用率的问题,但是因为要计算校验信息而使得写性能有所下降。
HDS TagmaStore系列存储中的模块
化产品也能支持RAID 0技术(没有校验的条带化),RAID 0技术有很好的性能表现,但是RAID 0没有冗余保护功能,RAID组中任何一块磁盘的损坏都会造成数据的丢失。
因此HDS只在中端模块化阵列的光纤盘上支持RAID 0技术,在SATA 盘上不支持RAID 0,同时HDS建议用户不要在关键数据上采用RAID 0技术。
当采用RAID 1或者RAID 5技术的时候,如果其中有个磁盘出现了故障,就会利用RAID组中其余的磁盘中的数据和检验信息把故障盘中的数据恢复到热备盘中以保证数据不会丢失。
工程师用新盘替换坏掉的磁盘,这时候存储系统会把热备盘中的数据拷贝回新换上的盘中(HDS的WMS/AMS中端模块化存储可以支持不回拷)。
当回拷完成后,系统又回到了正常工作状态,可以再次抵御磁盘故障。
如今磁盘的容量和密度一再变大,出现了300GB的光纤盘和500GB的SATA 盘,每个盘中存放的数据比以往大了很多,磁盘故障影响的数据量也跟着增加。
这样从磁盘故障,到磁盘系统恢复正常状态的时间也会比以往长很多,这个过程中同一个RAID组里面第二块磁盘出现故障而导致数据丢失的可能性也变大。
为了防止两块磁盘故障而引起的数据丢失,HDS TagmaStore存储系统现在支持RAID 6(6D + 2P)。
和RAID 5相似的是,RAID 6采用了校验数据,和RAID 5不同的是RAID 6有两份检验数据,可以保证同一RAID组中两块磁盘同时故障而不丢失数据。
RAID 6(6D + 2P)原理
和RAID 5相似,RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上。
在图1中,D0,D1,D2,D3,D4和D5是条带化的数据,P代表校验数据,Q是第二份校验数据。
图1:RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上
RAID 6校验数据生成公式(P和Q):
P的生成用了异或
P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5
Q的生成用了系数和异或
Q = A0*D0 XOR A0*D1 XOR A0*D2 XOR A0*D3 XOR A0*D4 XOR A0*D5
D0~D5:条带化数据
A0~A5:系数
XOR:异或
*:乘
在RAID 6中,当有1块磁盘出故障的时候,利用公式1恢复数据,这个过程是和RAID 5一样的。
而当有2块磁盘同时出故障的时候,就需要同时用公式1和公式2来恢复数据了。
在图1中,各系数A0~A5是线性无关的系数,在D0,D1,D2,D3,D4,D5,P,Q中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。
这样在一个RAID组中有两块磁盘同时坏的情况下,也可以恢复数据。
上面描述的是校验数据生成的算法。
其实RAID 6的核心就是有两份检验数据,以保证两块磁盘同时出故障的时候,也能保障数据的安全。
数据分布
如图2所示,通过条带化,把应用数据和校验数据打散到一个RAID组的8个磁盘中,可以充分保证读写性能和数据的安全性。
图2:RAID 6的数据分布
RAID 6可以保证同一个RAID组中两块磁盘故障的情况下的数据安全。
RAID 6的数据恢复
从1块磁盘故障中恢复数据
当有1块磁盘出故障的时候,利用公式1恢复数据,这个过程不需要Q这部分校验数据,如图3所示,这个过程是和RAID 5一样的。
图3:在RAID 6(6D + 2P)中恢复D3数据,展示了存放D3数据的盘出现故障的恢复过程
公式:D3 = D0 XOR D1 XOR D2 XOR P XOR D4 XOR D5
从2块磁盘故障中恢复数据
当同时有2块磁盘故障的时候,需要同时用到公式1和公式2来恢复数据,如图4所示。
图4:在RAID 6(6D + 2P)中恢复D3和D4数据,展示了存放D3和D4数据的盘出现故障的恢复过程
公式1和公式2:
P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5
Q = A0*D0 XOR A0*D1 XOR A0*D2 XOR A0*D3 XOR A0*D4 XOR A0*D5
D3和D4由解以上两个联立的方程得出结果
各种RAID类型之间的比较
空间的利用率
表1表明了在RAID 1、RAID 5和RAID 6下有多少磁盘空间是可以给用户数据使用的。
表1:不同RAID类型的磁盘利用率比较
性能之间的比较
表2表明了在足够磁盘数据的情况下各种RAID类型的性能比较,RAID 1 (2D + 2D)作为基准(100%)。
表2:不同RAID类型的性能比较
比较RAID 5 (7D + 1D)和RAID 6 (6D + 2D)随机写
如表2中所示,RAID 6在增加了可靠性的同时,牺牲了部分随机写性能。
在随机写操作中,在同样多的磁盘的RAID组中,RAID 6所花费的时间是RAID 5的的1.5倍。
每次RAID 5 (7D + 1D)进行一次随机写操作,实际上产生了4个I/O:读老的应用数据,读老的校验数据,写新的应用数据和写新的校验数据(P)。
而RAID 6做同样一个随机写操作,实际上需要6个I/O,读老的用户数据,读老的校验数据P,读老的校验数据Q,写新的用户数据,写新的校验数据P,写新的校验数据Q。
这样就造成了RAID 5 (7D + 1D)和RAID 6 (6D + 2D)随机写的33%性能差异。
RAID选择中的注意事项
在选择采用何种RAID类型的时候,必须注意以下事项:
用户数据需要多少空间
校验带来的磁盘空间损失
应用的性能要求
在磁盘故障时,磁盘的重建时间
随着用户数据的不断增长,用户采用大容量磁盘的可能性也与日俱增,但是在使用大容量硬盘的时候,必须要考虑过长的重建时间而引起的数据丢失风险。
在某些情况下,数据重建会非常困难或者对系统性能的冲击会很大,如:大交易量,大量写操作的数据库应用,建议采用RAID 6技术,这样可以给用户数据带来更好的保护。
总结
RAID 5技术是很多存储系统数据保护的基础。
但是采用RAID 5技术需要承担在第一块故障盘重建的过程中,第二块磁盘发生故障而导致数据丢失的风险。
而RAID 6技术的推出使得数据可以在两块磁盘同时故障的情况下也不会丢失。