在单机时代,采用单块磁盘进行数据存储和读写的方式,由于寻址和读写的时间消耗,导致I/O性能非常低,且存储容量还会受到限制。另外,单块磁盘极其容易出现物理故障,经常导致数据的丢失。因此大家就在想,有没有一种办法将多块独立的磁盘结合在一起组成一个技术方案,来提高数据的可靠性和I/O性能呢。

在这种情况下,RAID技术就应运而生了。

一、RAID 是什么?

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。

二、RAID 有哪些?

RAID方案常见的可以分为:

  1. RAID0
  2. RAID1
  3. RAID5
  4. RAID6
  5. RAID10

1、RAID0

RAID0 是一种非常简单的的方式,它将多块磁盘组合在一起形成一个大容量的存储。当我们要写数据的时候,会将数据分为N份,以独立的方式实现N块磁盘的读写,那么这N份数据会同时并发的写到磁盘中,因此执行性能非常的高。

RAID0 的读写性能理论上是单块磁盘的N倍(仅限理论,因为实际中磁盘的寻址时间也是性能占用的大头)。

但RAID0的问题是,它并不提供数据校验或冗余备份,因此一旦某块磁盘损坏了,数据就直接丢失,无法恢复了。因此RAID0就不可能用于高要求的业务中,但可以用在对可靠性要求不高,对读写性能要求高的场景中

2、RAID1

RAID1 是磁盘阵列中单位成本最高的一种方式。因为它的原理是在往磁盘写数据的时候,将同一份数据无差别的写两份到磁盘,分别写到工作磁盘和镜像磁盘,那么它的实际空间使用率只有50%了,两块磁盘当做一块用,这是一种比较昂贵的方案,原理图如下:

RAID1其实与RAID0效果刚好相反。RAID1 这种写双份的做法,就给数据做了一个冗余备份。这样的话,任何一块磁盘损坏了,都可以再基于另外一块磁盘去恢复数据,数据的可靠性非常强,但性能就没那么好了。

3、RAID5

这是目前用的最多的一种方式,因为 RAID5 是一种将 存储性能、数据安全、存储成本 兼顾的一种方案。

在了解RAID5之前,我们可以先简单看一下RAID3,虽然RAID3用的很少,但弄清楚了RAID3就很容易明白RAID5的思路。

RAID3的方式是:将数据按照RAID0的形式,分成多份同时写入多块磁盘,但是还会另外再留出一块磁盘用于写「奇偶校验码」。例如总共有N块磁盘,那么就会让其中额度N-1块用来并发的写数据,第N块磁盘用记录校验码数据。一旦某一块磁盘坏掉了,就可以利用其它的N-1块磁盘去恢复数据。

但是由于第N块磁盘是校验码磁盘,因此有任何数据的写入都会要去更新这块磁盘,导致这块磁盘的读写是最频繁的,也就非常的容易损坏。

其他原理图如下:

RAID5模式中,不再需要用单独的磁盘写校验码了。它把校验码信息分布到各个磁盘上,其原理图如下:


例如,总共有N块磁盘,那么会将要写入的数据分成N份,并发的写入到N块磁盘中,同时还将数据的校验码信息也写入到这N块磁盘中(数据与对应的校验码信息必须得分开存储在不同的磁盘上)。一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。

RAID5校验位算法原理:P = D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)

RAID5的方式,最少需要三块磁盘来组建磁盘阵列,允许最多同时坏一块磁盘。如果有两块磁盘同时损坏了,那数据就无法恢复了。

4、RAID6

与RAID 5相比,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性,其原理图如下:

RAID 6需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算,相对于RAID 5有更大的IO操作量和计算量,其“写性能”强烈取决于具体的实现方案,因此RAID 6通常不会通过软件方式来实现,而更可能通过硬件方式实现。

同一数组中最多容许两个磁盘损坏。更换新磁盘后,数据将会重新算出并写入新的磁盘中。依照设计理论,RAID 6必须具备四个以上的磁盘才能生效。可使用的容量为硬盘总数减去2的差,乘以最小容量。

RAID 6在硬件磁盘阵列卡的功能中,也是最常见的磁盘阵列等级。

5、RAID10

RAID10其实就是RAID1与RAID0的一个合体,RAID 10是先分割数据再镜像,再将所有硬盘分为两组,视为以RAID 1作为最低组合,然后将每组RAID 1视为一个“硬盘”组合为RAID 0运作。

原理图如下:

磁盘阵列比较表

下面给出以上磁盘阵列的比较表,加深印象:

参考资料:

https://zhuanlan.zhihu.com/p/51170719
https://zh.wikipedia.org/wiki/RAID

RAID磁盘阵列是什么相关推荐

  1. 10分钟认识RAID磁盘阵列技术!!!

    首先声明这是转贴,因为我认为写的很不错,所以拿来和大家一起分享!!!! RAID磁盘阵列技术简述- - 在计算机发展的初期,"大容量"硬盘的价格还相当高,解决数据存储安全性问题的主 ...

  2. RAID磁盘阵列的原理与RAID0搭建

    什么是RAID磁盘阵列 RAID是英文Redundant Array of Inexpensive Disks的缩写,中文简称为廉价磁盘冗余阵列.简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按 ...

  3. 认识RAID磁盘阵列

    认识RAID磁盘阵列 前几天在公司整理办公桌时找到了一份关于RAID的文档,对RAID介绍的很详细,这几天我利用空闲时间把这份文档录入到了电脑里,现分享给大家~ 认识RAID磁盘阵列 廉价冗磁盘阵列( ...

  4. linux+取消磁盘阵列,Linux下彻底关闭某个RAID磁盘阵列

    1.查看RAID磁盘阵列信息,确认一下要关闭哪个.如:关闭md0这个阵列 [root@godben ~]# cat /proc/mdstat Personalities : [raid6] [raid ...

  5. linux怎么取消raid磁盘阵列,Linux下彻底关闭某个RAID磁盘阵列

    1.查看RAID磁盘阵列信息,确认一下要关闭哪个.如:关闭md0这个阵列 [root@godben ~]# cat /proc/mdstat Personalities : [raid6] [raid ...

  6. LVM逻辑卷,RAID磁盘阵列

    磁盘管理: 有关硬盘的识别,linux根据设备类型对存储设备进行识别,如果是IDE设备, 在计算机中会被识别为hd,第一个IDE设备会被识别为hda,第二个IDE设备会被识别为hdb,依次类推.如果是 ...

  7. raid 物理盘缓存状态_使用MegaCli工具查看Raid磁盘阵列状态

    文章本身我不做过多修改了,在这里我就把自己在安装时候碰到的难点跟大家提下. 1.何处下载? 首先,根据文章中的路径已经下载不到相应的文件了,在此我们就自己到http://www.lsi.com的网站上 ...

  8. h710阵列卡支持最大硬盘_DELL服务器RAID磁盘阵列在线扩容(以H710P阵列卡为例)

    DELL服务器RAID磁盘阵列在线扩容(以H710P阵列卡为例) 分享到: 作者来源: 未知       发布时间:2013-01-12 简介 我们可通过扩充容量和 / 或改变 RAID 级别的方式来 ...

  9. Linux RAID磁盘阵列

    RAID磁盘阵列 什么是RAID RAID是磁盘阵列的英文缩写,多块磁盘组成了一个组合,一起完成存储任务,就是磁盘阵列. RAID几种常用的类别(组合) RAID0:条带卷:最低磁盘个数2+,空间利用 ...

  10. linux系统安装如何设置raid,在RAID磁盘阵列下如何搭建Linux系统

    因为RAID磁盘阵列的存储速度比单个硬盘高,在安装系统的时候一般会选择搭建在RAID磁盘阵列,下面小编就给大家介绍下RAID磁盘阵列搭建Linux系统的方法. 新配了台电脑,准备装个双系统,windo ...

最新文章

  1. qt向服务器传输文字_Qt 模拟 HTTP 表单提交文字或文件到服务器
  2. CentOS6.8 x86_64bit MySQL简单语句应用
  3. MariaDB 主从同步与热备(14)
  4. org.hibernate.util.JDBCExceptionReporterorg.hibern
  5. 【修订】为什么OO方法是有本质缺陷的?
  6. 线性拟合polyfit_6.数据分析(1) 描述性统计量和线性回归(2)
  7. 5种比较流行的Linux发行版
  8. vue学习笔记-02-前端的发展历史浅谈mmvm设计理念
  9. python pillow无法安装_Pillow
  10. 设计灵感|想让海报设计更丰富?可以试试重复
  11. VMware 软件被曝其史上最严重的信息泄露漏洞之一,影响大量虚拟机和主机
  12. cocos2d-x学习笔记10:动作3:补间动作
  13. Google搜索的基本语法
  14. 2016中期中国云计算市场报告
  15. vue中的事件修饰符.self、.capture和.passive
  16. 张小娴说男人不如一条狗,现在连市场分析师也说男人不如一条狗
  17. 基于java+springboot+mybatis+vue+elementui的农机机械设备租赁平台
  18. 表格分组标签:表格行分组中的隐藏功能
  19. JAVA:日期时间范围查询0点到23点59分59秒之间
  20. Pywifi——检测是否网络连接

热门文章

  1. 【总结】1183- 毕业去字节之前的一些感想
  2. Android Wear与Apple Watch交互设计对比
  3. 豌豆荚PC端版本WanDouJia_2.80.1.7144_homepage.exe
  4. QQ隐藏福利一------------------------文件极速下载
  5. MVP模式网络请求购物车
  6. MALLOWS模型平均-R代码
  7. mysql语言中子查询是什么_SQL查询语句中,什么叫子查询?
  8. java分支结构之switch
  9. 测试用例是什么?怎么写?最好实用的测试用例
  10. 次世代游戏建模技巧全解之制作高模篇