推荐-常用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

相关推荐

  • M22 用户、组学习总结

    Linux系统的登录方式是通过账号和密码。每一个登录账号都有一个主组可能有附加组。Linux内的文件和目录都有所有者和属组,只有相应权限的账户可以对其进行操作,下面我对用户权限相关内容进行了总结。   1、  用户ID,每个用户具有相应的ID号码,主要分为两类:系统ID和用户ID,在Centos6中系统ID为1-499,用户ID >…

    2017-02-22
  • 面向对象

    语言分类 面向机器:抽象成机器指令,机器容易理解。代表:汇编语言 面向过程:一件事情分步骤来完成,出现各种情况有解决办法一一对应,问题规模小可以步骤化、按部就班的处理。代表:C语言 面向对象oop(object Oriented Programming):随着计算机解决问题的规模扩大、情况更复杂,需要很多部分协作,面向过程编程就不合适了,演变出了面向对象编程…

    Linux干货 2017-11-13
  • 程序包管理

    程序包 linux的程序包主要分为两类;二进制可执行安装包和源代码程序文件包     二进制应用程序的组成部分:     二进制文件、库文件、配置文件、帮助文件   查看二进制程序所依赖的库文件:     ldd&nbs…

    Linux干货 2016-05-30
  • RAID特性和常见级别

    简介:    RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。RAID通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。 R…

    Linux干货 2016-02-14
  • 破解root口令

    这里主要介绍一下centos6和7root密码的破解方法 这里先说一下centos7的口令破解方法 破解CentOS7的root口令方法一 启动时任意键暂停启动  按e键进入编辑模式  将光标移动linux16开始的行,添加内核参数rd.break 按ctrl-x启动 这是进来之后的界面 然后查看用户的登录信息 echo $UID 显示结…

    2017-07-14
  • VIM编辑器入门

    VIM简介 VIM是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 VIM的使用 在介绍基本使用前,先了解下VIM的基本模式 基本模式可分为三种:命令模式、输入模式、末行模式 命令模式:Vim启动后的默认模式,通过输入指令完成对应的编辑操作。输入模式和末行模式从命令模式进入&nb…

    Linux干货 2016-04-05

评论列表(1条)

  • stanley
    stanley 2016-03-27 21:58

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