菜鸟训练地——硬件名称解释连载之RAID磁盘阵列
在一台计算机中,可能人们比较关注的是CPU、内存等部件,因为这些部件对整个System的性能起着关键性的作用。不过磁盘性能也是我们不能忽视的一部分。在多数服务器上都应用了这样一个技术——RAID,它的英文全拼是Redundant Array of Inexpensive Disks,中文翻译是磁盘阵列。简单的讲RAID可以把多块IDE硬盘或SCSI硬盘,当做一块硬盘来管理和读存数据,这样可以提高磁盘系统的稳定性并且提速。除了这个功能外,RAID另外一个功能就是容错。当一个RAID系统中一块硬盘出现了故障后,并不会影响系统的正常使用,其他的硬盘会继续工作。
RAID磁盘阵列主要是应用在高端服务器上,作用就是资料备份。服务器上的SCSI硬盘和SCSI卡的价格都不菲,一般个人用户很难体会到RAID系统带来的便利。因此SCSI RAID系统不可能进入我们生活,在这种环境下就出现了IDE RAID系统。因为IDE硬盘目前的容量和速度都在不断提升,性能正在追赶SCSI硬盘,但IDE硬盘价格却很低廉。因此IDE RAID系统实在一种低端的RAID最佳方案。

HighPoint HPT370 IDE RAID控制芯片
RAID共分为了很多等级,它们依次如下:
RAID 0:这是最简单的RAID模式,它仅仅有延展功能而没有数据冗余功能,所以不适于数据稳定性敏感的应用。RAID0因为其相对低廉的造价和明显的性能提升在主流市场上已经流行起来。RAID 0是通过RAID控制器把多个硬盘当成一个容量更大、速度更快的硬盘来使用,所以最后要声明的是任何一个硬盘出问题都可能造成整个阵列的数据丢失。
RAID 1其实就是镜像技术的实现。简单工作原理就是把相同的数据备份存放在两个驱动器,当一个驱动器出现故障,另一个仍然可以维持系统的正常运转。当然恢复故障驱动器也是非常简单的,只要把数据完好的备份拷贝到正常的硬盘上就可以了。数据冗余的换来的是数据的安全。有的RAID 1通过增加一个RAID控制器来提高容错能力。所以对于关键数据来将这将是最好的选择。不过RAID 1对于系统的性能提高很小。

RAID 2利用汉明校验码(Hamming code ECC.)实现字节层延展技术。这个技术类似于奇偶校验但是并不完全相同。数据以字节为单位被分割并存储在硬盘以及ECC盘上——每当在阵列上写入数据,利用汉明校验规则生成的汉明码就写在了ECC盘,当从阵列中读取数据的时候,汉明码就被用来检验数据写入阵列之后是否被更改过。单字节的错误也能被简测出来并且立即修正过来。不过这种模式所需的RAID控制器价格昂贵。
RAID 3利用专门奇偶校验实现的字节层延展技术。换句话说,就是应用延展技术将数据分布到阵列的各个驱动器上,同时用专门的驱动器存储用于校验的冗余信息。这种形式的优点就是既通过延展技术提高了性能,又利用专门奇偶校验驱动器容纳冗余信息,以保证数据的安全。一般至少需要3块硬盘:两块用于延展,一块做为专门奇偶校验驱动器。不过虽然利用延展技术提高的性能,可以因为奇偶校验在写入数据时又抵消了一部分性能——因为校验信息同时也需要写入校验驱动器。因为需要进行大量的计算,所以需要硬件RAID控制器。
RAID 4同RAID 3很相似。唯一的区别就是使用块层延展技术(block level striping),而不是使用的字节层延展技术(byte level striping)。优点是可以通过更改延展容量大小来适用于不同应用。RAID 4也可以看作是RAID 3和RAID 5的混和——既有RAID 3专门奇偶校验驱动器,也有RAID 5的块层延展技术。另外仍然需要硬件RAID控制器。当然专门奇偶校验驱动器还是会降低一些性能。
RAID 5使用块层延展技术和分布式奇偶校验来实现。它主要针对专门奇偶校验驱动器所带来的瓶颈而产生的解决方案。利用分布式奇偶校验运算法则,把数据和校验数据写在所有的驱动器中。当一个硬盘驱动器出现故障,可以从其它的驱动器之中的数据块分离出校验信息从而恢复数据。由于分布式校验本身属性,恢复数据会比其它的形式复杂。RAID 5也可以通过更改延展容量的大小来满足不同应用的需要,另外还需要硬件RAID控制器。
RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构
名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。
RAID7:优化的高速数据传送磁盘结构
所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作,当然了,这么快的东西,价格也高呀。
RAID10:高可靠性与高效磁盘结构
这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于容易不大,但要求速度和差错控制的数据库中。
RAID53:高效数据传送磁盘结构
越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。