RAID 到底是什么
RAID 把多块物理磁盘组合成一个逻辑盘交给操作系统使用,靠三种基本手法换取不同收益:条带化把数据切块分散到多盘换吞吐,镜像把同一份数据写多盘换可靠性,校验用一块盘的空间存异或结果换「容量与容错的折中」。它工作在块层,对文件系统透明,可以落在硬件 RAID 卡的固件里、Linux 的 md 软阵列里,也可以由存储系统内部实现。RAID 解决的是磁盘故障导致的可用性问题,解决不了逻辑损坏。
基本信息
| 全称 | Redundant Array of Independent Disks(独立磁盘冗余阵列) |
|---|---|
| 三个关键指标 | 可用容量、写惩罚(一次逻辑写对应几次物理写)、容错盘数 |
| 实现层次 | 硬件卡固件 / Linux mdadm 软 RAID / 存储阵列内部,三种层次性能与运维方式差别很大 |
| 盘的上限 | 单块盘故障域之外还有背板、链路、控制器故障域,RAID 只覆盖盘 |
| 不适用场景 | 误删除、勒索加密、机房级事故、静默数据损坏 |
三种手法对照
| 手法 | 换取什么 | 代价 | 典型级别 |
|---|---|---|---|
| 条带 | 吞吐与并发 IOPS | 无冗余,单盘故障即全毁 | RAID 0 |
| 镜像 | 可靠性与读并发 | 容量利用率约 50% | RAID 1 / 10 |
| 校验 | 容量与冗余的折中 | 写惩罚与重建开销 | RAID 5 / 6 |
级别速查对照
| 级别 | 容错盘数 | 写惩罚 | 容量利用率 |
|---|---|---|---|
| RAID 0 | 0 | 1 | 100% |
| RAID 1 | 1 | 2 | 50% |
| RAID 5 | 1 | 4(满条带写为 2) | (N-1)/N |
| RAID 6 | 2 | 6(满条带写为 4) | (N-2)/N |
| RAID 10 | 每镜像对 1 | 2 | 50% |
| RAID 50 / 60 | 每组 1 / 每组 2 | 4 / 6 | 按子组分别计算 |
选型四步法
- 第一步看写模式:小随机写密集(数据库、虚拟化)优先 RAID 10,顺序写或读多写少可考虑 RAID 5/6
- 第二步看盘容量:单盘 8TB 以上、重建窗口超过一天,优先 RAID 6 或 RAID 10
- 第三步看可用容量与预算:容量优先且能接受较长重建,选 RAID 6,而不是硬上 RAID 5
- 第四步看恢复目标:需要「在线换盘不影响业务」的必须留热备盘,并确认控制器支持自动重建
RAID 是可用性手段而不是备份手段:误删除、勒索软件、机箱进水、固件缺陷导致的全阵列损坏,RAID 一个都防不住,备份体系与快照策略要独立建设。
RAID 最危险的时刻是降级运行与重建期:此时冗余为零,剩余盘的读错误会直接决定能否恢复,所以换盘窗口应尽量避开业务高峰,并提前确认有可用备份。
报容量时的三个口径
- 裸容量:盘数 × 标称容量,用于采购、机柜与盘位规划
- 阵列可用容量:按级别公式扣掉冗余后的容量,用于业务分配与卷规划
- 文件系统可见容量:再扣元数据与预留,按 0.91 换算并留 10% 余量,用于最终验收