您当前位置:首页 >> 查看详情

标题:磁盘阵列RAID详解

磁盘阵列RAID详解

 
一、功能
1 对磁盘高速存取(提速): RAID将普通硬盘组成一个磁盘阵列,在主机写入数据,RAID控制器把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列;主机读取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,把它们重新组合后提供给主机。由于采用并行读写操作,从而提高了存储系统的存取系统的存取速度。

2 扩容

3 数据冗余

二、分类

RAID可分为级别0到级别6,通常称为:RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6。

RAID0:RAID0并不是真正的RAID结构,没有数据冗余,RAID0连续地分割数据并并行地读/写于多个磁盘上。因此具有很高的数据传输率,但RAID0在提高性能的同时,并没有提供数据可靠性,如果一个磁盘失效,将影响整个数据。因此RAID0不可应用于需要数据高可用性的关键应用。

RAID1:RAID1通过数据镜像实现数据冗余,在两对分离的磁盘上产生互为备份的数据。RAID1可以提高读的性能,当原始数据繁忙时,可直接从镜像中读取数据。RAID1是磁盘阵列中费用最高的,但提供了最高的数据可用率。当一个磁盘失效,系统可以自动地交换到镜像磁盘上,而不需要重组失效的数据。

RAID2:从概念上讲,RAID2同RAID3类似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。然而RAID2使用称为“加重平均纠错码”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。因此,在商业环境中很少使用。

RAID3:不同于RAID2,RAID3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。

RAID4:同RAID2和RAID3一样,RAID4和RAID5也同样将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,成为写操作的瓶颈。在商业应用中很少使用。

RAID5:RAID5没有单独指定的奇偶盘,而是交叉地存取数据及奇偶校验信息于所有磁盘上。在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID5更适合于小数据块,随机读写的数据。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

RAID6:RAID6与RAID5相比,增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高。即使两块磁盘同时失效,也不会影响数据的使用。但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的“写损失”。RAID6的写性能非常差,较差的性能和复杂的实施使得RAID6很少使用。

三、详细介绍

RAID0是具有提速和扩容的目的

在RAID0模式中,数据被分割为一定数量的数据块(Chunk)交叉写在多个硬盘上,一般的来说在RAID0系统中数据被分割的数量同RAID阵列所使用的硬盘的数量是有关的,比如RAID0中采用了3块硬盘,那么数据将会被分为三份依次的写入三个硬盘,通俗的说这种模式其实就是利用RAID技术让系统认为三块硬盘组成一个容量更大的硬盘,因为这个过程没有数据校验所以这种RAID模式是读写速度最快的一种。

RAID0并没有从安全性角度考虑,实际上,如果RAID0当中的一块硬盘坏了,所有数据都会损坏,并且没有办法恢复。这使得RAID0的安全性能非常差,所以很多用户出于安全考虑没有使用RAID0模式。虽然如此,RAID0毕竟是所有RAID方式当中速度最快的一种模式,如果RAID0模式当中有两块硬盘的话,那么RAID0的存储读取数据的速度会是单个硬盘双倍。,如果使用6块硬盘的话,那么理论速率就是单个硬盘的6倍。如果在RAID0模式当中使用不同的硬盘会造成两方面的问题,首先,RAID0的有效硬盘容量会是最小的硬盘的容量乘上硬盘的个数,这是因为如果容量的最小的硬盘存满了之后,RAID0依然会将文件平均分配到各个硬盘当中,此时便不能完成存储任务了;其次,如果RAID0当中的硬盘速度不同,那么整体的速度会是速度最慢的硬盘的速度乘上硬盘的个数,这是因为RAID0模式是需要将上一部的存储任务完成之后才能进行下一步的进程,这样,其它的速度快的硬盘会停下来等待速度慢的硬盘完成存储或者读取任务,使得整体性能有所下降。所以,在这里建议使用RAID0模式的用户最好选择容量和速度相同的硬盘,最好是同一品牌的同种产品。

因此RAID0在严格意义上说不是“冗余独立磁盘阵列”。RAID0模式一般用于需要快速处理数据但是对于数据的安全性要求不高的场合。这种RAID模式的特点是简单,而且并不需要复杂和昂贵的控制器。采用RAID0模式至少需要2块硬盘,最终得到的存储容量也是这两块硬盘的和。

RAID0的随机读取性能:很好
RAID0的随机写入性能:很好
RAID0的持续读取性能:很好
RAID0的持续写入性能:很好

RAID0的优点:最快的读写性能,如果每块硬盘拥有独立的控制器性能将会更好。

RAID0的缺点:任何一块硬盘出现故障所有的数据都会丢失,大部分的控制器都是通过软件实现的,所以效能并不好。

RAID1

RAID1模式是让组成RAID1模式的硬盘互为镜像,当你向硬盘中写入数据的时候,两个硬盘同时存储相同的数据,这样即使其中一个硬盘出现了故障,系统利用另外一个硬盘一样可以正常运行。RAID1相对于单块硬盘来说它的数据读取性能会更好一些,因为当一块硬盘处于忙的状态时,RAID控制器可以去读取另一块硬盘中同样的数据,但是写入数据性能不但没有增长而且可能会有轻微下降。当其中一块硬盘出现故障之后,新的数据可以写入仍然能够正常工作的硬盘,当使用新的硬盘替换掉原来的硬盘之后,RAID控制器会自动的把数据复制到新的硬盘上。RAID1模式的最大特点就是冗余性高,但是由于大部分的功能是利用软件来实现的,所以它会增加处理器的负担。这种RAID模式非常适合对数据的安全性有极高要求的人。

在RAID1模式当中,所使用的硬盘最好是相同的,否则会出现浪费硬盘空间的情况。由于RAID1模式是将相同的信息写入到不同的硬盘当中,所以RAID1模式的有效硬盘容量是阵列当中容量最小的硬盘的容量。举例来说,如果RAID1模式中有一块容量为20GB的硬盘和一块容量为30GB的硬盘,那么总体的RAID1的有效容量是20GB,从此那块30GB硬盘上剩下的10GB容量就会被浪费。同时,如果两块硬盘的速度不同的话,那么速度较快的那块硬盘依然会停下来等待速度较慢的那块硬盘完成任务之后再进行下一步行动。

RAID1的随机读取性能:好
RAID1的随机写入性能:好
RAID1的持续读取性能:一般
RAID1的持续写入性能:好

RAID1的优点:数据高可靠性,易于实现,设计简单。

RAID1的缺点:比RAID0相比速度较慢,特别是写入速度,另外就是我们仅仅能使用一半的硬盘容量。

RAID0+1

这种RAID模式其实是RAID0和RAID1模式的组合,至少需要4块硬盘。其中任何两块组成一个RAID0磁盘阵列,然后两个RAID0磁盘阵列可以看成两个容量更大、速度更快的硬盘,它们再组成一个RAID1磁盘阵列。这样的系统保证了较高的磁盘性能和较高的数据安全性。当然缺点也是显而易见的就是成本较高,构造比较复杂。RAID0+1在容错性能方面仅次于RAID5,一般用于文件服务器等方面。

RAID0+1的随机读取性能:很好
RAID0+1的随机写入性能:好
RAID0+1的持续读取性能:很好
RAID0+1的持续写入性能:好

RAID0+1的优点:相对于单块硬盘具有更高的读写性能,而且大大提高了数据的安全性。

RAID0+1的缺点:成本较高,至少需要4块硬盘。
<< 返回上一页