RAID(独立磁盘冗余阵列)

2024 年 8 月 28 日 | 阅读 6 分钟

RAID 指的是独立磁盘冗余阵列。它是一种用于连接多个二级存储设备以提高性能、数据冗余或两者的技术。它根据使用的 RAID 级别,让您能够承受一个或多个驱动器故障。

它包含一个磁盘阵列,其中多个磁盘连接在一起以实现不同的目标。

RAID 技术

RAID 方案有 7 个级别。这些级别包括 RAID 0、RAID 1、...、RAID 6。

这些级别包含以下特性

  • 它包含一组物理磁盘驱动器。
  • 在此技术中,操作系统将这些独立的磁盘视为一个逻辑磁盘。
  • 在此技术中,数据分布在阵列的物理驱动器上。
  • 冗余磁盘容量用于存储奇偶校验信息。
  • 如果发生磁盘故障,奇偶校验信息有助于恢复数据。

标准 RAID 级别

RAID 0

  • RAID 0 级别提供数据分条(striping),即数据可以放置在多个磁盘上。它基于分条,这意味着如果一个磁盘发生故障,阵列中的所有数据都会丢失。
  • 此级别不提供容错功能,但会提高系统性能。

示例

磁盘 0磁盘 1磁盘 2磁盘 3
20212223
24252627
28293031
32333435

在此图中,块 0、1、2、3 构成一个条带。

在此级别中,我们不是一次只将一个块放入一个磁盘,而是可以将两个或更多块放入一个磁盘,然后再处理下一个。

磁盘 0磁盘 1磁盘 2磁盘 3
20222426
21232527
28303234
29313335

在上图中,没有数据重复。因此,一旦丢失的块就无法恢复。

RAID 0 的优点

  • 在此级别中,吞吐量得到提高,因为多个数据请求可能不在同一个磁盘上。
  • 此级别充分利用了磁盘空间并提供了高性能。
  • 它至少需要 2 个驱动器。

RAID 0 的缺点

  • 它不包含任何错误检测机制。
  • RAID 0 不是真正的 RAID,因为它不具有容错功能。
  • 在此级别中,任何一个磁盘发生故障都会导致相应阵列中的数据完全丢失。

RAID 1

此级别称为数据镜像,因为它将数据从驱动器 1 复制到驱动器 2。在发生故障时,它提供 100% 的冗余。

示例

磁盘 0磁盘 1磁盘 2磁盘 3
AABB
CCDD
EEFF
GGHH

仅使用驱动器的一半空间来存储数据。驱动器的另一半只是对已存储数据的镜像。

RAID 1 的优点

  • RAID 1 的主要优点是容错。在此级别中,如果一个磁盘发生故障,另一个磁盘会自动接管。
  • 在此级别中,即使其中一个驱动器发生故障,阵列仍能正常运行。

RAID 1 的缺点

  • 在此级别中,每个驱动器都需要一个额外的驱动器进行镜像,因此成本更高。

RAID 2

  • RAID 2 使用汉明码奇偶校验进行位级分条。在此级别中,字中的每个数据位都记录在单独的磁盘上,并且数据字的 ECC 代码存储在不同的磁盘组上。
  • 由于成本高昂且结构复杂,此级别未商业使用。RAID 3 可以以更低的成本实现相同的性能。

RAID 2 的优点

  • 此级别使用一个指定的驱动器来存储奇偶校验。
  • 它使用汉明码进行错误检测。

RAID 2 的缺点

  • 它需要一个额外的驱动器来进行错误检测。

RAID 3

  • RAID 3 由具有专用奇偶校验的字节级分条组成。在此级别中,为每个磁盘分区存储奇偶校验信息,并写入专用的奇偶校验驱动器。
  • 在发生驱动器故障时,会访问奇偶校验驱动器,并从其余设备重建数据。一旦更换了故障驱动器,就可以在新驱动器上恢复丢失的数据。
  • 在此级别中,数据可以批量传输。因此,可以实现高速数据传输。
磁盘 0磁盘 1磁盘 2磁盘 3
ABCP(A, B, C)
DEFP(D, E, F)
GHIP(G, H, I)
JKLP(J, K, L)

RAID 3 的优点

  • 在此级别中,使用奇偶校验驱动器重新生成数据。
  • 它具有高数据传输速率。
  • 在此级别中,数据是并行访问的。

RAID 3 的缺点

  • 它需要一个额外的驱动器来进行奇偶校验。
  • 对于小型文件的操作,性能较慢。

RAID 4

  • RAID 4 由具有奇偶校验盘的块级分条组成。RAID 4 没有复制数据,而是采用基于奇偶校验的方法。
  • 此级别允许恢复最多 1 个磁盘故障,这是由奇偶校验的工作方式决定的。在此级别中,如果一个以上的磁盘发生故障,则无法恢复数据。
  • 级别 3 和级别 4 都需要至少三个磁盘来实现 RAID。
磁盘 0磁盘 1磁盘 2磁盘 3
ABCP0
DEFP1
GHIP2
JKLP3

在此图中,我们可以看到一个磁盘专门用于奇偶校验。

在此级别中,可以使用 XOR 函数计算奇偶校验。如果数据位是 0,0,0,1,则奇偶校验位是 XOR(0,1,0,0) = 1。如果奇偶校验位是 0,0,1,1,则奇偶校验位是 XOR(0,0,1,1)= 0。这意味着,偶数个 1 的奇偶校验结果为 0,奇数个 1 的奇偶校验结果为 1。

C1C2C3C4奇偶性
01001
00110

假设在上图中,C2 由于某种磁盘故障而丢失。然后,利用所有其他列和奇偶校验位的值,我们可以重新计算存储在 C2 中的数据位。此级别允许我们恢复丢失的数据。

RAID 5

  • RAID 5 是 RAID 4 系统的一个小修改。唯一的区别是,在 RAID 5 中,奇偶校验在驱动器之间轮换。
  • 它由具有分布式奇偶校验的块级分条组成。
  • 与 RAID 4 相同,此级别允许恢复最多 1 个磁盘故障。如果一个以上的磁盘发生故障,则无法恢复数据。
磁盘 0磁盘 1磁盘 2磁盘 3磁盘 4
0123P0
567P14
1011P289
15P3121314
P416171819

此图显示了奇偶校验位如何轮换。

引入此级别是为了提高随机写入性能。

RAID 5 的优点

  • 此级别具有成本效益并提供高性能。
  • 在此级别中,奇偶校验分布在阵列的磁盘上。
  • 它用于提高随机写入性能。

RAID 5 的缺点

  • 在此级别中,由于奇偶校验必须从所有可用驱动器计算,因此磁盘故障恢复需要更长的时间。
  • 此级别无法在并发驱动器故障中幸存。

RAID 6

  • 此级别是 RAID 5 的扩展。它包含具有 2 个奇偶校验位的块级分条。
  • 在 RAID 6 中,您可以承受 2 次并发磁盘故障。假设您使用的是 RAID 5 和 RAID 1。当您的磁盘发生故障时,您需要更换故障磁盘,因为如果同时发生另一个磁盘故障,您将无法恢复任何数据,因此在这种情况下,RAID 6 发挥了作用,您可以在耗尽所有选项之前承受两次并发磁盘故障。
磁盘 1磁盘 2磁盘 3磁盘 4
A0B0Q0P0
A1Q1P1D1
Q2P2C2D2
P3B3C3Q3

RAID 6 的优点

  • 此级别执行 RAID 0 来分条数据,并执行 RAID 1 来镜像。在此级别中,分条在镜像之前进行。
  • 在此级别中,所需的驱动器应为 2 的倍数。

RAID 6 的缺点

  • 它没有 100% 利用磁盘容量,因为一半用于镜像。
  • 它的可扩展性非常有限。

下一个主题DBMS SQL 简介