📅  最后修改于: 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%磁盘功能,因为一半用于镜像。
- 它包含非常有限的可伸缩性。