定义
- 独立磁盘冗余阵列(Redundant Array of Independent Disks)
- 将多个物理磁盘组合成一个逻辑磁盘
目的
- 提高性能:多个磁盘并行 I/O,条带化提高吞吐量
- 提高可靠性:通过冗余信息实现数据恢复,容忍磁盘故障
- 提高容量:聚合多个磁盘的空间
重点 RAID 级别详解
| 级别 | 描述 | 最少磁盘数 | 冗余 | 性能特点 |
|---|
| RAID 0 | 条带化(Striping),数据分块交叉存储在各磁盘 | 2 | 无冗余 | 读写性能最高,但无容错 |
| RAID 1 | 镜像(Mirroring),数据完全复制到另一磁盘 | 2 | 完全冗余 | 读快写慢(需双写),空间利用率 50% |
| RAID 5 | 块级条带化 + 分布式奇偶校验 | 3 | 单盘容错 | 读性能高,写需计算校验 |
| RAID 6 | 块级条带化 + 双分布式奇偶校验 | 4 | 两盘容错 | 读性能较高,写开销更大 |
| RAID 10 | RAID 1+0(先镜像再条带) | 4 | 每对镜像内单盘容错 | 读写性能最佳 |
RAID 0(条带化)
- 数据以条带(strip)为单位依次写入各磁盘
- 优点:理论读写速度接近 n 倍单盘速度(n 为磁盘数)
- 缺点:无冗余,任一磁盘损坏导致所有数据丢失
- 适用:临时数据、高性能但可容忍丢失的场景(如视频编辑缓存)
RAID 1(镜像)
- 每份数据同时写入两个磁盘(镜像对)
- 读性能提升(可从任一磁盘读取),写性能下降(需双写)
- 磁盘利用率为 1/n(n 为偶数),仅 50%
- 一个磁盘故障时仍可正常访问镜像磁盘
- 适用:系统盘、重要数据、对可靠性要求高的场景
RAID 5(分布式奇偶校验)
- 数据和奇偶校验信息分布在所有磁盘上
- 校验信息不固定在某个磁盘,而是分布在各磁盘条带
- 单盘故障可通过其余磁盘数据和校验信息重建
- 写操作涉及读旧数据、读旧校验、写新数据、写新校验(读改写)
- 适用:兼顾性能、容量和可靠性的通用方案
RAID 6(双奇偶校验)
- 双重校验(P+Q),可容忍两个磁盘同时故障
- 磁盘空间损失为两个磁盘的容量
- 写开销大于 RAID 5(需更新两个校验)
- 适用:大容量存储系统、数据可靠性要求极高的场景
RAID 10(RAID 1+0)
- 先做镜像(RAID 1)再做条带化(RAID 0)
- 兼具 RAID 0 的高性能和 RAID 1 的高可靠性
- 最多可容忍每组镜像中损坏一个磁盘(不跨组)
- 读写性能均优,但空间利用率仅 50%
- 适用:高并发数据库、高性能服务器
选择考虑
- 性能 vs 可靠性:RAID 0 性能最佳但无冗余;RAID 1/10 可靠性高;RAID 5/6 在两者间平衡
- 成本 vs 容量:RAID 1 有效容量仅为一半(成本高);RAID 5/6 有效容量高(校验位开销小)
- 重建时间:大容量时 RAID 5 重建时间较长(需读所有剩余磁盘);RAID 6 更安全;RAID 1 重建最快
- 写密集型 vs 读密集型:写密集选 RAID 10(无校验开销);读密集选 RAID 5