推荐-常用RAID级别详解

一、RAID是什么

      RAID(Redundant Arrays of Indent Disks)的名称是独立磁盘冗余阵列,是一种通过将多块硬盘按照某种特定的结构组织起来当做一块硬盘来使用的技术,多块硬盘不同的组织结构我们称之为RAID的级别。而RAID技术的特性主要表现在两个方面:

(1)提高硬盘的IO能力,也就是提高硬盘的读写速率;

(2)提高硬盘的耐用性。

二、RAID的级别

   (1) RAID-0

    RAID-0也叫条带卷(strip),通过将多块硬盘并行的组织起来的磁盘组织结构,当我们有要存的数据时,首先是将数据流提交给控制器,控制器将数据流切割成多块数据(chunk)然后平均分散到磁盘中。加入我们现在有一个10GB大小的数据,在我们对硬盘做RAID-0后,我们每个硬盘只需要吞吐5GB的数据,所以提高了总体硬盘的IO能力。但这种方式的缺陷也很明显,我们将两块硬盘组织成一块硬盘后,如果其中一块硬盘损坏那我们的数据也就不能使用了。也就是是说RAID-0再提高了我们硬盘一个总体的IO能力的同时,也降低了总体硬盘的一个耐用性,所以我使用RAID-0方式组织的硬盘我们并不推荐存储重要的数据。

总结:(硬盘的数量为N)

(1)RAID-0提升了硬盘的读、写的速度;

(2)硬盘的可用空间:N*硬盘空间最小的那块硬盘的大小

(3)该结构没有容错能力

(4)最少磁盘数:2个(硬盘数量越多,读取速度越快,同时冗余性越差)

以下是RAID-0的结构图:

blob.png

   (2)RAID-1 

    RAID-1也叫镜像卷(mirror),是由两块硬盘所构成的存储阵列,当有需要存储的数据流时,数据流分别写入两块硬盘,当其中一块硬盘损坏时可以从另外一块硬盘读取数据,使用这种方式降低了数据的写入速度,因为要将数据写入两块硬盘,但是提升了数据的读取速度,因当两块硬盘中的数据是一样的,可以从两块硬盘中分别读取数据。同时也实现了数据的冗余性,当只坏其中一块硬盘时,数据可以从另一块硬盘中读出。但是这种方式也降低了硬盘的容量。当只有两块硬盘时,硬盘的容量仅为一半。

总结:

(1)RAID-1提升数据的读取速度,同时降低了数据的写入速度(数据写入速度最终取决于写入速度最慢的磁盘);

(2)硬盘的可用空间为1*硬盘空间最小的那块硬盘的大小

(3)该结构有冗余能力

(4)最少磁盘数:2个或2个以上(磁盘数量越多数据的读取速度越快,同时冗余性越高,但在这里RAID-1只推荐使用两块硬盘)


RAID-1的结构组织如下图所示:

 blob.png

    

     (3)RAID-4

    RAID-4使用三块或者以上的硬盘组织成RAID,其中一块做校验盘无语的盘用于存储数据。比如当前有三块硬盘做RAID-4时,其中一块磁盘作校验盘,其余两块磁盘用于存储数据。当有数据需要存储时,第一步仍然是将数据切成chunk然后将数据平均分入除校验盘以外的两块磁盘中,同时这两块磁盘中的数据做异或运算用来做校验码并将校验码存入校验盘中。当其中一块硬盘损坏时损坏磁盘的数据可以通过校验码计算出:例如

第一块硬盘的数据      第二块硬盘的数据      校验盘的数据

01110                11011             10101

   第一块硬盘损坏,第二块硬盘的数据和校验码做异或运算,结果为:01110 (也就是第一块硬盘的数据)  

总结:这种结构的磁盘有冗余性,但缺点是对校验盘的访问压力很大,所以校验盘有很大概率会损坏同时因为校验盘的IO的限制导致我们硬盘读取速率不高并且硬盘的损坏率也很高。

以下是RAID-4的结构:

blob.png

    (4)RAID-5

    RAID-5将校验码平均分到各个磁盘中,这样就将校验盘的访问压力平均分到每一块磁盘中降低了校验盘的访问压力。这种磁盘的结构既提升了IO同时磁盘又有冗余能力,同时根据第一块磁盘存放校验码还是最后一块磁盘存放校验码。如果将校验码当做对称线,那么使数据看上去可以分为左对称或右对称两种布局,左对称和右对称。两种布局方式的性能和使用机制不同,一般来讲RAID-5都是基于左对称

总结:(N为硬盘的个数)

(1)RAID-5提升了数据的读取速度和写入速度;

(2)硬盘的可用空间为N*硬盘空间最小的那块硬盘的大小

(3)该结构具有冗余能力(最多只能损坏一块硬盘)

(4)最少磁盘数:3个,或3个以上

   以下是RAID-5的结构:

blob.png

   (5)RAID-6

    只有当有4块以上的硬盘时才会使用RAID-6。RAID-6使用两块硬盘做校验盘,另外两块硬盘用于存储数据,同时两块校验盘做循环校验。硬盘使用这种结构组织既提升了IO能力同时也有冗余能力,只有两块硬盘都损坏的情况下,数据才会彻底损坏。

总结:(硬盘的数量为N)

(1)RAID-6的数据读取能力和数据的写入能力提升;

(2)硬盘的可用空间为:(N-2)*硬盘空间最小的那块硬盘的大小;

(3)该结构有冗余能力(最多允许两块硬盘损坏);

(4)最少磁盘数:4个或4个以上。


 以下是RAID-6的结构:

blob.png

    (6)RAID-10

     RAID-10就是先将硬盘两两一组做成RAID-1然后再将这一组一组的RAID-1做成RAID-0。而RAID-01就是先将硬盘两组硬盘,每一组的硬盘单独做成RAID-0然后这两组硬盘做成RAID-1。

RAID-10总结:(硬盘的数量为N)

(1)RAID-10的数据的读取能力和数据的写入能力提升;

(2)硬盘的可用空间:N*硬盘空间最小的那块硬盘的大小/2;

(3)该结构有冗余能力,每组镜像只能损坏一块硬盘;

(4)最少磁盘数:4个或者4个以上。

RAID-01总结:(硬盘的数量为N)

(1)RAID-01的数据读取能力和数据的写入能力提升;

(2)硬盘的可用空间:N*硬盘空间最小的那块硬盘的大小/2;

(3)该结构有冗余能力,可以损坏任意一组的硬盘;

(4)最少磁盘数:4个或者4个以上。


RAID-10的结构:

blob.png

RAID-01结构:

blob.png

原创文章,作者:因为有你,如若转载,请注明出处:http://www.178linux.com/12946

评论列表(1条)

  • stanley
    stanley 2016-03-27 21:58

    细节可以看的到差距,赞。图非常认真给力。赞

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code