独立冗余磁盘阵列(Redundant Array of Independent Disk,RAID)
独立冗余磁盘阵列
独立冗余磁盘阵列(Redundant Array of Independent Disk,RAID)是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能与数据备份能力的技术。RAID特色是N块硬盘同时读取速度加快及提供容错性(Fault Tolerant)。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。根据磁盘陈列的不同组合方式,可以将RAID分为不同级别。级别并不代表技术高低,选择哪一种RAID level的产品纯视用户的操作环境(operating environment)及应用而定,与级别高低没有必然关系。
起源
RAID磁盘阵列系统,是美国加州大学伯克利分校Patterson教授,于1988年首先提出的。它的原理是将若干个小型磁盘驱动器与控制系统组成一个整体,在使用者看来像一个大磁盘。由于有多个驱动器并行工作,大大提高了存储容量和数据传输率。某些模式的RAID可以把速度提高到单个磁盘驱动器的4倍,而且采用了纠错技术,提高了可靠性。
在计算机发展的初期,大容量磁盘的价格还相当高。满足数据存储大容量需求和解决存储安全问题的主要方法,是使用磁带机等设备进行备份。这种存储方法虽然可以满足较大容量的数据存储需求,保证了一定程度上的数据安全,但查阅和存储工作都相当繁琐。1987年,Patterson、Gibson和Katz三位工程师,在加州大学伯克利分校发表了题为《A Case of Redundant Array of Inexpensive Disks(廉价磁盘冗余陈列方案)》的论文,其基本思想就是将多个容量较小的、相对廉价的磁盘驱动器进行有机组合,使其性能超过一个昂贵的大磁盘。这一设计思想很快被业界接受。从此,RAID技术得到了广泛应用,数据存储进入了更快速、更安全和更廉价的新时代。
概念
在RAID中有一基本概念称为EDAP(Extended Data Availability and Protection),其强调扩充性及容错机制,也是各家厂商诉求的重点,包括在不须停机情况下可处理以下动作:
RAID 磁盘阵列支持自动检测故障硬盘;
RAID 磁盘阵列支持重建硬盘坏轨的资料;
RAID 磁盘阵列支持不须停机的硬盘备援Hot Spare;RAID 磁盘列支援支持不须停机的硬盘替换Hot Swap;
RAID 磁盘阵列支持扩充硬盘容量等。
功能
1.扩大了存储能力可由多个硬盘组成容量巨大的存储空间。
2.降低了单位容量的成本 市场上最大容量的硬盘每兆容量的价格要大大高于普及型硬盘,因此采用多个普及型硬盘组成的阵列其单位价格要低得多。
3.提高了存储速度单个硬盘速度的提高均受到各个时期的技术条件限制,要更进一步往往是很困难的,而使用RAID,则可以让多个硬盘同时分摊数据的读或写操作,因此整体速度有成倍地提高。
4.可靠性 RAID系统可以使用两组硬盘同步完成镜像存储,这种安全措施对于网络服务器来说是最重要不过的了。
5.容错性RAID控制器的一个关键功能就是容错处理。容错阵列中如有单块硬盘出错,不会影响到整体的继续使用,高级RAID控制器还具有拯救数据功能。
6.对于IDE RAID来说,目前还有一个功能就是支持ATA/66/100。RAID也分为SCSI RAID和IDE RAID两类,当然IDE RAID要廉价得多。如果主机主板不支持ATA/66/100硬盘,通过RAID卡,则能够使用上新硬盘的ATA/66/100功能。
组合
不同的RAID级别对应于不同的性能、容量和可靠性,代表了这三种关键参数的不同平衡组合。
从最基本的角度来说,所有RAID级别均建立在RAID0、1、5和6这几个基本RAID级别基础之上。一些RAID级别衍生出某些少见的变种,比如RAID1E、5E和5EE,它们与RAID1、5的特性相似,不过更丰富一些。
RAID级别可以相互组合或通过扩展,形成诸如RAID10、50和60等RAID级别。人们往往对这种扩展的RAID级别不甚了解。不过,这些复杂的RAID级别添加了一些极其有趣的特性,比方说:
·R1E(2个以上磁盘或奇数磁盘的镜像)
·R5E(与R5一样,但支持“热”备用磁盘容量)
·R5EE(与R5E一样,但每个条带都支持“热”备用磁盘)
需要进一步考虑的是RAID10、50和60等复杂的RAID级别,它们提供了一些非常有趣的未知特性。它们基本上能提供相同级别、和尺寸的RAID卷组合,此外采用RAID0方式在他们之间分配条带化数据,以此平衡性能。
比方说,20个驱动器组成的RAID50,可分成4个RAID5阵列,每个阵列有5个磁盘,然后这四个RAID5阵列之间采用RAID0方式配置条带化数据。不过,问题在于,为什么要选择20个磁盘组成RAID50这种复杂的RAID级别,而不用20个同样的磁盘组成简单的RAID5呢?
主要原因在于,如果我们看看RAID5的读取性能就会发现,在降级模式时其读取性能非常差。为了从坏块/死盘恢复数据,必须读取19个没问题的磁盘,并对每个磁盘进行18次XOR运算,而后才能返回数据。也就是说,这时的读取速度仅为正常读取速度的二十分之一,而且涉及的磁盘越多,读取性能就变得更糟。同样,重构也非常复杂。假设每个磁盘为1TB,如果重构的话,那么就需要移动20TB的数据,XOR为19TB(这可能需要数周才能完成)。
不过,如果使用了RAID50,丢失的数据可以由故障阵列重新生成。如果采用5个磁盘阵列,那么只需要4次读取和3次XOR运算就可返回数据,比RAID5的效率提高了5倍。RAID5只使用一个奇偶磁盘,而RAID50每个扩展的磁盘阵列都使用一个奇偶磁盘,也就是每个扩展的磁盘阵列有4个奇偶磁盘。由此可见,这时我们需要在容量和性能之间加以权衡。重构也一样,1TB数据的重构需要移动5TB数据,XOR为4TB,尽管这仍然需要很长的时间,但比RAID5还是缩短了4倍。
配置可能非常复杂,但只要我们大概了解到底需要解决哪些问题,就能针对不同应用确定采用哪种RAID级别最合适。说到底,肯定要在性能、容量和可靠性三者之间进行权衡取舍。
优点
RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。
RAID通过同时使用多个磁盘,提高了传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。
通过数据校验,RAID可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。
架构
基于不同的架构,RAID 的种类又可以分为: 软件RAID (软件RAID) ,硬件RAID (硬件RAID) ,外置RAID (External RAID)
软件RAID很多情况下已经包含在系统之中,并成为其中一个功能,如Windows、Netware及Linux。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统—主要是中央处理器的功能—提供所有现成的资源。
硬件RAID通常是一张PCI卡,在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会占用系统资源,从而令系统的表现可以大大提升。硬件RAID的应用之一是可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,亦即是由系统所操控。在系统里,硬件RAID PCI卡通常都需要安驱动程序,否则系统会拒绝支持。磁盘阵列可以在安装系统之前或之后产生,系统会视之为一个(大型)硬盘,而它具有容错及冗余的功能。磁盘阵列不单只可以加入一个现成的系统,它更可以支持容量扩展。方法也很简单,只需要加入一个新的硬盘并执行一些简单的指令,系统便可以实时利用这新加的容量。
外置式RAID也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的储存设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能,因为它只有一张SCSI卡;所有的RAID功能将会移到这个外置存储里。好处是外置的存储往往可以连接更多的硬盘,不会受系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置储存上,以提供容错能力。外置式RAID的应用之一是可以安装任何的操作系统,因此是与操作系统无关的。因为在系统里只存在一张SCSI卡,并不是RAID卡。而对于这个系统及这张SCSI卡来说,这个外置式的RAID只是一个大型硬盘,并不是什么特别的设备,所以这个外置式的RAID可以安装任何的操作系统。唯一的要求就是这张SCSI卡在这个操作系统要安装驱动程序。
术语
硬盘镜像(Disk Mirroring):硬盘镜像最简单的形式是,一个主机控制器带二个互为镜像的硬盘。数据同时写入二个硬盘,二个硬盘上的数据完全相同,因此一个硬盘故障时,另一个硬盘可提供数据。
硬盘数据跨盘(Disk Spanning):利用这种技术,几个硬盘看上去像是一个大硬盘;这个虚拟盘可以把数据跨盘存储在不同的物理盘上,用户不需关心哪个盘上存有他需要的数据。
硬盘数据分段(Disk Stripping):数据分散存储在几个盘上。数据的第一段放在盘0,第2段放在盘1,……直至达到硬盘链中的最后一个盘,然后下一个逻辑段将放在硬盘0,再下一个逻辑段放在盘1,如此循环直至完成写操作。
双控(Duplexing):这里指的是用二个控制器来驱动一个硬盘子系统。一个控制器发生故障,另一个控制器马上控制硬盘操作。此外,如果编写恰当的控制器软件,可实现不同的硬盘驱动器同时工作。
容错(Fault Tolerant):具有容错功能的机器有抗故障的能力。例如RAID 1镜像系统是容错的,镜像盘中的一个出故障,硬盘子系统仍能正常工作。
主机控制器(Host Adapter):这里指的是使主机和外设进行数据交换的控制部件(如SCSI控制器)。
热修复(Hot Fix):指用一个硬盘热备份来替换发生故障的硬盘。要注意故障盘并不是真正地被物理替换了。用作热备份的盘被加载上故障盘原来的数据,然后系统恢复工作。
热补(Hot Patch):具有硬盘热备份,可随时替换故障盘的系统。
热备份(Hot Spare):与CPU系统带电连接的硬盘,它能替换下系统中的故障盘。与冷备份的区别是,冷备份盘平时与机器不相连接,硬盘故障时才换下故障盘。
平均数据丢失时间(MTBDL-Mean Time Between Data Loss MTBDL,平均时间之间的数据丢失):发生数据丢失的事件间的平均时间。
平均无故障工作时间(MTBF-Mean Time Between Failure或MTIF MTBF - 平均无故障时间或MTIF):设备平均无故障运行时间。
廉价冗余磁盘阵列(RAID-Redundant Array of Inexpensive Drives RAID冗余阵列廉价驱动器):一种将多个廉价硬盘组合成快速,有容错功能的硬盘子系统的技术。
系统重建(Reconstruction or Rebuild 改造或重建):一个硬盘发生故障后,从其它正确的硬盘数据和奇偶信息恢复故障盘数据的过程。
恢复时间(Reconstruction Time 重建时间):为故障盘重建数据所需要的时间。
单个大容量硬盘(SLED-Singe Expensive Drive 单个大容量驱动器)。
传输速率(Transfer Rate 传输速率):指在不同条件下存取数据的速度。
虚拟盘(Virtual Disk 虚拟磁盘):与虚拟存储器类似,虚拟盘是一个概念盘,用户不必关心他的数据写在哪个物理盘上。虚拟盘一般跨越几个物理盘,但用户看到的只是一个盘。
规范
主要包含RAID 0~RAID 7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:
RAID 0:无差错控制的带区组
要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。同时,RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID 1:镜象结构
对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。当您的系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。
RAID2:带海明码校验
从概念上讲,RAID 2同RAID 3类似,两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字
节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用。下图右边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上,具体情况请见下图。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。
RAID3:带奇偶校验码的并行传送
这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度,它像RAID 0一样以并行的方式来存放数据,但速度没有RAID 0快。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID 2,RAID 3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为(n-1)/n。
RAID4:带奇偶校验码的独立磁盘结构
RAID4和RAID3很像,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点和RAID3也挺像,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。
RAID5:分布式奇偶校验的独立磁盘结构
从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。RAID-5的话,优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。因此RAID5是RAID级别中最常见的一个类型。RAID5校验位即P位是通过其它条带数据做异或(xor)求得的。计算公式为P=D0xorD1xorD2…xorDn,其中p代表校验块,Dn代表相应的数据块,xor是数学运算符号异或。
RAID5校验位算法详解
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 …Dn为数据块,P为校验,xor为异或运算)
XOR(Exclusive OR)的校验原理如下表:
A值 | B值 | Xor结果 |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR(非或又称"非异或")结果为0,A与B不一样时,XOR结果就是1,如果知道XOR结果,A和B中的任何两个数值,就可以反推出剩下的一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。这就是XOR编码与校验的基本原理。
RAID6:两种存储的奇偶校验码的磁盘结构
名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。
常见的RAID6组建类型RAID 6(6D + 2P)
1 RAID 6(6D + 2P)原理
和RAID 5相似,RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上。在图1中,D0,D1,D2,D3,D4和D5是条带化的数据,P代表校验数据,Q是第二份校验数据。
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 A1*D1 XOR A2*D2 XOR A3*D3 XOR A4*D4 XOR A5*D5
D0~D5:条带化数据
A0~A5:系数
XOR:异或
*:乘
在RAID 6中,当有1块磁盘出故障的时候,利用公式1恢复数据,这个过程是和RAID 5一样的。而当有2块磁盘同时出故障的时候,就需要同时用公式1和公式2来恢复数据了。
各系数A0~A5是线性无关的系数,在D0,D1,D2,D3,D4,D5,P,Q中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。这样在一个RAID组中有两块磁盘同时坏的情况下,也可以恢复数据。
上面描述的是校验数据生成的算法。其实RAID 6的核心就是有两份检验数据,以保证两块磁盘同时出故障的时候,也能保障数据的安全。
RAID7:优化的高速数据传送磁盘结构
RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。
RAID10/01:高可靠性与高效磁盘结构
这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以互为镜像的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于容量不大,但要求速度和差错控制的数据库中。
其中可分为两种组合:RAID10和RAID01
RAID 10是先镜射再分区数据。是将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。RAID 10有着不错的读取速度,而且拥有比RAID 0更高的数据保护性。
RAID 01则是跟RAID 10的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。RAID 01比起RAID 10有着更快的读写速度,不过也多了一些会让整个硬盘组停止运转的机率;因为只要同一组的硬盘全部损毁,RAID 01就会停止运作,而RAID 10则可以在牺牲RAID 0的优势下正常运作。
RAID 10巧妙的利用了RAID 0的速度以及RAID 1的保护两种特性,不过它的缺点是需要的硬盘数较多,因为至少必须拥有四个以上的偶数硬盘才能使用。
RAID 50:被称为分布奇偶位阵列条带
同RAID 10相仿的,它具有RAID 5和RAID 0的共同特性。它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID 0,实验跨磁盘抽取数据。RAID 50提供可靠的数据存储和优秀的整体性能,并支持更大的卷尺寸。即使两个物理磁盘发生故障(每个阵列中一个),数据也可以顺利恢复过来。
RAID 50最少需要6个驱动器,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。这些应用包括事务处理和有许多用户存取小文件的办公应用程序。
RAID 53:称为高效数据传送磁盘结构
结构的实施同Level 0数据条阵列,其中,每一段都是一个RAID 3阵列。它的冗余与容错能力同RAID 3。这对需要具有高数据传输率的RAID 3配置的系统有益,但是它价格昂贵、效率偏低。
RAID 1.5:一个新生的磁盘阵列方式
它具有RAID 0+1的特性,而不同的是,它的实现只需要2个硬盘。
从表面上来看,组建RAID 1.5后的磁盘,两个都具有相同的数据。当然,RAID 1.5也是一种不能完全利用磁盘空间的磁盘阵列模式,因此,两个80GB的硬盘在组建RAID 1.5后,和RAID 1是一样的,即只有80GB的实际使用空间,另外80GB是它的备份数据。如果把两个硬盘分开,分别把他们运行在原系统,也是畅通无阻的。但通过实际应用,我们发现如果两个硬盘在分开运行后,其数据的轻微改变都会引起再次重组后的磁盘阵列,没法实现完全的数据恢复,而是以数据较少的磁盘为准。
其他RAID级别
RAID1E
RAID 1E是RAID 1的增强版本,是由IBM公司提出的一种私有RAID级别,没有成为国际标准。它并不是我们通常所说的RAID 0+1的组合。RAID 1E的工作原理与RAID1基本上是一样的,只是RAID 1E的数据恢复能力更强,但由于RAID 1E写一分数据至少要两次,因此,RAID处理器的负载得到加强,从而造成磁盘读写能力的下降。RAID 1E至少需要3块硬盘才能实现。
RAID5E
RAID5E是RAID磁盘存储中的一个高的级别,RAID 5E(RAID 5 Enhancement)是在RAID 5级别基础上的改进,与RAID 5类似,数据的校验信息均匀分布在各硬盘上,但是在每个硬盘上都保留了一部分未使用的空间,这部分空间没有进行条带化,最多允许两块物理硬盘出现故障。看起来,RAID 5E和RAID 5加一块热备盘好象差不多,其实由于RAID 5E是把数据分布在所有的硬盘上,性能会与RAID5 加一块热备盘要好。当一块硬盘出现故障时,有故障硬盘上的数据会被压缩到其它硬盘上未使用的空间,逻辑盘保持RAID 5级别。
RAID5EE
RAID5EE是RAID磁盘存储中的一个高的级别,RAID 5EE是一个比较实用的技术。RAID 5EE提供了一个完善的替代"RAID5+HotSpare"盘的解决办法。原来的一块单独HotSpare热备份盘也进行Stripe条带化,并且平均分配到了5块磁盘中。这样,在RAID 5EE读写的时候,5块磁盘同时参与I/O,相比于4块磁盘+HotSpare盘的情况,多了一个磁盘的读写带宽,提高了性能。特别是在整体磁盘数量比较少,如4/5/6等的情况下,性能的提高尤为明显。
RAID 5EE相比于RAID5性能提高,那对于可靠性和容量利用率有什么影响呢?对于RAID 5EE来讲,一块硬盘损坏,就会自动重构成一个RAID5,另外一个硬盘再损坏,就会变成Degraded状态的RAID5,这和RAID 5+HotSpare的容错能力是一样的,也就是可靠性一样;对于RAID 5EE来讲,损失的容量为2块物理磁盘,而对于RAID5+HotSpare来讲,损失的容量也为2块物理磁盘,所以容量利用率也一致。值得注意的一点,RAID 5EE中包括的HotSpare盘是分布在每个磁盘中的,只能供RAID 5EE本身来使用,不能做另外RAID5的热备。
RAID ADG
RAID ADG类似于RAID 6,ADG技术是基于RAID5之上的,采用了冗余的校验盘;也可以理解成是给RAID5再做了一个RAID5的校验。实现两块硬盘的容错,至少需要4块硬盘。这个技术是康柏最先提出来的,现在HP就已经移植了该技术。
RAID3DP
RAID3DP是NEC公司的NEC Storage D存储系列产品使用的一种私有RAID级别,它由6或10个磁盘驱动所构成。此RAID推荐使用用同样容量/同样转数的磁盘驱动去定义,因为如果在RAID 内定义复数的容量的磁盘驱动,则会以最小容量的磁盘驱动为准构筑RAID ,在此情况下,容量大的磁盘驱动作为最小容量的磁盘驱动处理,残余的领域不能使用。此外,该RAID不可使用SATA
Matrix RAID
Matrix RAID即所谓的“矩阵RAID”,是ICH6R南桥所支持的一种廉价的磁盘冗余技术,是一种经济性高的新颖RAID解决方案。Matrix RAID技术的原理相当简单,只需要两块硬盘就能实现了RAID 0和RAID 1磁盘阵列,并且不需要添加额外的RAID控制器,这正是我们普通用户所期望的。Matrix RAID需要硬件层和软件层同时支持才能实现,硬件方面目前就是ICH6R南桥以及更高阶的ICH6RW南桥,而Intel Application Acclerator软件和Windows操作系统均对软件层提供了支持。
Matrix RAID的原理就是将每个硬盘容量各分成两部分(即:将一个硬盘虚拟成两个子硬盘,这时子硬盘总数为4个),其中用两个虚拟子硬盘来创建RAID0模式以提高效能,而其它两个虚拟子硬盘则透过镜像备份组成RAID 1用来备份数据。在Matrix RAID模式中数据存储模式如下:两个磁盘驱动器的第一部分被用来创建RAID 0阵列,主要用来存储操作系统、应用程序和交换文件,这是因为磁盘开始的区域拥有较高的存取速度,Matrix RAID将RAID 0逻辑分割区置于硬盘前端(外圈)的主因,是可以让需要效能的模块得到最好的效能表现;而两个磁盘驱动器的第二部分用来创建RAID1模式,主要用来存储用户个人的文件和数据。
例如,使用两块120GB的硬盘,可以将两块硬盘的前60GB组成120GB的逻辑分割区,然后剩下两个60GB区块组成一个60GB的数据备份分割区。像需要高效能、却不需要安全性的应用,就可以安装在RAID 0分割区,而需要安全性备份的数据,则可安装在RAID 1分割区。换言之,使用者得到的总硬盘空间是180GB,和传统的RAID 0+1相比,容量使用的效益非常的高,而且在容量配置上有着更高的弹性。如果发生硬盘损毁,RAID 0分割区数据自然无法复原,但是RAID 1分割区的数据却会得到保全。
可以说,利用Matrix RAID技术,我们只需要2个硬盘就可以在获取高效数据存取的同时又能确保数据安全性。这意味着普通用户也可以低成本享受到RAID 0+1应用模式。
NV RAID
NV RAID是nVidia自行开发的RAID技术,随着nForce各系列芯片组的发展也不断推陈出新。相对于其它RAID技术而言,目前最新的nForce4系列芯片组的NV RAID具有自己的鲜明特点,主要是以下几点:
(1)交错式RAID(Cross-Controller RAID):交错式RAID即俗称的混合式RAID,也就是将SATA接口的硬盘与IDE接口的硬盘联合起来组成一个RAID模式。交错式RAID在nForce3 250系列芯片组中便已经出现,在nForce 4系列芯片组身上该功能得到延续和增强。
(2)热冗余备份功能:在nForce 4系列芯片组中,因支持Serial ATA 2.0的热插拔功能,用户可以在使用过程中更换损坏的硬盘,并在运行状态下重新建立一个新的镜像,确保重要数据的安全性。更为可喜的是,nForce 4的nVIDIA RAID控制器还允许用户为运行中的RAID系统增加一个冗余备份特性,而不必理会系统采用哪一种RAID模式,用户可以在驱动程序提供的“管理工具”中指派任何一个多余的硬盘用作RAID系统的热备份。该热冗余硬盘可以让多个RAID系统(如一个RAID 0和一个RAID1)共享,也可以为其中一个RAID系统所独自占有,功能类似于时下的高端RAID系统。
(3)简易的RAID模式迁移:nForce 4系列芯片组的NV RAID模块新增了一个名为“Morphing”的新功能,用户只需要选择转换之后的RAID模式,而后执行“Morphing”操作,RAID删除和模式重设的工作可以自动完成,无需人为干预,易用性明显提高。
NV RAID的设置方式
nForce系列芯片组的BIOS里有关SATA和RAID的设置选项有两处,都在Integrated Peripherals(整合周边)菜单内。
SATA 的设置项:Serial-ATA,设定值有[Enabled], [Disabled]。这项的用途是开启或关闭板载Serial-ATA控制器。使用SATA硬盘必须把此项设置为[Enabled]。如果不使用SATA硬盘可以将此项设置为[Disabled],可以减少占用的中断资源。
RAID的设置项在Integrated Peripherals/Onboard Device(板载设备)菜单内,光标移到Onboard Device,按进入如子菜单:RAID Config就是RAID配置选项,光标移到RAID Config,按就进入如RAID配置菜单:
第一项IDE RAID是确定是否设置RAID,设定值有[Enabled], [Disabled]。如果不做RAID,就保持缺省值[Disabled],此时下面的选项是不可设置的灰色。
如果做RAID就选择[Enabled],这时下面的选项才变成可以设置的黄色。IDE RAID下面是4个IDE(PATA)通道,再下面是SATA通道。nForce2芯片组是2个SATA通道,nForce3/4芯片组是4个SATA通道。可以根据你自己的意图设置,准备用哪个通道的硬盘做RAID,就把那个通道设置为[Enabled]。
设置完成就可退出保存BIOS设置,重新启动。这里要说明的是,当你设置RAID后,该通道就由RAID控制器管理,BIOS的Standard CMOS Features里看不到做RAID的硬盘了。
DVRAID
DVRAID是ATTO公司的专有技术,它对数字内容创作环境起到优化作用,并在磁盘出现故障的情况下提供保护避免奇偶RAID的性能损失。DVRAID?支持4K影片编辑,多级2K视频流,多层未压缩的高清(HD)视频和实时的多层未压缩标清(SD)视频。这种技术可以在高带宽环境下提供均势保护。
RAID损坏处理
如果一个RAID级别被破坏了,可以按以下操作进行检查:先关闭计算机的电源,检查硬盘电源的连接,以及数据线是否与硬盘和RAID控制卡连接正常再重新开机;如果以上操作仍不能解决问题,可能是硬盘的问题,对于RAID 1和RAID 0+1,可以用一个新的硬盘将已经被破坏的硬盘上的数据进行备份,所有的数据都不会丢失的。对于RAID 0和JBOD,必须先删除原有的RAID级别,再进行RAID创建,但要注意,此动作会使硬盘的所有数据丢失,所以,对RAID 0和JBOD,请务必经常对数据进行备份。
数据恢复
1.数据丢失后,用户千万不要对硬盘进行任何操作,将硬盘按顺序卸下来(贴好标记),用镜像软件将每块硬盘做成镜像文件,也可以交给专业数据恢复中心进行。
2.不要对Raid卡进行Rebuild操作,否则会加大恢复数据的难度。
3.标记好硬盘在Raid卡上面的顺序。
4.一旦出现问题,可以拨打专业公司的咨询电话找专业工程师进行咨询,切忌自己试图进行修复,除非你确信自己有足够的技术和经验来处理数据风险。
常见Raid 数据丢失故障情况
1.软件故障:
a.突然断电造成RAID磁盘阵列卡信息的丢失。
b.重新配置RAID阵列信息,导致的数据丢失。
c.磁盘顺序出错,导致系统不能识别数据。
d.误删除、误格式化、误分区、误克隆、文件解密、病毒损坏等情况,导致数据丢失。
2.硬件损坏:
a.raid硬盘报红灯错误,硬盘检测报错情况。
b.raid硬盘出现坏道,导致数据丢失。
c.raid一般都会有几块硬盘,同样有故障允许损坏的硬盘数量(如RAID5允许损坏其中一块),当超出损坏的硬盘数量后,RAID数据将无法正常读取。