📜  DBMS RAID

📅  最后修改于: 2020-12-12 08:01:52             🧑  作者: Mango

袭击

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

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

RAID技术

RAID方案有7个级别。这些架构为RAID 0,RAID 1,…,RAID 6。

这些级别包含以下特征:

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

标准RAID级别

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

在此图中,块0、1、2、3形成条带。

在此级别上,我们可以将两个或多个块放入磁盘中,然后再继续进行下一个操作,而不是一次仅将一个块放入磁盘中。

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

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

RAID 0的优点:

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

RAID 0的缺点:

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

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的缺点:

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

RAID 2

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

RAID 2的优点:

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

RAID 2的缺点:

  • 它需要一个用于错误检测的附加驱动器。

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的缺点:

  • 需要额外的驱动器以实现奇偶校验。
  • 在处理小尺寸文件时,它会降低性能。

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。这意味着,偶数个1导致奇偶校验0,奇数个1导致奇偶校验1。

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

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

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的缺点:

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

RAID 6

  • 该级别是RAID 5的扩展。它包含具有2个奇偶校验位的块级剥离。
  • 在RAID 6中,您可以承受2个并发磁盘故障。假设您正在使用RAID 5和RAID1。当磁盘出现故障时,您需要更换发生故障的磁盘,因为如果同时有另一个磁盘发生故障,那么您将无法恢复任何数据,因此在这种情况下,RAID 6会播放它的作用是您可以用完两个并发磁盘故障,然后再用尽所有选项。
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%磁盘功能,因为一半用于镜像。
  • 它包含非常有限的可伸缩性。