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

相关推荐

  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-29
  • 文件权限

     本篇博客是对文件权限的简单介绍,将会简述下权限的数字表现形式,还有字母表现形式,还有一些特殊的suid、sgid、sticky的权限介绍,还有对ACL权限的简述。  一、权限的定义     关于权限,百度百科的解释如下:权限(privilege)是指某个特定的用户具有特定的系统资源使用权力,像是文…

    Linux干货 2017-07-29
  • 树的遍历和排序

    树的遍历和排序

    Linux干货 2017-10-23
  • CentOS6 网卡bonding

    Bonding ;理念 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用 或者负载均衡。直接给两块网卡设置同一IP地址是不可以的 。通过bonding,虚拟一块网卡对外提供连接,物理网卡的 被修改为相同的MAC地址 banding工作模式 Mode 0 (balance-rr) 轮转(Round-robin)策略: 从头到尾顺序的在每一个slave 接…

    Linux干货 2017-11-24
  • date(时间),timedatectl(时区),cal(日历)的用法

    date+%F 显示日期,   显示格式如 2017-07-15+%T 显示时间    显示格式如 15:00:15+%Y 显示年      显示格式如 2017+%m 月 +%d 日+%H 时+%M 分+%S 秒+%s 从linux初始到现在经历了多少秒+%w 显示数字形式的星期+%a …

    Linux干货 2017-07-14
  • 脚本编程之变量

    简单跟大家介绍一下脚本编程中的变量。 大家都知道,脚本编程,主要由三个部分组成,一是命令,二是变量,三是控制语句。 变量的使用,可以让脚本变得更加简洁,高效。 我们主要简单讲一下变量的概念,变量的类型,变量的种类,不同种类的变量是如何定义的,变量的基本操作,以及变量的配置文件。 了解了这些,我们还可以聊一聊变量的高级操作。 首先,什么是变量? 通俗一点讲:变…

    Linux干货 2017-04-17