我发现周围不少人在学习和理解RAID磁盘阵列的原理时,找了很多专业的资料来看,但是因为动手的机会比较少,因此看完以后还是似懂非懂,真正遇到实际的方案设计的时候,还是拿不定主意。
因此,我结合自己在过去几年中积累的实际项目经验,在这里通过最通俗的方式,来谈一谈我对几种常用的RAID磁盘阵列级别的理解,如有错误与不恰当之处,欢迎拍砖。
 
RAID0 是把两块物理盘组合成一块逻辑盘用,因此容量相当于等于二者之和,IO的读写也提高了(因为可以同时把数据分成两部分各写入两块物理盘中),但是安全性反而降低了,因为一旦其中一块盘坏了,整个逻辑盘就坏了;
总结:在不担心数据安全的情况下,RAID0是最佳的选择。
 
RAID1 是把两块物理盘做成完全相同的镜像,因此逻辑盘的容量仅相当于一块硬盘的大小,但是安全性却很高,任何其中一块盘坏掉,数据都没有影响,冗余程度1/2,找一块新盘换上去数据又可以自动重构,缺点就是牺牲了容量,以及降低了数据写入的IO(因为必须把每一份数据同时都写入到两块硬盘中);
总结:在优先考虑数据安全且不需要保证磁盘性能与容量的情况下,RAID1是最佳选择。
 
RAID5 是把三块物理盘做成一个逻辑盘用,其中有近一块盘的容量用来做奇偶校验,因此容量仅相当于两块硬盘,但支持其中一块硬盘损坏,冗余程度1/3,整体性能相当于介于RAID0与RAID1之间,属于性价比较高的一种RAID;
总结:在经济情况不太充裕的情况下既想保障磁盘性能与容量又想保障数据的安全,RAID5是最佳的选择。
 
RAID10 则由RAID0与RAID1组合构成,因此需要四块物理盘来构成一个逻辑盘,它集合了RAID0和RAID1的优点,既提升了IO的读写速度,又保障了数据的安全,可以有两块物理盘损坏,冗余程度1/2,缺点嘛显而易见,就是成本很高,且牺牲了两块硬盘的容量。
总结:在不差钱的情况下,RAID10是最佳的选择。
 
最后,需要提到的一点是,在超过2-4块硬盘做RAID的时候,其实也是由以上这种基础单元构成的,比如我拿16块硬盘做RAID10,就是由4组4块硬盘所构成的RAID10来实现的。
 
我买100GB的容量,我能用的是多少?我应该做哪一级的RAID?  首先我用一句话来描述各个RAID级别的原理。
         RAID0:将数据切割成块,将块同时写到几个硬盘中。RAID0提高了读写性能,没有容错能力。
         RAID1:将同一份数据同时写到2个硬盘中。写性能降低,读性能提高。有容错。
         RAID3:将数据写到几块硬盘中,一块盘做数据校验盘。有容错。
         RAID5:将数据写到几块硬盘中,一份校验数据分布中各个硬盘中。有容错。
         RAID6:将数据写到几块硬盘中,2份校验数据分布中各个硬盘中。有容错。
 
特征 RAID 0 RAID 1 RAID 5 RAID 6
最小磁盘数 2 2 3 4
数据保护 无保护 一块硬盘故障 一块硬盘故障 两块硬盘故障
读取性能 High High High High
写入性能 High Medium Low Low
读取性能退化 N/A Medium Low Low
写入性能退化 N/A High Low Low
利用率 100% 50% 67% - 94%
n/(n-1)
50% - 88%
n/(n-2)
典型应用 高性能 工作站, 数据计录, 实时翻译, 短暂的数据 运营系统, 交换数据库 数据存储, 网络服务,存档 数据存储, 备份磁盘, 高可用解决方案, 大容量服务器
 
总结:RAID0两块硬盘容量相加,提升性能,但坏一块就全坏,安全没保障;
RAID1两块硬盘同样内容,数据写入一写就两分,容量只有一块硬盘,性能低,但坏了一块没事,而且有保障;
RAID5三块硬盘其中一块做检验盘,容量利用率2/3,性能中等,允许坏一块,性价比最好;
RAID1+0四块硬盘结合0和1优点,性能高,安全有保障,可以坏两块。但利用率最低50%;
RAID6是RAID5升级版,六块硬盘,两块做检验,容量利用率4/6,允许坏两块硬盘,但两块坏了还不换硬盘就没了保障,但支持热备硬盘,出故障的硬盘上的数据会转移到热备硬盘上,并且自动进行重建,虽然成本高,数据写入慢,但有效的硬盘利用率和保障性是大容量存储的首选;
最后,上面是最低硬盘数量,也称基础单元,不能再少。比如我拿16块硬盘做RAID10,就是由4组4块硬盘所构成的RAID10来实现的。

快速理解几种常用的RAID磁盘阵列级别的更多相关文章

  1. 快速理解VirtualBox的四种网络连接方式

    VirtualBox中有4中网络连接方式: NAT Bridged Adapter Internal Host-only Adapter VMWare中有三种,其实他跟VMWare 的网络连接方式都是 ...

  2. RAID磁盘阵列及CentOS7启动流程

    1. 磁盘阵列 1.1 RAID,磁盘阵列磁盘通过硬件和软件的形式组合成一个容量巨大的磁盘组,提升整个磁盘的系统效能:RAID常见类型: RAID类型 最低磁盘个数 空间利用率 各自的优缺点 级别 说 ...

  3. RAID磁盘阵列介绍

    磁盘阵列 RAID介绍 一.简介: 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 最初是由加利福尼亚 ...

  4. RAID磁盘阵列原理

    磁盘阵列(Redundant Arrays of independent Disks,RAID),有“价格便宜具有冗余能力的磁盘阵列”之意.原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数 ...

  5. RAID磁盘阵列及CentOS7系统启动流程(week2_day3)--技术流ken

    RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便宜的磁盘,以硬件( ...

  6. RAID磁盘阵列及CentOS7系统启动流程

    磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意,,数据读取无影响.将数据切割成许多区段,分别存放在各个硬盘 ...

  7. 末学者笔记--Linux中RAID磁盘阵列及centos7启动过程

    <一>RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便 ...

  8. Linux系统的RAID磁盘阵列

    RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便宜的磁盘,以硬件( ...

  9. 【存储】RAID磁盘阵列选择

    RAID磁盘阵列(Redundant Arrays of Inexpensive Disks) 一个基本思想:将多个容量较小.相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量 ...

随机推荐

  1. YII2 日志

    YII 提供的日志写入方法: Yii::getLogger()->log($message, $level, $category = 'application') Yii::trace($mes ...

  2. BZOJ 4723: [POI2017]Flappy Bird

    Description 从一个点到一条直线,每次纵坐标只能增加或减少1,有些位置有障碍,求最少增加步数. Sol 贪心. 或许是贪心吧...反正在可到达的范围内,纵坐标尽量小... 做的时候维护一下两 ...

  3. Proj.4库的编译及使用

    Proj.4库的编译及使用 Proj.4是开源GIS最著名的地图投影库,GRASS GIS, MapServer, PostGIS, Thuban, OGDI, Mapnik, TopoCad, GD ...

  4. 【DevOps】DevOps成功的八大炫酷工具

    为自动化和分析所设计的软件及服务正加速devops改革的步伐,本文为你盘点了Devops成功的八大炫酷工具 Devops凭借其连接弥合开发与运营团队的能力正在各个行业呈现席卷之势.开发人员和运营人员历 ...

  5. javascript 中的 bind (编辑中。。。。)

    这篇文章说的非常好!http://my.oschina.net/blogshi/blog/265415 我的体会就是,函数中的this,指的是运行时,它是被哪个对象调用的.因为javascrpit的函 ...

  6. PHP获取一段时间内的每个周几, 每月几号, 遇到特殊日子就往后延

    2016年11月1日 16:18:19 星期二 主要用到的函数是 strtotime() strtotime('+1 Tuesday', $timestamp) 获取下周二, 从时间戳$timesta ...

  7. ABAP 传入数据到EXCEL自编函数

    DATA: excel    TYPE ole2_object,       workbook TYPE ole2_object,       sheet    TYPE ole2_object,   ...

  8. shane祝大家新年快乐

    后天就要回家过年了,明天好好准备一下,shane祝福大家新年快乐,呵呵.

  9. vim使用技巧

    1.vim 编辑下内容复制.剪切到windows下 "+y 或 "+d 2.从win 复制到 vim CTRL+Shift+v 3.选择文字 v+方向键

  10. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...