一句话定义:RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是把多块硬盘组合成一个逻辑存储单元的技术:用「条带化」换速度,用「镜像或校验」换容错。它的目标是单块硬盘坏掉时数据仍然读得到、服务不中断;它不负责保证数据不丢。
原理:两份动作,一个目的
第一是条带化(striping):把数据切成小块,轮流写到多块盘上。就像把一沓材料分给十个人同时抄,写得快很多;但只要有一个人的那部分丢了,整份材料就不完整。
第二是冗余:为了应对某块盘出问题,要么整份复制一份(镜像),要么记一笔「账」(校验)。校验的思路很朴素:如果知道 a + b + c = 100,丢了 c 也能反推出来。但两块盘同时坏掉,这笔账就算不平了。
对应到常见级别:
| 级别 | 最少盘数 | 能扛几块盘坏 | 空间利用率 | 典型用途 |
|---|---|---|---|---|
| RAID 0 | 2 | 0,坏一块全丢 | 100% | 可重算的临时数据 |
| RAID 1 | 2 | 1 | 50% | 系统盘、小容量高可靠 |
| RAID 5 | 3 | 1 | (n-1)/n | 读多写少的通用存储 |
| RAID 6 | 4 | 2 | (n-2)/n | 单盘容量大、重建慢的场景 |
| RAID 10 | 4 | 取决于坏的是哪几块 | 50% | 数据库等写入敏感场景 |
注意 RAID 10 那一行:同一个镜像组里坏两块,数据照样丢。
和备份、快照的区别
最常被误解的一点是:RAID 保证的是「盘坏了服务不停」,不是「数据不会丢」。
误删文件,删除操作会被同步到每一块盘;勒索病毒加密,加密也作用在整个阵列上;机房进水、运维手滑格式化,所有盘一起完蛋。冗余防的是「某个硬件零件坏了」,备份防的是「数据本身被改坏、被删掉、或整台机器没了」。
RAID 重建(rebuild)还有隐藏风险:重建要读全盘、耗时长,这期间如果第二块盘也坏,数据就真没了;而同批采购、同天上岗的硬盘,老化节奏往往也接近。快照(snapshot)能回滚到过去的某个时刻,更接近「防误操作」,但它通常仍落在同一套存储上,替代不了异地副本。
对实际工作的意义
做 AI 和数据工程的人,给训练集群的数据盘、特征库、checkpoint 目录配 RAID,出发点应是「一块盘挂了任务不至于整体崩」,而不是「这份数据可以高枕无忧了」。原始数据集与重要模型权重,至少要满足「多于一份、放在不同故障域」,并定期做恢复演练;没试过恢复的备份只是心理安慰。
普通职场人也一样:文件服务器或 NAS 上标着 RAID 5、RAID 6,并不等于 IT 已经帮你备份。版本管理、异地副本、定期归档,一样都不能省。具体阵列配置与重建策略,各家存储设备厂商的官方文档为准。
RAID 是让服务活下来的机制,不是让数据活下来的机制,这两句话值得分开记住。
