RAID详解

1、什么是RAID

RAID:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。其基本思想就是将多个相对便宜的硬盘结合起来,成为一个磁盘阵列,是性能达到甚至超过一个昂贵、容量巨大的硬盘,根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。目前应用较多的有RAID0,RAID1,RAID4,RAID5,RAID6,RAID10,RAID01等。

简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只把它当作一个硬盘,不同的RAID有不同的特点,在不同的生产环境中,我们需要按照不同的要求妥善选择RAID。

2、RAID比较

RAID档次 最小硬盘 最大容错 可用容量 读性能 写性能 安全性 目的 应用环境
单一磁盘 1 0 1 1 1
0 2 0 n n n 一个硬盘异常,全部硬盘都会异常 追求最大容量与速度 可应用于缓存应用
1 2 n-1 1 n 1 最高,一边镜像卷正常即可 追求最大的安全性 个人、企业备份
4 3 1 n-1 1 1 高,在单独一块硬盘计算校验码 追求最大容量与较高的安全性 由单一校验磁盘制约整个raid性能,不常用
5 3 1 n-1 n-1 n-1 高,分散计算校验码 追求最大容量与最小预算 个人、企业备份
6 4 2 n-2 n-2 n-2 较raid5高 同raid5,但允许两块硬盘出现问题 个人、企业备份
10 4 n/2 n/2 n n/2 安全性高 整合raid1与raid0,理论速度较快 大型数据库应用
01 4 n/2 n/2 n n/2 较raid10差 同raid10,但两边存储区不允许同时坏一块硬盘 不常用
JBOD 1 0 n 1 1 同raid0 增加存储 大数据暂时储存

1、n代表硬盘总数

2、JBOD可接到现有硬盘,直接增加容量

RAID 0

RAID 0可称为调带,将两个以上的磁盘并联起来,成为一个大容量的磁盘。在存放数据时,分别分散存储在这些磁盘中,因此读写可并行处理,在所有RAID中的 RAID 0的速度是最快的,但是RAID 0 没有冗余能力,也不具备冗余能力,一块磁盘损坏将导致整个RAID不可用。

图片.png

RAID 1

RAID 1可称为镜像,在多线程操作中有较好的读性能,但是写性能较低,整体安全性很高,只需要一块磁盘正常,整个数据就可用,可靠性极高,其原理在主硬盘存放数据的同时也在镜像硬盘上写一样的数据,当主硬盘损坏,镜像盘可接剔主硬盘正常工作。整个RAID 1的容量受整个RAID 1组成磁盘的最小容量影响,即size=min(S1,S2,S3…)

图片.png

RAID 4

RAID 4将数据校验码存放在一块硬盘中,整个数据的读写都将受到这块硬盘的io制约,存在数据校验码恢复功能,最多可损坏1块,最少组成为3块磁盘。

图片.png

RAID 5

RAID 5是RAID 4的升级版,将数据的校验码存放在各个磁盘中,当数据损坏时,可通过校验码进行数据恢复,可靠性很高,最多可损坏1块,最少3块组成RAID 5,整个RAID5的磁盘容量计算为:size=(n-1)x min(S1,S2,S3…)

图片.png

RAID 6

与RAID 5 相比,RAID 6 增加了第二块校验码盘,采用两种不同校验码计算方式,数据可靠性很高,因此他允许同时损坏2块,但同时必须4块磁盘才可以组成RAID 6,整个RAID 6的容量计算方式:size=(n-2)x min(S1,S2,S3…)

图片.png

RAID 10/01

RAID 10是先镜射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。

RAID 01则是跟RAID 10的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。

当RAID 10有一个硬盘受损,其余硬盘会继续运作。RAID 01只要有一个硬盘受损,同组RAID
0的所有硬盘都会停止运作,只剩下其他组的硬盘运作,可靠性较低。如果以六个硬盘建RAID 01,镜射再用三个建RAID
0,那么坏一个硬盘便会有三个硬盘离线。因此,RAID 10远较RAID 01常用。

图片.png

JBOD

数据的存放机制是由第一颗硬盘开始依序往后存放,即操作系统看到的是一个大硬盘(由许多小硬盘组成的)。JBOD的传输速率与I/O表现均与单颗硬盘无异。

size=sum(S1,S2,S3…)

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

(0)
N25_随心N25_随心
上一篇 2017-01-03 11:05
下一篇 2017-01-03 11:05

相关推荐

  • 课堂练习之 “;” 用法

    作业:如何实现前一条命令执行成功,才会执行后面一条命令,以及前一条命令执行失败才会执行后一条命令。 首先,多条命令一起执行的方法有几种。   1.用;隔开,不会判断前一条命令是否执行成功或失败。   2.用&&隔开,前面命令执行成功后,才会执行后面的命令。     3.用||或|隔开,前面命令执行失败后…

    2017-07-15
  • 20160804作业

    查出分区空间使用率的最大百分比值 查出用户UID最大值的用户名、UID及shell类型 查出/tmp的权限,以数字方式显示 统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255        &nb…

    Linux干货 2016-08-08
  • 函数式编程

    当我们说起函数式编程来说,我们会看到如下函数式编程的长相: 函数式编程的三大特性: immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修改。这样一来,可以让你的程序少很多Bug。因为,程序中的状态不好维护,在并发的时候更不好维护。(你可以试想一下如果你的程序有个复杂的状态,当以后别…

    Linux干货 2016-08-15
  • N22-妙手-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;: #!/bin/bash # declare -i numberOfLoginUser=0 declare -i numberOfUnloginUs…

    Linux干货 2016-10-19
  • Linux磁盘与文件系统管理的一些命令

    fdisk fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣。 输入m列出可以执行的命令 p:显示磁盘分区表 n:new,新建分区 d:delete,删除分区 t:更改系统类型 l:列出已知分区类型 w:保存并退出 q:不保存退出…

    Linux干货 2017-04-23
  • 浅谈正则表达式

    1.       什么是正则表达式 基本说来,正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express。本文将用<<regex>>来表示一段具体的正则表达式。 一段文本就是最基本的模式,简单的匹配相同的文本。   2. &n…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-15 01:48

    能简单说明下在哪些场景会用到哪种raid最佳~继续加油!