RAID 50 是什么
RAID 50 是两层结构:先把磁盘分成若干组,每组做成 RAID 5,再把这些子组当作条带成员跨组条带化。好处是每个子组各自容忍一块盘故障,重建也只发生在出事的那个子组里,比整组 RAID 5 的重建影响范围小;坏处是可靠性不如 RAID 6——跨组同时坏盘仍有丢数据可能,而且容量必须按子组分别扣减。
基本信息
| 结构 | 若干 RAID 5 子组(每组 ≥ 3 盘)跨组条带 |
|---|---|
| 容量公式 | 组数 × (每组盘数 - 1) × 单盘容量 |
| 容错 | 每个子组 1 块;两个子组同时各坏 1 块仍可用,同组坏 2 块即失效 |
| 最少盘数 | 6 块(两组各 3 盘) |
| 盘数约束 | 总盘数必须能被子组盘数整除,否则无法按预期划分 |
| 重建范围 | 仅限故障盘所在的子组 |
8 块 4TB 盘、两组各 4 盘的算例
8 块 4TB 盘、两组各 4 盘的算例
可用容量 = 2 组 x (4 - 1) x 4TB = 24TB # 每组损失一块盘做校验
容错 = 每组 1 块盘 # 两个子组各坏一块仍可用
重建量 = 单盘 4TB,仅在该子组内进行 # 比整组 RAID 5 影响面小
若只分 1 组(即 RAID 5)可用 = (8 - 1) x 4TB = 28TB,但重建要读遍 8 块盘子组划分的影响
| 划分方式 | 可用容量 | 结果说明 |
|---|---|---|
| 2 组 × 4 盘 | 24TB | 每组容忍 1 块,重建只影响 4 块盘 |
| 4 组 × 2 盘 | 不成立 | 每组至少 3 盘才能构成 RAID 5 |
| 1 组 × 8 盘 | 28TB | 实际就是 RAID 5,重建范围最大 |
| 3 组 × 3 盘(9 盘) | 18TB | 容量损失比例更高,冗余度却未提升 |
适用与不适用
- 适用:盘数较多(8 块以上)又希望比整组 RAID 5 缩短重建范围的容量型业务
- 适用:吞吐要求高、写以顺序为主的场景,如备份落盘与归档卷
- 不适用:小随机写密集的 OLTP,写惩罚 4 与 RAID 5 相同,重建范围的优势换不来写性能
- 不适用:对容错要求高的关键数据,RAID 6 或 RAID 10 更合适
RAID 50 的可靠性不如 RAID 6:跨子组同时坏盘仍有丢数据可能,且重建必须按组进行,规划时要明确「同组容错只有一块」这个边界。