RAID0-6
条带、镜像、并行存取(海明码、位交错奇偶校验)、独立存取(块交错奇偶检验、块级分布式奇偶检验、双冗余度)

并行存取的大数据传输率高,独立存取的 IO 请求快。

# Lecture11-RAID

区分高数据传输率和高速 IO 请求

# RAID 冗余磁盘阵列简介 ——Redundant Arrays of Independent Disks

image-20221117161456782

Redundant 冗余 —— 进行错误恢复以提高系统可靠性

# RAID 分类

image-20221117161543752

数据可用性:坏了几个盘还能继续用

IO 数据传输:跟写惩罚有关,并行存取因为能同时读到 1、2、3、4,所以传输能力和请求速率都较高

0-6 都是条带式的

image-20221117163203515

image-20221117163224833

image-20221117163240540

# RAID0 - 不是 RAID 成员

image-20221117161726563

image-20221121125725716

如果单个 IO 请求有多个逻辑相邻的条带组成,则多达对 n 个条带的请求可以并行处理,这样大大地减少了 IO 传输时间。

# RAID1 - 镜像

image-20221117161806501

image-20221117161823895

image-20221117161835837

大批读请求,速度较快;写请求,与 RAID0 类似。

# RAID01 VS RAID10

image-20221117161936601

# 如果 Disk 0 和 Disk 3 坏了会怎么样?

  • 对于 RAID01 来说

    Disk1 损坏,左边的 RAID 0 报废;Disk3 损坏,右边的 RAID 0 报废,整体的 RAID 1 报废

  • 对于 RAID10 来说

    Disk1 损坏,左边的 RAID 1 仍能够使用;Disk3 损坏,右边的 RAID 1 仍能够使用,整体的 RAID1 仍能够使用

​ 对于同样的出错,RAID10 仍能够正常运行,但是 RAID1 无法使用,所以 RAID10 容错率更高

# RAID2 - 并行存取

并行存取 —— 所有磁盘成员都参与每个 IO 请求的执行,各个驱动器的轴是同步旋转的。

RAID2 和 RAID3 的条带非常小,经常小到一个字节或一个字。

image-20221117162002788

读写时,都需要进行校验,读操作要访问所有磁盘,写操作要访问所有数据盘和校验盘。

image-20221117162035002

需要时间开销处理海明码

# RAID3 - 并行存取

image-20221117162051620

image-20221117163754445

image-20221117163718019

并行存取

四个盘同时读写

数据传输率 —— 任何 IO 请求将包含所有数据盘的并行数据传送,对于大量传送,性能改善特别明显。

面对多个事务 —— 但是一次只能执行一个 IO 请求,在面向事务的环境中,性能将受损。

# RAID4 - 独立存取

独立存取阵列更适合与需要高速 IO 请求的应用,而相对较少用于需要高数据传输率的场合。

image-20221117163553896

image-20221117163604760

image-20221117164749605

独立存取,每个磁盘的操作都是独立的。

写损失 —— 既要修改数据盘,也要修改校验盘。

一次写入 包括两读两写 —— 两次读操作(数据盘、校验盘)、两次写操作(数据盘、校验盘)

# RAID5 - 独立存取

image-20221117163643553

避免潜在的 IO 瓶颈问题 —— 校验条带分开了可以同时读取 (

读没有影响,写受到限制(还是两读两写

# RAID50

image-20221117165428182

# RAID6 - 独立存取 - 两种不同的奇偶校验码

image-20221117165615475

# RAID 比较

image-20221117165842161

基本需求 —— 快、可用性

0 和 1 没有达到兼顾

image-20221117165949394

image-20221117170009169

image-20221117170031768

一些 callback

3 和 4 的区别在于,是不是一起转的

5 和 6 各有优劣