RAID实现原理及常用级别

RAID(Redundant Array of Independent Disks):

定义:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列(Redundant Array of Independent Disks),简称磁盘阵列。

原理:把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使其性能达到甚至超过价格昂贵,容量巨大的硬盘。

优势:

  • RAID在容量和管理上的优势

    • 易于灵活地进行容量拓展

    • “虚拟化”可使管理性极大的增强

  • RAID在性能上的优势

    • “磁盘分块”技术带来性能的提高

  • RAID在可靠性和可用性上的优势

    • 通过冗余技术和热备、热换提升了可靠性

分级

RAID-0:条带卷。将两个以上磁盘并联起来,成为一个大容量的磁盘。在存放数据时,以条带的形式将数据块(chunk)均匀分布在阵列的各个磁盘上,因为读写时都可以并行处理,所以在所有的级别中,RAID-0的速度是最快的。但是RAID-0既没有冗余能力,也不具备容错能力,如果一个物理磁盘损坏,所有数据都会丢失。

小结:

  1. 硬盘的读、写性能均得到提高

  2. 磁盘阵列可用空间:size=N*min(S1,S2,S3…)

  3. 无容错能力

  4. 所需最少磁盘数为2块

RAID实现原理及常用级别

RAID-1:镜像卷。以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上。在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID-1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。

小结:

  1. 读性能提升,写性能略有下降

  2. 磁盘阵列可用空间:size=min(S1,S2,S3…)

  3. 有冗余能力

  4. 所需最少磁盘数为2块

RAID实现原理及常用级别

RAID-3:数据块被分为更小的块并行传输到各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上,比较适于读取大量数据时使用。

小结:

  1. 读写性能都比较好当有磁盘损坏时,对整体吞吐量影响较小

  2. 采用并行存取方式,主轴同步时吞吐量没有提高校验磁盘的写性能有瓶颈

  3. 所需最少磁盘数为3块

RAID实现原理及常用级别

RAID-4:数据被分为更大的块并行传输到各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上,它与RAID 3不同的是它在分区时是以区块为单位分别存在硬盘中.

小结:

  1. 提高了读、写性能,但是冗余校验码都是存放在单一硬盘上,所以此硬盘性能可能会很差

  2. 提高了硬盘容错能力

  3. 阵列所需最少磁盘数为3块

  4. 可用空间:size=(N-1)*min(S1,S2,S3…)

RAID实现原理及常用级别

RAID-5:较RAID-4,采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上。

小结:

  1. 提高了读、写性能

  2. 提升了硬盘的容错能力

  3. 阵列的可用空间:size=(N-1)*min(S1,S2,…)

  4. 最少磁盘数为3块

RAID实现原理及常用级别

RAID-6:带有两种分布存储的检验信息的磁盘阵列,它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,使用了二种奇偶校验方法,需要N+2个磁盘。

小结:

  1. 读、写性能提升

  2. 可用空间:size=(N-2)*min(S1,S2,…)

  3. 提高了容错能力

  4. 所需最少磁盘数为4块

RAID实现原理及常用级别

RAID-10:结合RAID-1和RAID-0,先镜像,再条带化。

小结:

  1. 读、写性能提升

  2. 可用空间:size=N*min(S1,S2,…)/2

  3. 有容错能力:每组镜像最多只能坏一块

  4. 最少磁盘数为4块

RAID实现原理及常用级别

RAID-01:结合RAID-0和RAID-1,先条带化,再镜像。

小结:

  1. 读、写性能提升

  2. 可用空间:size=N*min(S1,S2,…)/2

  3. 有容错能力,但效果不理想

  4. 所需最少磁盘数为4块

RAID实现原理及常用级别

RAID-50:RAID 5与RAID 0的组合,先作RAID 5,再作RAID 0.

小结:

RAID 50在底层的任一组或多组RAID 5中出现1颗硬盘损坏时,仍能维持运作,不过如果任一组RAID 5中出现2颗或2颗以上硬盘损毁,整组RAID 50就会失效。

RAID实现原理及常用级别

JBOD:将多个硬盘空间合并成一个大的逻辑硬盘。

小结:

  1. 没有错误备援机制

  2. size=sum(S1,S2,…)

RAID实现原理及常用级别

常用RAID级别的比较

RAID实现原理及常用级别

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

(0)
JeasonJeason
上一篇 2016-07-22 10:05
下一篇 2016-07-22 10:05

相关推荐

  • Linux终端类型

    目录 1. 终端概述 2. 串行端口终端(/dev/ttySn) 3. 伪终端(/dev/pty/) 4. 控制终端(/dev/tty) 5. 控制台终端(/dev/ttyn, /dev/console) 6. 虚拟终端(/dev/pts/n) 7. 其它类型   终端概述 终端…

    Linux干货 2016-10-18
  • 运维学习笔记-看看别人家的Puppet代码

    这篇博客的目的是通过分析Forge上的Puppet模块来加深一些概念的理解,同时了解一些常用用法。 今天的例子是jfryman-nginx模块,它是原puppetlabs-nginx模块的升级版本,依赖3个Puppet公共模块:puppetlabs-apt,puppetlabs-stdlib和puppetlabs-concat。安装非常方便,puppet m…

    Linux干货 2016-06-23
  • 招聘Linux运维工程师

    岗位职责: 公司集群硬件的日常维护及管理 负责公司内网的服务器安装,部署和维护 监控服务器状态,发现问题并及时维护 负责产品发布上线 承担mangoDB的日常巡检 集群数据服务器的备份 编写服务器维护脚本,减少工作量,提高工作效率 任职要求: 1年以上Linux系统管理经验,精通Linux的管理和维护 能够熟练编排查运维过程中出现的服务故障,系统故障,网络故…

    Linux干货 2017-12-04
  • 9.脚本练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;  declare -a shell     declare sum_login=0     declare sum_nologin=0     shell=($(cat /etc/pass…

    2017-09-20
  • 文本处理工具sed、vim

    文本处理工具sed、vim 一、sed的使用 1、sed的概念 sed简单地说sed是一种行处理工具。 sed 是一种流性的行编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末…

    Linux干货 2016-08-11
  • yum总结之概述篇

    前言 一个linux菜鸟往往因为对与linux安装软件的复杂而望而却步,特别是从windows到linux的用户肯定表示接受不了。确实linux下装软件想做到win下下一步下一步完成目前来说是不可能的。 linux下软件安装有3种方法:   一种是源码安装,需要用户自己手动编译,另一种是RPM包(RedHat Linux Packet M…

    Linux干货 2016-03-01