RAID介绍

2021/9/26 23:43:06

本文主要是介绍RAID介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 一、RAID 阵列概述
  • 二、RAID实现方式
  • 三、RAID 的分类
  • 四、常用RAID简单介绍
      • RAID 0
      • RAID 1
      • RAID 5
      • 实际容量计算:
      • RAD 6
      • RAID 01/10
  • 五、数据镜像与奇偶检验的区别
  • 六、常用RAID优缺点
      • RAID 0 : 无容错性分条阵列
      • RAID 1 : 磁盘镜像
      • 嵌套 RAID
      • RAID 1+0 (Striped Mirror, 分条的镜像)
      • RAID 0+1 (Mirrored Stripe, 镜像的分条)
      • RAID 3 : 专用奇偶校验磁盘
      • RAID 4 : 带独立磁盘访问和专用校验磁盘的分条阵列
      • RAID 5 : 带独立磁盘访问和分布式校验的分条阵列
      • RAID 6 : 带独立磁盘访问和双重分布式校验的分条阵列
      • RAID对磁盘性能的影响
      • 写代价
      • 各种RAID的比较

一、RAID 阵列概述

  • 独立冗余磁盘阵列
    • Redundant Arrays of Inexpensive Disks
    • 通过硬件/软件技术, 将多个较小/低速的磁盘整合成一个大磁盘
    • 阵列的价值 : 提升I/O效率、硬件级别的数据冗余
    • 不同RAID级别的功能、特性各不相同

二、RAID实现方式

  • 软件RAID

    • 由主机中的软件来提供RAID功能
    • 主板 -> 磁盘 -> 操作系统 -> RAID软件 -> 数据
  • 硬件RAID

    • 由集成在主机或存储阵列上专用硬件实现功能
      • RAID控制卡(主机上)
      • RAID控制器(存储阵列上)
        • 磁盘聚合
        • 逻辑磁盘和物理磁盘I/O请求
        • 故障时数据再生
  • 主板 -> 阵列卡 -> 磁盘 -> 操作系统 -> 数据

三、RAID 的分类

RAID 可以按照硬盘数量和组织方式不同分为不同类型的 RAID 实现

常见的有: RAID 0、RAID 1、RAID 5、RAID 6、RAID 01、RAID 10

不常见的有:RAID 2、RAID 3、RAID 4、RAID 7、RAID 50、RAID 53

四、常用RAID简单介绍

RAID 0

不具有防止数据丢失的功能,主要是能够并行存储,数据存储方式如下图:
在这里插入图片描述
可以看出,其中一块硬盘坏掉,我们的数据就丢失了,无法防止数据丢失。

RAID 1

具有数据冗余的能力,能够一定保证其中一块硬盘坏掉,数据不会丢失,如果两块硬盘来做RAID1,读写效率依旧是一块硬盘的,存储量也只有较小那块硬盘的大小,原因根据结构图我们可以猜出:

在这里插入图片描述

可以理解为一块硬盘正常工作,另一块硬盘正常情况下只做备份用途,当前一块硬盘坏掉,直接顶上。

RAID 5

至少需要三块硬盘组成,既具有数据并行存储的能力,也具有防止某块硬盘坏掉数据丢失的能力,因此RAID5比较常用,一般硬盘都支持,结构图如下:

在这里插入图片描述

一般C1、C2这些为C1=1异或2得到的,无论那块硬盘丢失,我们都可以还原数据。比如1号盘坏掉,我们可以2异或C1就得到1(数据异或两次就还原)。

实际容量计算:

关于三块大小不一样的硬盘通过RAID5的方式构建磁盘阵列,我们如何知道构建后磁盘阵列大小?

其实就是按照最小的磁盘大小来算,(N-1)*M,N为参与构建磁盘阵列的磁盘个数(N>=3),M为最小磁盘存储容量大小。

RAD 6

原理: 与 RAID 5 相比,RAID 6 增加了第二个独立的奇偶校验信息块,双重奇偶校验,在 RAID 6 中,数据会在所有磁盘(最少四个)间进行分条,并且每个数据块的两个奇偶校验块(如下图中的 p 和 q)写入到同一条带上。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。这种 RAID 模式最多允许两个磁盘出故障而不丢失数据,而且它能更快地重建故障磁盘上的数据
RAID6 在RAID 5的基础上,又增加了一种校验码,和解方程似的,一种校验码一个方程,最多有两个未知数,也就是最多坏两块盘

RAID 01/10

其实就是RAID0和RAID1的组合,先后顺序肯定会有区别的,该种磁盘阵列至少需要4块硬盘,并且RAID10的应用要优于RAID01,结构图如下:

RAID01当0号硬盘坏掉后,右边2或3其中只要一个坏掉,该磁盘阵列就坏掉了

RAID10 当0号硬盘坏掉后,只有当1坏掉,整个磁盘阵列才会坏掉
在这里插入图片描述

五、数据镜像与奇偶检验的区别

数据镜像

  • 镜像技术将同一数据存储在两个不同的磁盘上
  • 控制器会自动利用幸存磁盘上的数据镜像继续对主机的数据请求进行响应
  • 替换损坏磁盘时, 控制器会自动将数据将幸存磁盘中的数据副本拷贝回去
  • 镜像能提高读访问的性能, 但会降低写访问的性能 因此每次访问都要两块磁盘进行反应

在这里插入图片描述
奇偶检验

  • 奇偶检验是一种既能为分条RAID提供数据保护, 又能避免镜像所需开销的方法.
实现方法:
	往分条中增加一个磁盘来存储校验值, 通过数学方法构造的校验值能够重建丢失的数据, 这种冗余校验能够提供完全的数据保护, 且不需要完整的数据副本.
在真实的检验值计算中采用的是位异或操作

在这里插入图片描述
优点

  • 相比于镜像技术100%的额外存储开支, 对于4块磁盘用于存储数据, 奇偶检验的开支只有25%

缺点

  • 由于校验信息是根据数据磁盘上的数据产生, 一旦数据改变, 就要重新计算校验值. 耗时的校验计算将影响RAID控制器性能

六、常用RAID优缺点

级别简单描述
RAID 0无容错性分条阵列
RAID 1磁盘镜像
嵌套的多个RAID级别的组合, 如RAID 1 + RAID 0
RAID 3带专用校验磁盘的并行访问分条阵列
RAID 4带独立磁盘访问和专用校验磁盘的分条阵列
RAID 5带独立磁盘访问和分布式校验的分条阵列
RAID 6带独立磁盘访问和双重分布式校验的分条阵列

RAID 0 : 无容错性分条阵列

  • 数据是分条存储在RAID集的各个硬盘上的, 因此利用了全部的存储空间
  • 读取数据时, 控制器会将各条带数据重新组合起来
  • 适用于那些对I/O带宽需求很大的应用程序
  • 缺点 : 无法提供高可用性
    在这里插入图片描述

RAID 1 : 磁盘镜像

  • RAID 1 基于磁盘镜像技术, 通过数据镜像来提供容错性
  • 一个RAID 1组至少由两块硬盘构成
  • 磁盘故障时, RAID 1 的数据恢复代价是所有RAID级别中最小的.
  • RAID 1 适用于那些对高可用性有需求但没成本限制的应用.
    在这里插入图片描述

嵌套 RAID

  • 许多数据中心对RAID阵列的数据冗余和性能都有需求, 因此出现了RAID 1+0 和 RAID 0+1
  • 这类RAID需要由偶数数量的磁盘构建, 且至少需要4块硬盘

RAID 1+0 (Striped Mirror, 分条的镜像)

  • RAID 1+0 也被称为 RAID 10 或 RAID1/0
  • RAID 1+0 适用于写密集、随机访问、数据量小的I/O负载, 如以下应用:
    • 高事务率的在线事务处理(Online Transaction Processing, OLTP)
    • 大型消息服务
    • 负载多为写密集和随机访问的数据库应用
  • RAID 1+0 的基本构成是镜像对. 数据先被镜像, 然后再将两个副本分别分条存储在RAID集的多个硬盘上
  • 当替换故障磁盘时, 阵列控制器利用镜像组中的幸存磁盘来完成数据恢复, 并继续提供服务. 幸存磁盘中的数据将被复制到新替换的磁盘上
    在这里插入图片描述

RAID 0+1 (Mirrored Stripe, 镜像的分条)

  • RAID 0+1 也被称为 RAID 01 或 RAID 0/1
  • RAID 0+1 的基本构成是条带
  • 数据将首先分条存储到各个磁盘上, 然后再对整个分条生成镜像.
  • 当一块磁盘失效时, 整个分条都将失效
  • 重建过程中, 幸存分条中各个磁盘的数据复制到故障分条集的相应替代磁盘去. 这将给幸存磁盘带来额外和不必要的I/O负载, 使RAID集更容易收到二次磁盘失效的影响

在这里插入图片描述

RAID 3 : 专用奇偶校验磁盘

  • RAID 3 通过存储分带提供高性能, 利用就检验提高容错性.
  • RAID 3 中, 数据总是以整个分条为单位对所有磁盘并行读写的, 不存在只更新同一分条中某些条带的部分写操作
  • RAID 3 适用于数据备份及视频流服务等涉及大量顺序数据访问的应用, 可以提供很好的性能
    在这里插入图片描述

RAID 4 : 带独立磁盘访问和专用校验磁盘的分条阵列

  • 与RAID 3 类似, 不同的是RAID 4的数据磁盘支持独立访问, 因此某个数据单元可以从某块磁盘中读写, 而无需访问整个分条
  • RAID 4 提供了很好的读吞吐率和可接受的写吞吐率

RAID 5 : 带独立磁盘访问和分布式校验的分条阵列

  • RAID 5 是一种适用性很强的RAID实现, 同RAID 4 一样也采用了分条技术 与 磁盘可独立访问技术
  • 不同的是在于存储校验值的位置, 由于RAID 4 将校验值存储在一个专用的磁盘上, 这就使校验磁盘成为写性能瓶颈.
  • 在RAID 5 中, 校验值是分布存储在所有磁盘上的, 这种方法客服了校验值写性能瓶颈的缺陷
  • RAID 5 适用于较多随机读写及密集型的应用, 如:
    • 消息系统、数据挖掘、中等性能的媒体服务器
    • 以及数据库管理员(DBA)优化数据访问所用的关系数据库管理系统(RDBMS)
      在这里插入图片描述

RAID 6 : 带独立磁盘访问和双重分布式校验的分条阵列

  • RAID 6 的工作模式和 RAID 5基本相同
  • 引入了第二个校验元素以应对RAID组中的两块磁盘同时失效的情况
  • 因此 RAID 6 至少需要4 块磁盘
  • RAID 6 也将校验值分布在所有磁盘上, 由于RAID 6的写代价比RAID 5大, 因此RAID 5的写性能要比RAID 6好
  • RAID 6 有两个校验集, 因此它的重建操作要比RAID 5 更耗时

RAID对磁盘性能的影响

  • 在选择RAID级别时充分考虑它对磁盘性能和应用程序I/O吞吐率(Input/Output Operations Per Second IOPS)的影响是至关重要的

写代价

  • 对于RAID 1 ,每个写操作都要在构成镜像的两块磁盘上同时进行
  • 对于RAID 5 ,每个写操作都会产生4个实际I/O操作
  • 当RAID 5 阵列执行大量琐碎的写操作时, 对于每次写操作, 控制器都要对每个校验段进行读取 计算和回写

各种RAID的比较

RAID最少磁盘数存储利用率%开销读性能写性能写代价数据保护
02100随机与顺序读都很好很好无保护
1250较好,比单个磁盘高较好,比单个磁盘略慢镜像保护
33(n-1)*100/n对随机读较好,对顺序读很好对琐碎的随机写不太好, 对大型连续写较好可应对单磁盘的失效的校验保护
43(n-1)*100/n随机和顺序读很好随机和顺序写都较好可应对单磁盘的失效的校验保护
53(n-1)*100/n随机和顺序读很好随机和顺序写都较好可应对单磁盘的失效的校验保护
64(n-2)*100/n随机和顺序读很好随机和顺序写都较好非常高可应对双磁盘的失效的校验保护
1+0和0+1450很好较好镜像保护


这篇关于RAID介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程