Recitation 5 RAID
Background
- CPU 和 Memory 的性能越来越好
- SLED 性能提升不够快
- 如果 Disk 性能不作提升,会发生 I/O crisis
Five levels of RAID
-
RAID0: 条带模式
逻辑上的数据块分散到多个磁盘,提高并行性
磁盘利用率 100%
n 个磁盘则性能(读写速度)提升为原来的 n 倍
缺点是没有冗余,即没有容错性,只要有一块磁盘坏了,整个数据都损坏
适用于追求高性能和高利用率的情况 -
RAID1:镜像模式
把相同的数据作 copy 存入两块磁盘,读写速度不变
可靠性极高并且支持热替换
缺点是降低了磁盘利用率,只有 50%
适用于追求高可靠性并且需要随时热替换修复的情况 -
RAID2:海明码校验
以 bit 为单位将数据条块化到不同的硬盘,并加入足够的 check disk
可以发现错误并矫正错误
如果数据盘损坏,可以根据其他数据盘和 check disk 来恢复数据
如果 check disk 损坏,不影响数据正常使用
利用率大概在 70% 到 80%,具体要根据海明距离来计算 -
RAID3:每组单个磁盘作为奇偶校验
减小 check disk 数目为1,数据块做异或操作生成 parity 块
只能发现错误不能矫正错误
如果数据盘损坏,可以根据其他数据盘和 check disk 来恢复数据
如果 check disk 损坏,不影响数据正常使用
利用率为 N-1/N
缺点是数据条带化在各个数据盘上,一次 I/O 操作需要访问所有数据盘,导致无法并行访问
单个大文件的读写速度快,因为同时可以从不同磁盘读写,适用于大文件存储的场景 -
RAID4 : 每组单个校验盘 + 独立读写
在 RAID3 的基础上将整块数据放在同一个数据盘上
这样可以并发地从不同磁盘读写不同数据块的数据,提升了同时读写多个文件的性能
缺点是写入任何数据的时候都要同时更新 check disk,使得 check disk 成为瓶颈,也更容易损坏(同时也是 RAID3 的缺点) -
RAID5:分布式奇偶校验
将奇偶校验盘也条带化并分布在不同的磁盘上
这样就不存在单独的 check disk ,平分了 check disk 的负载
同 RAID3 一样,没有并行
兼顾了磁盘利用率、可靠性和成本,适用于多数数据中心
Answers of Questions
Question 1:
Use your own word to describe different types of “RAID”. Why there are so many different types of RAID? Which scenarios are suitable for different types?
- 之所以会出现不同的 level 是因为在不同应用场景下对 RAID 的性能、可靠性、利用率、成本等指标有着不同的侧重。
详情见上节
Question 2:
Think about other components of this system whose failure could result in a loss of service. Identify one other component (software or hardware) of such a system that could be appropriately designed along the lines of one or another of the RAID levels, and describe the approach briefly or demonstrate in a picture, indicating how it relates to which RAID level.
- 网络传输数据可能会发生 bit flip ,所以可以采用海明编码来作为检查/修复。冗余程度低就只能差错,冗余程度高还能改正错误。原理类似于 RAID2