RAID 0 = 单纯追求速度,零容错;RIAD 1 = 单纯追求安全,零提速空间。两者是 RAID 家族里最基础、最极端的两个对立面,所有其他 RAID 级别(5/6/10)都是在它们基础上做折中。
一、RAID 0:条带化(Striping)
工作原理
把数据切成条带,并行写到多块硬盘上。
数据 [A B C D E F] ↓ 盘1: [A] [C] [E] ← 同时写 盘2: [B] [D] [F] ← 同时写核心特征
维度 | RAID 0 |
|---|---|
最少盘数 | 2 块 |
容量利用率 | 100%(n × 单盘容量) |
容错能力 | 0 |
读性能 | 极高(n 倍提升) |
写性能 | 极高(n 倍提升) |
致命缺陷
任意一块盘损坏 = 整个阵列数据全部丢失。因为每块盘只存了数据的一部分,缺任何一块都拼不出完整数据。
⚠️ 一块盘坏,全盘报废——这是 RAID 0 的必然结果。
二、RAID 1:镜像(Mirroring)
工作原理
把数据同时写入两块硬盘,两块盘内容完全一致。
数据 [A B C D] ↓ 盘1: [A B C D] ← 完整副本 盘2: [A B C D] ← 完整副本核心特征
维度 | RAID 1 |
|---|---|
最少盘数 | 2 块 |
容量利用率 | 50%(n/2 × 单盘容量) |
容错能力 | ✅ 1 块盘坏 |
读性能 | 高(可并行读不同块) |
写性能 | 中等(要写两次) |
典型场景 | 系统盘、数据库redo log、关键业务数据 |
核心优势
容错能力强:一块盘彻底损坏,另一块盘仍然完整可用
恢复简单:换上新盘,重新同步即可,不需要复杂的重建算法
读性能好:可以从两块盘同时读不同数据
权衡
写性能略有损失:同样的数据要写两次
成本高:50% 的容量利用率意味着同样的存储量要多花一倍钱
事实:某些场景是合理的。比如Redis 缓存节点、Kubernetes 的 ephemeral 存储、CI/CD 构建节点——这些场景下数据本身就是可丢失的,反而需要 RAID 0 的高吞吐。
RAID 0 是用可靠性换性能,RAID 1 是用容量换可靠性。
真正生产环境里,两者单独使用都有明显短板——所以才有了 RAID 10(速度+冗余兼得)和 RAID 5/6(容量+单/双盘容错)来填补空白。
这个说法大体方向是对的,但有例外(尤其是 NVMe 普及后)。准确说法是:企业级服务器绝大多数硬盘都通过 RAID 卡或 HBA 卡接入,而普通 PC 的硬盘直接连主板——中间差了这一层,正是服务器和普通 PC 在存储架构上的根本分野。
一、服务器为什么非要多这一层
普通 PC 里,操作系统直接指挥硬盘读写;服务器里,操作系统看到的"硬盘"其实是一块 RAID 卡虚拟出来的逻辑盘,物理硬盘并不直接暴露给 OS。
RAID 卡本质上是一块插在主板 PCIe 插槽上的微型存储计算机,自带 CPU(ASIC/ARM)、DDR 缓存、固件、电池/电容。它承担四件事:
功能 | 对业务的意义 |
|---|---|
数据冗余 | RAID 1/5/6/10 允许 1~2 块盘同时坏而不丢数据 |
性能叠加 | RAID 0/10 通过并行读写把 IOPS 与带宽线性放大 |
缓存加速 + 断电保护 | 写数据先进缓存再刷盘,BBU 电池能在断电后维持 24-72 小时保命 |
简化管理 | OS 只看到"一块超级硬盘",不用关心背后有几块物理盘 |
💡 关键价值:软 RAID 依赖主机 CPU 做 XOR 校验,RAID 5/6 高负载下可能吃掉 30%+ CPU;硬件 RAID 卡独立运算,CPU 占用几乎为零。
二、服务器里的真实连接链路
一台典型 2U 服务器的存储链路是这样的:
[硬盘] → [背板 Backplane] → [Mini-SAS 线缆] → [RAID 卡] → [主板 PCIe 插槽] → [CPU] ↑ ↑ ↑ 固定+供电 SAS 信号传输 RAID 运算+缓存每一步的作用:
硬盘 → 背板:硬盘插在前面板的金属托架上,针脚嵌入背板。背板负责统一供电和信号分配到对应端口
背板 → RAID 卡:一根 Mini-SAS 线缆(SFF-8087 或 SFF-8643)把背板和 RAID 卡连起来,一块 8 端口 RAID 卡能带 8 块盘直连,挂 expander 扩展芯片能扩展到上百块
RAID 卡 → 主板:RAID 卡插在主板的 PCIe 插槽上,通过 PCIe 总线与 CPU 交换数据
→ CPU:RAID 卡做完 RAID 运算后,通过 PCIe 总线把数据传给 CPU 处理
HPE 官方安装文档里写的就是这条路径:"用随服务器提供的内部 SAS 线缆,把控制器的内部连接器连接到热插拔硬盘笼"——本质就是上述链路。
三、普通 PC 的连接方式(不重要)
普通 PC 没有背板、没有 RAID 卡、没有 SAS 线缆,架构简化成这样:
[硬盘] → [SATA 数据线] → [主板 SATA 接口] → [PCH 芯片组] → [CPU] ↑ ↑ 15针电源线 主板原生直连SATA 接口直接做在主板的 PCH(平台控制器中枢,俗称南桥)上,每块硬盘独占一条 SATA 通道,物理上不存在主从仲裁。Windows/Linux 直接通过 AHCI 协议指挥硬盘,不做任何硬件层面的 RAID 虚拟化。
⚠️ 普通 PC 也能做 RAID,但那是软 RAID(Windows 存储空间、Linux mdadm),依赖 CPU 算校验,性能和可靠性跟硬件 RAID 卡不在一个量级。
四、一个踩坑高发点:SAS 与 SATA 的不对称兼容性
这是服务器硬盘为什么大多要走 RAID 卡的另一层原因——普通 PC 主板根本认不出它:
方向 | 结果 |
|---|---|
SAS 控制器(RAID 卡)→ 插 SATA 硬盘 | ✅向下兼容,能识别 |
SATA 控制器(普通主板)→ 插 SAS 硬盘 | ❌反向不兼容,认不出 |
原因是 SAS 接口比 SATA 多出 7 个针脚,用于支持双端口冗余和全双工通信,普通 SATA 主板既没这 7 根针也没 SAS 协议栈,强行插进去只会"隐身"。
所以服务器硬盘(尤其是 SAS 接口的)没法直接插普通 PC 用——这也是为什么服务器一定配 RAID 卡/HBA 卡的原因之一。
五、NVMe 时代这条链路的演变
随着 NVMe SSD 普及,服务器的连接架构正在分化:
传统 SAS/SATA SSD → 仍走 "SSD → 背板 → SAS 线缆 → RAID 卡 → PCIe → CPU"
U.2/U.3 NVMe SSD → 可以走 "SSD → 背板 → PCIe 直连 CPU",每个盘独占 x4 PCIe 通道,RAID 卡的角色被弱化
M.2 NVMe(系统盘) → 直接插主板 M.2 插槽,连到 PCH
我这里会同时提到RAID 模式、HBA 直通模式、Mixed 混合模式——NVMe 时代越来越多场景倾向于把盘直通给 OS(ZFS/Ceph/vSAN 自己管冗余),RAID 卡反而成了累赘。
服务器硬盘"都接在 RAID 卡上"这句话,折射的是企业级存储对冗余、性能、可管理性的硬性要求——普通 PC 没有这些要求,所以架构可以简单粗暴地直连主板。反过来也成立:如果你给普通 PC 加上硬件 RAID 卡和背板,它就具备了服务器级别的存储能力。
RAID 是把多块磁盘组合成一个逻辑存储系统,以实现性能提升、容量扩展或容错。不同 RAID 的核心区别在于:是否做条带化、镜像、校验,以及允许坏几块盘。
常见 RAID 对比
| RAID级别 | 原理 | 最少磁盘 | 可用容量 | 可坏盘数 | 性能特点 |
|---|---|---|---|---|---|
| RAID 0 | 条带化,无冗余 | 2 | 所有磁盘总容量 | 0 | 读写快,无容错 |
| RAID 1 | 镜像 | 2 | 约一半 | 1 | 可靠,容量利用率低 |
| RAID 5 | 条带化 + 单校验 | 3 | (磁盘数-1) × 单盘容量 | 1 | 容量利用率较好,写入有校验开销 |
| RAID 6 | 条带化 + 双校验 | 4 | (磁盘数-2) × 单盘容量 | 2 | 容错更强,写入和重建更慢 |
| RAID 10 | RAID 1 + RAID 0 | 4 | 约一半 | 通常可坏多盘,但不能坏同一镜像组的两盘 | 性能和可靠性都较好 |
| RAID 50 | 多组 RAID 5 再做 RAID 0 | 6左右 | 多组 RAID 5 容量之和 | 每组可坏1盘 | 比 RAID 5 更适合大规模 |
| RAID 60 | 多组 RAID 6 再做 RAID 0 | 8左右 | 多组 RAID 6 容量之和 | 每组可坏2盘 | 容错强,容量和性能损耗较大 |
1. RAID 0:只追求速度
数据 A → 磁盘1、磁盘2、磁盘3 分片写入优点:
- 读写性能高;
- 容量利用率 100%;
- 成本低。
缺点:
- 没有任何冗余;
- 坏一块盘,整个阵列数据通常都不可用。
适合:
- 临时数据;
- 缓存;
- 可重建的数据;
- 对可靠性不敏感的场景。
不适合:
- 操作系统;
- 数据库;
- 文件服务器;
- 重要业务数据。
2. RAID 1:镜像,简单可靠
磁盘1:A B C 磁盘2:A B C两块盘保存完全相同的数据。
优点:
- 一块盘损坏,系统仍可运行;
- 恢复和更换简单;
- 读取性能可能提升。
缺点:
- 可用容量只有约 50%;
- 写入性能通常不如 RAID 0;
- 只能有效容忍镜像中的一块盘损坏。
适合:
- 系统盘;
- 小型服务器;
- 数据量不大的关键服务。
3. RAID 5:单盘容错
RAID 5 使用数据条带化,并保存校验信息。
例如三块盘:
盘1:数据 盘2:数据 盘3:校验校验信息会分布在不同磁盘上,不是固定放在某一块盘。
优点:
- 一块盘损坏仍可运行;
- 容量利用率比 RAID 1 高;
- 读取性能较好。
缺点:
- 写入需要计算校验;
- 大容量磁盘重建时间长;
- 重建期间性能下降;
- 重建过程中如果再坏一块盘,阵列可能失效;
- 不适合现代大容量磁盘上的高风险关键数据。
容量示例:
4块 4TB 磁盘 RAID 5 可用容量约:12TB4. RAID 6:双盘容错
RAID 6 相当于保存两组独立校验信息。
优点:
- 同时坏两块盘,通常仍可运行;
- 比 RAID 5 更适合大容量磁盘和大规模阵列;
- 重建期间安全性更高。
缺点:
- 至少损失两块盘的容量;
- 写入性能比 RAID 5 更低;
- 重建仍然可能耗时较长。
容量示例:
6块 4TB 磁盘 RAID 6 可用容量约:16TB5. RAID 10:性能和可靠性的平衡
RAID 10 是:
先做 RAID 1 镜像 再做 RAID 0 条带四块盘可以理解为:
镜像组1:盘1 + 盘2 镜像组2:盘3 + 盘4 两个镜像组再做条带优点:
- 随机读写性能好;
- 延迟低;
- 重建速度通常比 RAID 5/6 快;
- 适合高 I/O 业务;
- 一般比 RAID 5 更适合数据库。
缺点:
- 可用容量约 50%;
- 如果同一镜像组的两块盘都损坏,阵列会失效。
容量示例:
4块 4TB 磁盘 RAID 10 可用容量约:8TBRAID 5、RAID 6 和 RAID 10 怎么选
选 RAID 5
适合:
- 磁盘数量较少;
- 读多写少;
- 对容量利用率较看重;
- 磁盘容量不太大;
- 有可靠备份。
选 RAID 6
适合:
- 大容量磁盘;
- 文件服务器;
- 备份仓库;
- 存储容量优先;
- 需要同时容忍两块盘故障。
选 RAID 10
适合:
- 数据库;
- 虚拟化平台;
- 高频随机读写;
- 交易系统;
- 对性能和低延迟要求高的业务。
通常可以简单记忆:
性能优先:RAID 10 容量和双盘容错优先:RAID 6 容量利用率和一般业务:RAID 5 绝不能容忍数据丢失但容量不大:RAID 1热备盘是什么
热备盘不是 RAID 级别,而是备用磁盘。
当阵列中的磁盘损坏时,控制器可以自动使用热备盘进行重建。
类型包括:
- 全局热备:为多个阵列提供备用;
- 专用热备:只服务某一个阵列;
- 热插拔盘:可以在线更换,但不等于热备盘。
例如:
8块盘组成 RAID 6 第9块盘作为热备盘坏盘后,热备盘自动加入重建。
硬 RAID 和软 RAID
硬件 RAID
由 RAID 控制器完成阵列计算。
优点:
- 对操作系统透明;
- 通常性能稳定;
- 支持缓存和掉电保护;
- 企业服务器常见。
缺点:
- 依赖 RAID 控制器;
- 控制器故障可能影响阵列识别;
- 更换控制器时需要兼容型号或导入配置。
软件 RAID
由操作系统完成。
Linux 常见:
mdadm LVM RAID ZFS Btrfs RAID优点:
- 成本低;
- 灵活;
- 不依赖特定 RAID 卡;
- 阵列迁移方便。
缺点:
- 占用系统 CPU 和内存;
- 配置、监控和恢复需要运维能力;
- 不同软件方案的可靠性和功能差异较大。
RAID 不等于备份
一句话总结
**RAID 速记短文**
RAID 就是把多块盘组合成一个逻辑存储系统,核心看三件事:**条带、镜像、校验**。记住口诀:**0 快、1 镜像、5 单校验、6 双校验、10 先镜像再条带;50/60 是分组后再条带。**
| RAID | 最小硬盘数 | 一句话记忆 | 可坏盘 |
|---|---:|---|---|
| RAID 0 | **2** | 只条带、无冗余,最快但坏一块全丢 | 0 |
| RAID 1 | **2** | 镜像复制,简单可靠但容量约一半 | 1 |
| RAID 5 | **3** | 条带+单校验,容量利用率较好 | 1 |
| RAID 6 | **4** | 条带+双校验,大容量存储更稳 | 2 |
| RAID 10 | **4** | 先镜像再条带,性能与可靠性平衡 | 同镜像组不能双坏 |
| RAID 50 | **6** | 多组 RAID 5 再条带 | 每组可坏 1 块 |
| RAID 60 | **8** | 多组 RAID 6 再条带 | 每组可坏 2 块 |
**容量速记**:RAID 0 全用;RAID 1、RAID 10 约一半;RAID 5 是 `(盘数-1)×单盘`;RAID 6 是 `(盘数-2)×单盘`;RAID 50/60 按各组容量相加。
**选型速记**:要性能选 **RAID 10**;要容量和双盘容错选 **RAID 6**;一般容量利用率选 **RAID 5**;小规模关键数据选 **RAID 1**;RAID 0 只适合临时、可重建数据。
**最后两句最重要**:热备盘是坏盘后自动顶上的备用盘,不是 RAID 级别;**RAID 提高可用性,不等于备份**,生产环境要 **RAID + 定期备份 + 异地/离线副本 + 恢复演练**。
- RAID 0:快,但坏一块全丢;
- RAID 1:镜像,简单可靠但浪费容量;
- RAID 5:坏一块,容量利用率较好;
- RAID 6:坏两块,适合大容量存储;
- RAID 10:性能好,适合数据库和虚拟化;
- 热备盘:坏盘后自动顶上;