linux上RAID的工作方式

-. RAID是什么?

    磁盘阵列(Redundant Arrays of Independent Disks,RAID),是将多块廉价硬盘组合在一起当作一个更大的硬盘使用,利用可以同时对每个硬盘同时进行读写的特性提高计算机对硬盘的读写能力。我们甚至可以空出RAID中的一块或多块硬盘对整个RAID进行数据校验,提高其稳定和安全性。

    RAID根据硬盘的组合利用方式不同分为RAID0,RAID1,……,RAID7,RAID10,RAID01,RAID50,JBOD(just a bunch of disks)。其中常用的有0,1,5,10,01,50,JBOD。

    注意“RAID10”中的10不是“十”而是1和0的组合。

    下面就让我们跳几个常用的一睹其庐山真面目吧!

二. RIAD0

    blob.png

    RAID0有两块硬盘组成:disk0和disk1。

    假设我们要往RAID0上存入一个FILE1文件,其存储过程是将FILE1分成多个block,每个block命名为A1,A2,……

然后按图中所示方式存储至disk0和disk1。

    我们不难发现RAID0具有如下特定:

        1. 我们至少需要两块硬盘才能组成一个RAID0;

        2. 数据在RAID0中的存储过程至少简单的拆封和组合,却不具备校验能力;

        3. 其存储容量为:硬盘数*硬盘中的最小容量;

        4. 由于可以同时对多块硬盘进行读写,所以其读写性能提升;

三. RAID1

    blob.png

    RAID1也是至少有两块硬盘组成,其存储方式两个磁盘同时存入同样的内容,我们可以吧DISK2理解为DISK1的镜像。

    RAID1的特点:

        1. 由于要多出一块硬盘来做镜像,所以其写能力变差;

        2. 我们可以从两块硬盘同时读取同一个文件不同内容,所有其读能力变强;

        3. 多了镜像,所以其容错能力增强;

        4. 至少需要两块硬盘;

四,RAID4和RAID5

    blob.png

    RAID4至少由3块硬盘组成,其中两块用来存储,一块用来作为校验盘。比如图中由4块硬盘组成,D1,D2,D3用来存储数据,D4用来作为校验盘。我们可以通过A1,A2,A3通过一定的算法产生AP(1-3), 反过来却不行,但是如果说A1,A2,A3中任何一块出现问题,比如A2,我们可以通过AP(1-3),A1,A3反推出A2。

    RAID4具有以下特点:

        1. 至少需要3块硬盘;

        2. 安全稳定性能具有一定的提升(存在一块校验盘);

        3. 实际可利用空间比所有硬盘总和小一块硬盘的容量;

        4. 读和写性能得到提升;

    RAID5和RAID4基本相同,不同之处在于RAID5把不同的磁盘轮流作为不同的检验盘,如图所示:

    blob.png

    注: AP,BP,CP,DP为校验数据;

五,RAID10和RAID01

    blob.png

    RAID10是先把(DISK0,DISK1)和(DISK2,DISK3)先按RAID1组合然后再把两个RAID1按RAID0组合;

    RAID01是先把(DISK0,DISK1)和(DISK2,DISK3)先按RAID0组合然后再把两个RAID0按RAID1组合;

    两种组合方式在安全稳定性能上都很强,读写性能也很强,但是磁盘空间利用率不高(至少需要4块硬盘),土豪公司才会考虑采用这种组合方式。

 

原创文章,作者:Jacen,如若转载,请注明出处:http://www.178linux.com/9659

(0)
JacenJacen
上一篇 2015-12-06 20:23
下一篇 2015-12-06 20:26

相关推荐

  • bash脚本进阶

    case  变量引用  in PAT1)分支1 ;; PAT2)  分支2 ;; … *) 分支n ;; esac case支持glob风格的通配符:   *:任意长度任意字符: ?:任意单个字符: [ ]:指定范围内的任意单个字符: a|b:a或b function:函数   &nbs…

    Linux干货 2017-05-21
  • 阿里云2G2C的ECS部署LNMP性能瓶颈到底在多少

    服务器详细配置 Project message System info LSB Version:      :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch Distributor ID: CentOS Description: &n…

    Linux干货 2015-04-16
  • N25第三周作业

    .列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。 此题主要考察命令who,cut,sort以及管道的基本用法:who:列出当前已登陆的用户名,登陆设备名,时间以及ip地址。 cut:    顾名思义就是截取之意, -d 指定要截取信息的分隔符,此处是以空格为分隔符,-f指定要截取的字段,此…

    Linux干货 2016-12-20
  • 网络21期第十周博客作业

    网络21期第十周博客作业 1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos6启动流程:       POST加电自检 —> BOOT Sequence —> 加载内核启动系统  &…

    Linux干货 2016-09-15
  • Linux 下的帮助及文件管理

    1、whatis     whatis command 或 man -f command     仅能提供命令基本的介绍。不提具体用法。     基于数据库的查找,优点:检索速度快;缺点:缺乏实时性    &n…

    2017-07-15
  • 源码编译nginx和Nginx的特性,配置文件指令说明

    nginx的官方站点 www.nginx.org Nginx:engine X Tenginx:Taobao enginx libevent:高性能的网络库 epoll(); Nginx特性  模块化设计,较好扩展性:但不支持模块的动态装卸载;Tenginx支持;  高可靠性   master –> …

    Linux干货 2017-04-30