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
下一篇 2015-12-06

相关推荐

  • linux的CentOS系统启动故障与修复

        以CentOS 6为例,系统的启动流程为: 1.开机post加电自检 2.MBR引导 3.通过grub加载内核 4.加载根 5.加载系统中的第一个进程 6.进行初始化 7.出现登录界面     其中主要的启动环节是grub引导计算机,分为三个阶段:一阶段发生在mbr的446字节中;一点五阶段在mbr后续的扇区中…

    2017-09-03
  • 虚拟主机的实现

    示例1:基于ip 编辑配置文件,切换到最后一行,增加: <VirtualHost 192.168.1.117:80>     ServerName web1.ams.com     DocumentRoot "/vhosts/web1/htdocs" </VirtualHost&g…

    Linux干货 2016-08-05
  • N25第三周作业

    一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@centos01 ~]# who | cut -d " " -f1 | uniq -u root qufudcj 二、取出最后…

    Linux干货 2016-12-26
  • Linux任务计划及内核管理

    作业管理:     前台作业:通过终端启动,且启动后一直占据终端;     后台作业:通过终端启动,但启动后随即转入后台运行(释放终端) 将作业放入后台的操作     1)运行中的作业:ctrl+z     2)还未执行的作业:command &   …

    Linux干货 2016-09-09
  • 位置变量$1,$2,$@,$*,$#详解

    位置变量: 位置变量实际是属于系统预定义变量的一种,不能修改变量名,同时作用也是固定的,也不能新增的变量,只能修改变量的值。     常用的位置参数变量        $0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号括起来,比如${11}.     该变…

    Linux干货 2016-08-18
  • iptables练习

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 系统默认策略设定: ~]# iptables -P INPUT DROP ~]# iptables -P OUPUT DROP 网络说明…

    Linux干货 2016-12-27