RAID 独立磁盘冗余阵列技术笔记

1. 概述

  • RAID 是什么?
    • RAID 是英文 Redundant Array of Independent Disk 的首字母缩写,中文意思是:独立磁盘冗余阵列。通俗的讲就是把多块硬盘组成一个独立的磁盘阵列进行管理。
    • RAID 白皮书上的解释:RAID(独立冗余磁盘阵列)是一项能提升外部存储解决方案性能的简单技术。它能让您根据自己的需要选择最佳的设备使用方式,简而言之,RAID 技术可以将一个硬盘上的任务分散或复制到多个(至少两个)磁盘上,借此来提高性能或建立数
      据冗余以防驱动器发生故障。您可以通过设定设备的 RAID 模式来决定设备以何种方式处理数据。

  • 使用 RAID 的好处
    • 对于普通用户而言,使用 RAID 技术管理硬盘并不常用,但是对于企业用户,尤其是要使用高可用、稳定等解决方案保证硬盘数据稳定、安全、可靠时,RAID 就显得尤为重要。因为 RAID 技术可以为硬盘数据提供安全性和稳定性的保障,保证硬盘数据容错性或者读写性能的提升等。

 

  • 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。

 

2. 各种 RAID 详解

  • 下面是不同实现方式下的 RAID,各种 RAID 的优点和缺点,在什么场景下应使用何种 RAID。正式开始之前要先穿插介绍一下 RAID 实现中有时需要使用到 Spare(备用硬盘),Spare 是在 RAID 实现中需要额外添加的硬盘,当组成 RAID 的硬盘都正常工作的时候,Spare 硬盘是处于空闲状态的,只有当组成 RAID 的硬盘中有损坏的时候,Spare 硬盘才会自动替换损坏的硬盘位置,加入到 RAID 阵列中。
  • 另外还需要了解一些 RAID 术语:
    • 条带化:指将数据分到多个驱动器上。条带 RAID 阵列通常用于将最大的容量合并到单个卷中。
    • 镜像:指将数据复制到多个磁盘上。镜像 RAID 阵列通常能在阵列中有磁盘(至少一个)发生故障时确保数据不丢失,具体取决于阵列的 RAID 级别。
    • 容错:指可让 RAID 阵列在磁盘发生故障时继续工作(即用户仍然可以使用阵列中存储的数据)。

 

2.1. RAID 0

  • 原理:将数据条带化,最少需要两块硬盘(每块硬盘的容量一样,实际生产环境中建议使用同品牌同型号同批次同容量的硬盘组成 RAID 0),即将所有组成 RAID 0 的硬盘的可用容量组合在一起,形成计算机上的一个逻辑卷。通俗的讲就是至少使用两块硬盘来存储数据,但是我要存储的数据不是全部存在某一块硬盘上,而是把我要存储的数据分成均等的多部分,然后平均分散存储在组成 RAID 0 的磁盘阵列上。

其中每块硬盘都被分成 ABCD 四个条带,然后我要存数据就先存把数据均分成四部分,如果 A1 能存下其中一份,那就直接将四部分分别存入 A1-A4,如果存不下就先存满 A1-A4,剩下的按同样的方式存 B1-B4,以此类推。

 

  • 可用容量:组成 RAID 0 所有硬盘容量的总和
  • 优点:
    • 提高读写速度,对硬盘的总容量没有损失。                 速写速度:单盘速度×盘数,但是不会大于控制器带宽
    • 处理大文件很快。
  • 缺点:
    • 一旦阵列中某块硬盘损坏了,所有数据将不可恢复。

 

2.2. RAID 1

  • 原理:镜像存储,RAID 1 至少需要两块硬盘组成,两块硬盘互为备份,存储的内容完全相同。建议硬盘容量大小也要一样,如果不一样,那实际可用容量跟随容量小的硬盘。
  • 可用容量:不超过较小的一侧硬盘的容量总和。
  • 优点:
    • 读取性能翻倍。
    • 提供数据冗余,如果其中一块数据丢失,可以通过另一块还原。
  • 缺点:
    • 磁盘的利用率低,成本高。

 

2.3. RAID 2(已淘汰)

  • 原理:RAID 2 本质上是 RAID 0,只是加入了汉明码来做数据的纠错。以此来优化 RAID 0。
    • 汉明码:(Hamming Code)是广泛用于内存和磁盘纠错的编码。汉明码不仅可以用来检测转移数据时发生的错误,还可以用来修正错误。(要注意的是,汉明码只能发现和修正一位错误,对于两位或者两位以上的错误无法正确和发现)
  • 优点:
    • 加入了数据纠错机制
  • 缺点:
    • 成本增高,需要额外的盘做汉明码纠错
  • RAID 2 的应用场景不多,目前已经被淘汰。

 

2.4. RAID 3

  • 原理:RAID 3 使用字节级别的条带化技术,并采用专用的奇偶校验磁盘。RAID 3 阵列能在一个磁盘出现故障的情况下确保数据不丢失。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。如果数据尚未重建到更换驱动器上,而此时又有一个磁盘出现故障,那么阵列中的所有数据都将丢失。本质上和 RAID 0 相同,与 RAID 2 相似,作为 RAID 0 的优化版本。

下图是 RAID 3 的实现架构图,图中 Disk 3 就是那块专用的奇偶校验磁盘。              专用奇偶校验盘  校验盘故障则数据无法恢复

 

  • 优点:
    • 加入了数据纠错机制。
  • 缺点:
    • 做奇偶校验会消耗系统性能,容易导致系统出现性能瓶颈。
  • 变种(RAID 3 + Spare)

 

这种变种在主磁盘遇到故障的时候不需要立即处理,Spare 热配磁盘会无缝顶替上去。

 

2.5. RAID 4

原理:和 RAID 3 一样,唯一的区别是在数据分割上 RAID 3 对数据的访问是按位进行的,RAID 4 是以数据块为单位。
 RAID4 在生产环境中几乎不用。

 

2.6. RAID 5

  • 原理:RAID 5 综合了 RAID 0 的条带化技术以及阵列数据冗余技术(阵列最少包括三个磁盘)。RAID 3 与 RAID 5 区别在于,RAID 3 配置提供的性能更高,但总容量略低。数据会在所有磁盘之间分条,并且每个数据块的奇偶校验块 (P) 写入到同一条带上。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。单个磁盘出现故障时,数据不会丢失,但如果数据尚未重建到更换驱动器上,而此时又有一个磁盘出现故障,那么阵列中的所有数据都将丢失。

下图是实现的架构图,其中能够看到,Ap-Dp 奇偶校验是放到和数据同一条带上的。

 

  • 优点:
    • 读写性能高。
    • 有校验机制。
    • 空间利用率高。
  • 缺点:
    • 组成 RAID 5 的磁盘越多,安全性能越差,容易丢失数据。连续两块硬盘损坏,数据则丢失。
  • 变种(RAID 5 + Spare)       常用

 

这种变种通过加入空闲的 Spare 盘,在系统将数据重建至备用驱动器时用户仍可以继续访问数据。它能提供良好的数据安全,但磁盘空间由于热备用磁盘的存在(在其他磁盘出现故障之后才使用)而受到限制。磁盘故障不需要立即处理,因为系统会使用热备用磁盘对自己进行重建,但故障磁盘还是应尽快更换。

 

2.7. RAID 6

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

 

  • 优点:
    • 读取性能好。
    • 有奇偶校验机制。
  • 缺点:
    • 成本高,写入性能差。           

  RAID 6需要在每个数据块上进行两次校验计算,因此在写入数据时会比RAID 5慢。具体来说,RAID 6的写入速度通常比RAID 5慢一倍以上

 

2.8. RAID 7(非公开非标准)

  • RAID 7 并非公开的 RAID 标准,而是 Storage Compute rCorporation 公司的专利硬体产品名称。
    下图为架构图。

 

2.9. RAID 01

  • 原理:RAID 0 + RAID 1,两边都是条带化的 RAID 0 存储数据,然后互为备份,组成镜像存储 RAID 1。
    下图是 RAID 01 的架构图,在 RAID 01 阵列中,最多允许两个磁盘出现故障而不会丢失数据,但故障磁盘必须属于同一 RAID 0 队列。在图中,也就是当磁盘 1 和磁盘 2 出现故障时,数据会保存到磁盘 3 和磁盘 4。

 

  • 优点:
    • 有数据备份,出现单点故障时可以恢复数据。
  • 缺点:
    • 成本高。

 

2.10. RAID 10

  • 原理:RAID 1 + RAID 0,它合并了其他级别(尤其是 RAID 1 和 RAID 0)特点的另一种 RAID 级别。这是一种“镜像集条带”,意思是数据在两个镜像阵列间分条。“条带化”在阵列之间发生,而“镜像”是在相同的阵列中出现,两种技术的组合加快了重建的速度。RAID 10 阵列包含的磁盘数应为四的倍数。
    下图是 RAID 10 的架构图,在 RAID 10 阵列中,每个镜像对中,可以有一个磁盘出现故障而不丢失数据。不过,故障磁盘所在阵列的工作磁盘会成为整个阵列中的弱点。如果镜像对中的另一个磁盘也发生故障,则会丢失整个阵列。

 

 

posted @ 2023-09-27 10:26  飞行日志  阅读(28)  评论(0编辑  收藏  举报