DBMS独立磁盘的冗余阵列(RAID)

RAID是指独立磁盘的冗余阵列。它是一种用于连接多个辅助存储设备以提高性能,数据冗余或两者兼备的技术。它能够承受一个或多个驱动器(磁盘)故障,具体取决于所使用的RAID级别。

它由一系列磁盘组成,其中连接多个磁盘以实现不同的目标。

RAID技术

RAID技术有7个级别的RAID方案。 这些模式为:RAID 0RAID 1....RAID 6

这些级别包含以下特征:

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

标准RAID级别

1. RAID 0

RAID级别0提供数据剥离,即数据可以跨多个磁盘放置。它是基于剥离意味着如果一个磁盘发生故障,那么阵列中的所有数据都将丢失。
此级别不提供容错,但会提高系统性能。
示例:

Disk 0 Disk 1 Disk 2 Disk 3
20 21 22 23
24 25 26 27
28 29 30 31
32 33 34 35

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

RAID 0的优点:

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

RAID 0的缺点:

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

2. RAID 1

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

示例:

Disk 0 Disk 1 Disk 2 Disk 3
A A B B
C C D D
E E F F
G G H H

只有驱动器的一半空间用于存储数据。驱动器的另一半空间是已存储数据的镜像。

RAID 1的优点:

  • RAID 1的主要优点是容错。 在此级别中,如果一个磁盘发生故障,则另一个磁盘会自动接管。
  • 在此级别中,即使任何一个驱动器发生故障,阵列也将起作用。

RAID 1的缺点:

  • 在此级别中,每个驱动器需要一个额外的驱动器用于镜像,因此费用更高。

3. RAID 2

  • RAID 2由使用汉明码奇偶校验的位级条带化组成。 在此级别中,单词中的每个数据位都记录在单独的磁盘上,数据字的ECC代码存储在不同的设置磁盘上。
  • 由于其高成本和复杂结构,该水平尚未商业化使用。 RAID 3可以以较低的成本实现相同的性能。

RAID 2的优点:

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

RAID 2的缺点:

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

4. RAID 3

  • RAID 3由具有专用奇偶校验的字节级条带化组成。 在此级别中,为每个磁盘部分存储奇偶校验信息并将其写入专用奇偶校验驱动器。
  • 在驱动器发生故障的情况下,访问奇偶校验驱动器,并从其余设备重建数据。 更换故障驱动器后,可以在新驱动器上恢复丢失的数据。
  • 在此级别,数据可以批量传输。 因此,高速数据传输是可能的。
Disk 0 Disk 1 Disk 2 Disk 3
A B C P(A, B, C)
D E F P(D, E, F)
G H I P(G, H, I)
J K L P(J, K, L)

RAID 3的优点:

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

RAID 3的缺点:

  • 它需要一个额外的平价驱动器。
  • 它为小型文件的操作提供了缓慢的性能。

5. RAID 4

  • RAID 4包括使用奇偶校验磁盘进行块级剥离。 RAID 4采用基于奇偶校验的方法,而不是复制数据。
  • 由于奇偶校验的工作方式,此级别允许最多恢复1个磁盘故障。 在此级别中,如果多个磁盘发生故障,则无法恢复数据。
  • 级别3和级别4都需要至少三个磁盘才能实现RAID。
Disk 0 Disk 1 Disk 2 Disk 3
A B C P0
D E F P1
G H I P2
J K L P3

在此图中,可以观察到一个专用于奇偶校验的磁盘。

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

C1 C2 C3 C4 Parity
0 1 0 0 1
0 0 1 1 0

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

6. RAID 5

  • RAID 5是对RAID 4系统的略微修改。唯一的区别是在RAID 5中,奇偶校验在驱动器之间旋转。
  • 它由带有DISTRIBUTED奇偶校验的块级条带化组成。
  • 与RAID 4相同,此级别允许最多恢复1个磁盘故障。 如果多个磁盘发生故障,则无法进行数据恢复。
Disk 0 Disk 1 Disk 2 Disk 3 Disk 4
0 1 2 3 P0
5 6 7 P1 4
10 11 P2 8 9
15 P3 12 13 14
P4 16 17 18 19

该表显示了奇偶校验位如何旋转。引入此级别是为了使随机写入性能更好。

RAID 5的优点:

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

RAID 5的缺点:

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

7. RAID 6

  • 此级别是RAID 5的扩展。它包含具有2个奇偶校验位的块级剥离。
  • 在RAID 6中,可以承受2个并发磁盘故障。 假设使用的是RAID 5和RAID 1。当磁盘发生故障时,需要更换故障磁盘,如果同时另一个磁盘发生故障,那么将无法恢复任何数据。因此在这种情况下,可以使用两个并发磁盘故障中幸存的部分。
Disk 1 Disk 2 Disk 3 Disk 4
A0 B0 Q0 P0
A1 Q1 P1 D1
Q2 P2 C2 D2
P3 B3 C3 Q3

RAID 6的优点:

  • 此级别执行RAID 0以剥离数据,RAID 1执行镜像。 在此级别中,在镜像之前执行剥离。
  • 在此级别中,所需的驱动器应为2的倍数。

RAID 6的缺点:

  • 它没有使用100%磁盘功能,因为一半用于镜像。
  • 它包含的可伸缩性非常有限。

上一篇:DBMS动态哈希

下一篇:DBMS SQL简介

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程