RAID系列的详细总结

1、 RAID0:无差错控制的带区组

     要实现RAID0必须要两个以上的硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上面的,而是分成数据块保存在不同的驱动器(不同的硬盘)上面。因为将数据分布在不同的驱动器上,所以数据的吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率是最好的。它不需要计算校验码,它的缺点就是没有数据的差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事。不应该应用于对数据稳定性要求比较高的场合。



注:图上的A、B、C、D、E、F、G等等都表示一个Segment,横着一行的诸如ABCD、EFGH等属于一个条带(stripe)。

RAID0的读写原理用一个从上到下访问RAID0系统的过程来显示如下:

(1)   假如某一时刻,主机控制器发出指令,读取初始扇区为1000长度为128.

(2)   RAID0接受到这个指令之后,立即进行计算,根据公式计算出1000号扇区对应的物理磁盘的扇区号。

(3)   依次计算出逻辑上连续的下128个扇区所在的物理磁盘的扇区号。

(4)   分别向这些扇区的磁盘再次发出指令,同时对这些磁盘进行读取的操作。

总结:在读取的过程中始终是同时对几个磁盘进行操作的,因为控制器在把数据写入还是读出之前就把相应的位置都计算好了,所以在操作的时候都是同时对各个盘进行操作的(不是先放满一个Segment,然后再放满第二个Segment),它的缺点就是没有数据的差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事。不应该应用于对数据稳定性要求比较高的场合。

2、RAID1:镜像结构(为了解决RAID0没有差错控制的问题来设计的)

对于RAID1系统来说RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器(或者是2的倍数个驱动器)。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。


RAID0的读写原理:在写的时候对于每个磁盘来说都是以个数据块一个数据块依次的写入磁盘的,在写入磁盘的同时还要将相同的数据写入到镜像盘中。在读取数据的时候,控制器将会从阵列中的一个磁盘当中依次进行读取操作。

3、RAID2:海明码校验(利用海明码的特点,RAID2它可以在数据发生错误的情况下将错误校正,以保证输出的正确

从概念上讲,RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。


注:图中左边部分是四个独立的磁盘被以位的条带进行划分成许多条带,而右边的三个磁盘分别存放左边四个磁盘的校验位(因为条带是以位为单位的,所以当有四位的数据的时候应该有三位的校验位,具体由公式:2^r>n+r,其中n位数据的位数,r为校验的位数)。

4、RAID3:带奇偶校验码的并行传送

     这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。RAID3以一个扇区或者几个扇区为单位来分割这样是为了保证每次IO占用全部磁盘的并行性(分割的单位比较的小,所以不会产生对校验盘进行争抢的问题)。同时产生校验码的时候使用的是XOR(异或)校验算法来进行校验的。


RAID3的读写原理:对于RAID3在写的时候,在同一时刻把数据写入到各个磁盘中,(主要是依次写入各个条带中,每个条带涉及到所有的磁盘,相当于同时把数据写到所有的磁盘上),在并行写数据的同时也通过计算进行校验盘的写操作。至于读操作比较简单,在读的时候在数据存储盘中找到相应的数据块进行读取操作即可。

5、RAID4:带奇偶校验码的独立磁盘结构

   RAID4和RAID3很像,不同的是,它对数据的访问是按数据块(所谓数据块:简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。RAID 4 这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响)进行的,也就是按磁盘进行的,每次是一个盘。如下是RAID4的结构图:

RAID4的读写原理:raid4在写的过程中一个硬盘一个硬盘的写,即要等一个硬盘写完后才能写下一个硬盘,同时在写入的时候还要写入到相应的校验盘中。读取过程也是一个硬盘一个硬盘的相继读出数据。


总结:RAID4的缺点主要是存在于写IO的时候,由于以数据块位单位,所以可以存在并发执行IO的情况,当发生并发IO操作的时候就会出现争用校验盘的情况,这个时候校验盘就是成为了瓶颈。

6、RAID5分布式奇偶校验的独立磁盘结构(RAID5主要是解决RAID4中争用校验盘的问题而产生的,解决RAID4的写操作瓶颈)

在RAID5不是以单独硬盘来存放数据的校验位而是采用分布式的校验盘的做法,将校验盘打散在RAID组中的每块磁盘中,这样做相对其他的RAID来说既可以在保证高磁盘性能的同时也确保了数据的安全。如下是RAID5的结构图:


由图可以看出,RAID5不对存储的数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储在不同的磁盘上面。当RAID5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。主要的优点是保证高磁盘性能的同时确保了数据的安全。

 


你可能感兴趣的:(实验室周报)