独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50,RAID-60。

以上摘自wiki中文

RAID0


所有硬盘并联,读写并行处理,在所有RAID中具有最快的读写速度。任何一块一盘离线,所有数据都无法恢复。

RAID1


所有硬盘互为镜像,理论上读取速度与硬盘数线性相关,写入速度与单块硬盘速度相当。只要有一块硬盘在线就可以正常工作。在所有RAID中安全性最高。硬盘越多,存储空间越浪费,在所有RAID中空间利用率最低。

RAID2/RAID3/RAID4


较少实际应用,主要用于研究领域。原理与RAID5类似,性能不如RAID5.

RAID5


RAID5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。每块硬盘有一个奇偶校验区,最少需要三块硬盘。对于阵列中的硬盘A、B、C,每个硬盘分三个区:A1、A2、A3、B1、B2、B3、C1、C2、C3,其中A3、B2、C1为奇偶校验区,A3=B3⊕C3,B2=A2⊕C2,C1=A1⊕B1,根据异或操作的特性,若a⊕b=c则a=b⊕c且b=a⊕c,当硬盘B故障时,只需计算B3=A3⊕C3、B1=A1⊕C1,B2=A2⊕C2即可完成数据恢复。可以理解为,当一块硬盘故障时,需要解n个一元一次异或方程进行数据恢复。

RAID6


与RAID5类似,但每块硬盘有两个独立的校验区,最少需要四块硬盘。两个校验区PQ,P与RAID5类似,进行异或运算;Q需要应用场理论(Galois Filed伽罗华域,尝试去查询这方面的资料,但是要求数学专业知识,本人数学知识有限,文档读起来非常吃力,没有理解)。与RAID5类似,可以理解为当有两块硬盘故障时,需要解n个二元一次异或方程组进行数据恢复。

RAID10


先做镜像再做分区,只要每个分区中至少有一块硬盘在线就可以正常工作,可靠性高。

RAID01


先做分区再做镜像,相当于多个RAID0阵列做镜像,只要一个RAID0中有一块硬盘故障,整个RAID0就会失效,相对于RAID10可靠性低。

RAID50


先做RAID5再做RAID0,每个RAID5分区都允许至少一块硬盘故障,当有一个RAID5分区中有至少两块硬盘故障时,整个RAID50将会失效。

RAID60


先做RAID6再做RAID0,每个RAID6分区都允许至少两块硬盘故障,当有一个RAID6分区中有至少三块硬盘故障时,整个RAID60将会失效。

关于RAID选择建议:

  • 如果存储空间足够,选择RAID1+0
  • 单独的数据库服务器其磁盘阵列最好选用RAID1+0
  • 如选择RAID1+0空间不够,选择RAID 5
  • 如果磁盘阵列包含的磁盘超过了8块,最好选择RAID 6

最后附上wiki上关于RAID的词条链接:

英文wiki

中文wiki

关于RAID小结的更多相关文章

  1. [转]RAID基础,RAID10与RAID01比较,RAID10与RAID5比较

    原文:http://blog.itpub.net/787018/viewspace-666280/ 文档内容3部分:1.基本的RAID级别介绍2.RAID10和RAID01的比较3.RAID10和RA ...

  2. 戴尔PowerEdge RAID控制卡使用示例(PERC H710P为例)

    Dell PERC使用示例列表(H710p) 特别说明,本文相关RAID的操作,仅供网友在测试环境里学习和理解戴尔PowerEdge服务器RAID控制卡的功能和使用方法.切勿直接在生产服务器上做相关实 ...

  3. Linux运维基础提高之RAID卡和磁盘分区

    磁盘大小计算: 柱面的数量*每个柱面的大小(容量) [root@luffy001 ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 ...

  4. MYSQL数据表损坏的原因分析和修复方法小结

    MYSQL数据表损坏的原因分析和修复方法小结 1.表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. ...

  5. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  6. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  7. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  8. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  9. iOS 之UITextFiled/UITextView小结

    一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...

随机推荐

  1. PHP pcntl

    来源:https://www.jianshu.com/p/de0b74f58f50 pcntl是一个可以利用操作系统的fork系统调用在PHP中实现多线程的进程控制扩展,当使用fork系统调用后执行的 ...

  2. typeahead自动补全插件的limit参数问题

    遇到的问题很诡异: 后台返回的数据都正确就是显示不正常(有时多有时少),后来发现是typeahead的问题,在1.11版本之后,limit参数从option选项里改到了setdata选项: limit ...

  3. 文件上传漏洞(pikachu)

    文件上传漏洞 文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像,附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断,比如是否是指定的类型.后缀名.大小等等,然后将其按照设 ...

  4. Docker镜像与仓库(四)

    Dockerfile方式创建镜像 https://hub.docker.com/_/centos/ #找一个centos6.6 的dockerfile链接 [root@linux-node1 ~]# ...

  5. opencv-2-VS2017与QT显示图像

    opencv-2-VS2017与QT显示图像 opencvqtVSC++ 目的 使用 VS 构建第一个 opencv 程序 使用 QT 构建 第一个 opencv 程序 VS 导入 QT 程序 开始 ...

  6. centos6更换yum源和epel源

    epel是yum的一个软件用源,包含了很多基本源中没有的软件,cobbler就属于基本源中没有的软件,所以需要安装epel源. yum源: wget -O /etc/yum.repos.d/CentO ...

  7. rabbitMQ消息队列原理

    MQ:Message Queue,消息队列,是一种应用程序对应用程序的通信方法:应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 1      rabbitMQ入 ...

  8. 详解如何使用gulp实现项目在浏览器中的自动刷新

    情况描述: 我们很容易遇到这样一种情况: 我们并不是一开始就规划好了整个项目,比如可能接手别人的项目或者工程已经手动创建好了,现在要想利用gulp来实现浏览器自动刷新,那么如何做呢? 其实非常简单,本 ...

  9. Codeforces Round #509 (Div. 2) A. Heist 贪心

    There was an electronic store heist last night. All keyboards which were in the store yesterday were ...

  10. python(面向对象-类封装调用)

    一.面对对象思想 (1)大家肯定听过 Python 中”一切皆对象“的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言,本节将向大家详细介绍 Python 面 ...