DBMS独立磁盘的冗余阵列(RAID)
精华
小牛编辑
227浏览
2023-03-14
RAID是指独立磁盘的冗余阵列。它是一种用于连接多个辅助存储设备以提高性能,数据冗余或两者兼备的技术。它能够承受一个或多个驱动器(磁盘)故障,具体取决于所使用的RAID级别。
它由一系列磁盘组成,其中连接多个磁盘以实现不同的目标。
RAID技术
RAID技术有7
个级别的RAID方案。 这些模式为:RAID 0
,RAID 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%磁盘功能,因为一半用于镜像。
- 它包含的可伸缩性非常有限。