推荐-常用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)
上一篇 2016-03-27 21:54
下一篇 2016-03-27 22:02

相关推荐

  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11
  • BT雷人的程序语言

    这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站《6个变态的C语言Hello World程序》的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请…

    Linux干货 2015-04-03
  • 我的linux学习方法

    目前记住Linux单词命令过于困难,现在主要记住linux的命令的作用及用处,不记得单词可以百度查找做多了自然就记住了。

    Linux干货 2018-03-17
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@loalhost ~]# (umask 077; cp -r /etc/skel /home/user1) 2、编辑/etc/group文件,…

    Linux干货 2016-09-06
  • 第5周

    1, ~]# grep "^root\>" /etc/passwd | cut -d: -f7 4,~]# ifconfig | grep "\<[0-9][0-9][0-9]\>" 7, ~]# find /var -user root -group mail 8,~]# fin…

    Linux干货 2016-09-15
  • 深入了解磁盘结构

    一、     linux中常见的磁盘:   无论什么操作系统,归根还是要落实与磁盘上的,对于磁盘的管理也是linux管理必备的一项技能。在linux中“一切皆文件”的思想贯彻整个linux的学习中,包括像是磁盘等的硬件也是在linux的/dev/目录下类似于文件形式的存放,常见的SATA口USB优盘或是SCS…

    Linux干货 2016-08-29

评论列表(1条)

  • stanley
    stanley 2016-03-27 21:58

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