RAID技术
一、RAID概述
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种将多块物理磁盘通过硬件或软件方式组合为一个逻辑磁盘的技术,核心目标是:
- 提升性能:通过条带化(Striping)实现多盘并行读写
- 增强可靠性:通过镜像(Mirroring)或奇偶校验(Parity)实现数据冗余
- 扩大容量:将多块小盘组合为大容量逻辑卷
RAID 的核心机制包括三大技术:条带化(数据分块分散到多盘)、镜像(数据完整复制)、奇偶校验(通过 XOR 等算法生成校验信息用于故障恢复)。
-
实现方式:
硬件RAID(整列卡)、软件RAID
image-20260914162446534 -
硬件RAID:使用专用的RAID适配器、硬盘控制器或存储处理器。RAID控制器有自己的处理器,I/O处理芯片,和内存,用来提高资源利用率和数据传输速度。RAID控制器管理路由、缓冲区,控制主机与RAID间数据流。硬件RAID通常在服务器中使用。
-
软件RAID:没有自己的处理器或I/O处理芯片,而是完全依赖于主机处理器。因此,低速CPU不能满足RAID实施的要求。软件RAID通常在企业级存储设备上使用。
二、传统RAID原理
2.1 RAID 0
RAID 0——条带化(Striping)
RAID 0 是最简单也最”激进”的阵列模式。它将连续数据切分为固定大小的数据块(称为”条带”,通常 4KB–256KB),然后轮询交替写入多块磁盘,实现多盘并行读写。
以 3 块盘为例,数据分布如下:
数据块: A0 A1 A2 B0 B1 B2 C0 C1 C2 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓Disk 0: A0 B0 C0Disk 1: A1 B1 C1Disk 2: A2 B2 C22.1.1关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 2 块 |
| 容量利用率 | 100%(总容量 = 所有磁盘容量之和) |
| 读性能 | 极高,理论为单盘的 N 倍(N = 磁盘数) |
| 写性能 | 极高,同样接近 N 倍 |
| 容错能力 | 无,任意一块盘损坏,全部数据丢失 |
2.1.2 适用场景
视频剪辑缓存、临时计算空间、日志盘(非核心)、游戏存储等数据可丢失、追求极致速度的场景。
2.2 RAID 1
RAID 1 — 镜像(Mirroring)
RAID 1 将数据完全复制到另一块磁盘上,两块盘始终保持一致。写入时同时写入两块盘,读取时可以从任意一块盘读取(支持负载均衡)。
写入数据 D:Disk 0: D (工作盘)Disk 1: D (镜像盘)2.2.1 关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 2 块(通常为偶数) |
| 容量利用率 | 50%(总容量 = 单块磁盘容量) |
| 读性能 | 较好,可从两块盘并行读取 |
| 写性能 | 一般或略低(需同步写入两块盘) |
| 容错能力 | 可承受 1 块磁盘损坏 |
2.2.2 适用场景
操作系统盘、小型数据库、财务系统等对数据安全性要求极高的关键应用。
2.3 RAID 3
RAID 3 — 字节级条带化 + 专用奇偶校验盘
RAID 3 采用字节级条带化,将数据按字节为单位分散到多块数据盘上,同时使用一块专用磁盘存储奇偶校验信息(Parity)。校验信息通过对所有数据盘上对应字节进行 XOR(异或)运算生成。
以 4 块盘(3 数据 + 1 校验)为例:
数据块: A0 A1 A2 B0 B1 B2 ↓ ↓ ↓ ↓ ↓ ↓Disk 0: A0 B0 (数据盘)Disk 1: A1 B1 (数据盘)Disk 2: A2 B2 (数据盘)Disk 3: P(A) P(B) (专用校验盘)其中 P(A) = A0 ⊕ A1 ⊕ A2,当任意一块
数据盘损坏时,可通过剩余数据盘和校验盘反算出丢失数据。
2.3.1 关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 3 块(至少 2 数据盘 + 1 校验盘) |
| 容量利用率 | (N-1)/N(损失 1 块盘用于校验) |
| 读性能 | 顺序读性能优秀,随机读性能较差 |
| 写性能 | 较低(每次写入都需更新专用校验盘) |
| 容错能力 | 可承受 1 块磁盘损坏 |
2.3.2 特点与局限
RAID 3 的专用校验盘在并发 I/O 或随机读写场景下容易成为性能瓶颈,因此它更适合顺序处理类应用(如早期的视频流处理)。由于这一局限性,RAID 3 在实际中已很少使用,逐渐被 RAID 5 取代。
2.4 RAID 5
RAID 5 — 分布式奇偶校验条带化
RAID 5 是 RAID 3 的重大改进。它同样使用 XOR 奇偶校验,但取消了专用校验盘,将校验信息均匀分布(轮转)到所有磁盘上。每个条带中,N-1 块盘存数据,1 块盘存校验,且校验块的位置随条带递进轮换。
以 4 块盘为例:
条带1: [A0] [A1] [A2] [P_A] → 校验在 Disk 3条带2: [B0] [B1] [P_B] [B2] → 校验在 Disk 2条带3: [C0] [P_C] [C1] [C2] → 校验在 Disk 1条带4: [P_D] [D0] [D1] [D2] → 校验在 Disk 0数据恢复原理:若 Disk 1 损坏,可通过 Disk 0、Disk 2、Disk 3 上的数据和校验信息,利用 XOR 运算反算出 Disk 1 上的原始数据。
2.4.1 关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 3 块 |
| 容量利用率 | (N-1)/N(如 4 盘利用率 75%) |
| 读性能 | 高,接近 RAID 0 |
| 写性能 | 中等,存在”写惩罚”(每次写入需读取旧数据、旧校验,计算新校验,再写入新数据和新校验) |
| 容错能力 | 可承受 1 块磁盘损坏 |
2.4.2 写惩罚说明
RAID 5 的一次随机小数据块写入,实际需要 4 次 I/O 操作:
- 读取旧数据块
- 读取旧校验块
- 计算新校验值(新校验 = 旧校验 ⊕ 旧数据 ⊕ 新数据)
- 写入新数据块和新校验块
这就是所谓的”写惩罚”,是 RAID 5 写性能不如 RAID 0 的主要原因。
适用场景:文件服务器、NAS、中小型数据库、Web 服务器等读多写少、追求性价比的通用场景。
风险提示:当使用大容量硬盘(如 10TB 以上)时,RAID 5 重建时间很长,重建期间若再坏一块盘则数据全失。因此大容量场景建议选用 RAID 6。
2.5 RAID 6
RAID 6 — 双重分布式奇偶校验条带化
RAID 6 是 RAID 5 的增强版,它在 RAID 5 的基础上增加了第二套独立的校验信息(通常称为 P 校验和 Q 校验),两份校验信息都分布式存储在所有磁盘上。这使得 RAID 6 能够同时容忍两块磁盘同时损坏。
以 5 块盘为例:
条带1: [A0] [A1] [A2] [P_A] [Q_A]条带2: [B0] [B1] [B2] [Q_B] [P_B]条带3: [C0] [C1] [P_C] [C2] [Q_C]条带4: [D0] [P_D] [D1] [Q_D] [D2]条带5: [P_E] [E0] [Q_E] [E1] [E2]
- P 校验:与 RAID 5 相同,使用 XOR 运算
- Q 校验:使用另一种独立的校验算法生成,提供第二层保护
双重校验的数学原理使得即使两块盘同时损坏,也能通过剩余盘上的数据和两套校验信息联立方程求解出丢失数据。
2.5.1 关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 4 块 |
| 容量利用率 | (N-2)/N(如 5 盘利用率 60%) |
| 读性能 | 高,与 RAID 5 相当 |
| 写性能 | 低于 RAID 5(需计算双重校验,写惩罚更重) |
| 容错能力 | 可承受 2 块磁盘同时损坏 |
适用场景:大容量 SATA 硬盘阵列、关键数据归档、备份服务器、医疗影像存储、云存储节点等对可靠性要求极高的场景。
2.6 RAID 10
RAID 10 — 镜像 + 条带化(RAID 1+0)
RAID 10 是一种嵌套 RAID,先做 RAID 1(镜像),再做 RAID 0(条带化)。即将磁盘两两配对组成镜像组,然后将多个镜像组进行条带化。
以 4 块盘为例:
镜像组 A: Disk 0 ←→ Disk 1 (互为镜像)镜像组 B: Disk 2 ←→ Disk 3 (互为镜像)
数据条带化分布:数据块 A0 A1 B0 B1 ↓ ↓ ↓ ↓Disk 0: A0 (镜像组A)Disk 1: A0'(A0的镜像)Disk 2: B0 (镜像组B)Disk 3: B0'(B0的镜像)2.6.1 关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 4 块(必须为偶数) |
| 容量利用率 | 50% |
| 读性能 | 极高,兼具 RAID 0 的速度 |
| 写性能 | 极高,无校验计算开销 |
| 容错能力 | 每个镜像组可承受 1 块盘故障,只要同一镜像对未同时损坏即可 |
RAID 10 vs RAID 01 的区别:
- RAID 10(先镜像后条带):一个镜像组内坏一块盘,仅该组降级,其余组正常工作,影响面小
- RAID 01(先条带后镜像):一块盘损坏会导致整个条带组失效,影响面更大
因此 RAID 10 的安全性优于 RAID 01,实际应用中 RAID 10 更为常见。
适用场景:数据库服务器、虚拟化主机、高频交易系统、金融核心业务等对性能和安全性都有极高要求的场景。
2.7 RAID 50
RAID 50 — RAID 5+0(多组 RAID 5 条带化)
RAID 50 将多个 RAID 5 子阵列通过 RAID 0 条带化组合在一起。每个子阵列独立进行分布式奇偶校验,顶层再对所有子阵列做条带化,兼顾了 RAID 5 的容错能力和 RAID 0 的高性能。
以 6 块盘(2 组 RAID 5,每组 3 盘)为例:
RAID 5 子阵列 A: [Disk 0] [Disk 1] [Disk 2] → 可容忍 1 块盘故障RAID 5 子阵列 B: [Disk 3] [Disk 4] [Disk 5] → 可容忍 1 块盘故障
顶层 RAID 0 条带化:数据块 → 交替分发到子阵列 A 和子阵列 B2.7.1 关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 6 块 |
| 容量利用率 | (N-M)/N(N 为总盘数,M 为子组数;如 6 盘 2 组利用率为 4/6 ≈ 67%) |
| 读性能 | 极高 |
| 写性能 | 优于单个 RAID 5(校验计算分散到多个子阵列) |
| 容错能力 | 每个子阵列可承受 1 块盘故障 |
相比单个 RAID 5 的优势
- 更高的读写性能:条带化跨多个子阵列,I/O 并行度更高
- 更快的重建速度:仅需重建故障子阵列,而非整个阵列
- 更好的容错性:不同子阵列各可容忍一块盘故障
适用场景:大型数据库、流媒体服务器、需要大容量和高读写性能的中大型存储系统。
2.8 综合对比总结
| RAID 级别 | 最少盘数 | 容量利用率 | 读性能 | 写性能 | 容错能力 | 典型场景 |
|---|---|---|---|---|---|---|
| RAID 0 | 2 | 100% | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 无 | 临时缓存、视频渲染 |
| RAID 1 | 2 | 50% | ⭐⭐⭐⭐ | ⭐⭐⭐ | 1 块盘 | 系统盘、关键数据 |
| RAID 3 | 3 | (N-1)/N | ⭐⭐⭐(顺序好) | ⭐⭐ | 1 块盘 | 顺序处理(已少用) |
| RAID 5 | 3 | (N-1)/N | ⭐⭐⭐⭐ | ⭐⭐⭐ | 1 块盘 | 文件服务器、NAS |
| RAID 6 | 4 | (N-2)/N | ⭐⭐⭐⭐ | ⭐⭐ | 2 块盘 | 大容量归档、备份 |
| RAID 10 | 4 | 50% | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 每组 1 块 | 数据库、虚拟化 |
| RAID 50 | 6 | (N-M)/N | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 每组 1 块 | 大型数据库、流媒体 |
2.8.1 选型建议
- 追求极致速度、数据可丢失 → RAID 0
- 追求安全、盘数少 → RAID 1
- 性价比均衡(通用之选) → RAID 5
- 大容量硬盘(>4TB)或极高安全性 → RAID 6
- 预算充足、兼顾速度与极致安全 → RAID 10
- 大容量 + 高性能 + 一定容错 → RAID 50
选型口诀:要速度不要数据选 0;要安全小容量选 1;性价比均衡选 5;大容量高可靠选 6;核心业务既要快又要稳选 10。
三、其他RAID技术
3.1 RAID 2.0+技术
3.1.1 技术定位与研发背景
RAID 2.0+并非一种新的RAID冗余级别,而是对传统RAID底层实现逻辑的革新,最早由华为针对企业级存储场景研发,核心目的是解决传统RAID在大容量硬盘时代面临的三大痛点:
- 重构风险高:传统RAID重构仅依赖单块热备盘,2TB硬盘重构需18小时以上,期间若再出现坏盘将导致数据全丢。
- 存在性能热点:数据固定分布在指定RAID组的几块盘上,高频访问的盘会提前磨损,成为系统性能瓶颈。
- 管理僵化:需要手动划分RAID组、配置热备盘,扩容时必须重新规划阵列结构,无法适配虚拟化环境动态分配资源的需求。
它的本质是在不改变传统RAID 5/6/10等核心算法的基础上,将数据管理粒度从“整块硬盘”细化到“MB级数据块”,通过全局池化的方式重构底层存储架构。
3.1.2 核心实现原理
RAID 2.0+采用双层虚拟化架构,数据组织流程分为四层,每一层对应不同粒度的存储单元:
- 物理硬盘→CK(Chunk,数据块):将存储池内所有物理硬盘(支持SSD、SAS、NL-SAS等混合介质)切分为固定大小的块,称为CK,常见大小为4MB(SSD场景)或64MB(机械盘场景),CK是组成RAID的最小单位。
- CK→CKG(Chunk Group,分块组):从不同硬盘上选取N+M个CK按照指定的RAID策略组成CKG,每个CKG相当于一个微型RAID组,其中N为动态数据列数目,M为固定的校验列数目(比如RAID 6对应M=2,RAID-TP对应M=3)。
- CKG→Grain(存储颗粒):每个CKG会进一步切分为更细粒度的Grain,默认大小为8KB,Grain是分配给LUN的基本单元,支持实现精简配置、动态扩容等高级功能。
- Grain→LUN(逻辑单元):用户创建LUN时,系统会从存储池中随机分配空闲Grain组成LUN,同一LUN的数据会分散在存储池的所有硬盘上,不会出现数据集中在少数盘上的情况。
3.1.3 关键机制说明
- 分布式热备空间:不再需要单独配置整块热备盘,而是每块成员盘都会预留一小部分CK作为热备空间,当某块盘故障时,所有健康盘的预留空间会共同承接重构数据,避免单块热备盘过载。
- 动态RAID重构:当故障盘无法被替换时,系统会自动将CKG的分条结构从N+M调整为(N-1)+M,保持校验列M不变,确保冗余能力不降级;插入新盘后会自动恢复为标准结构,无需手动干预。
- 按需重构:仅重构故障盘上已写入业务数据的部分,未使用的预留空间不会参与重构,进一步缩短重构时间。
3.1.4 相比传统RAID的核心优势
| 对比维度 | 传统RAID | RAID 2.0+ |
|---|---|---|
| 重构速度 | 单盘重构,2TB盘需18小时+ | 所有健康盘并行重构,速度提升20倍,分钟级完成 |
| 负载均衡 | 数据固定绑定少数盘,易出现热点 | 数据自动打散到存储池所有盘,无热点,硬盘寿命均衡 |
| 热备资源利用 | 需占用整块盘做热备,平时闲置浪费 | 热备空间分散在所有盘上,整体利用率提升10%以上 |
| 扩容灵活性 | 扩容需重新规划RAID组,业务可能中断 | 直接插入新盘,系统自动调整数据分布,业务无感知 |
| 重构影响 | 重构期间性能下降30%-70% | 每块盘的重构负载极低,对上层业务几乎无影响 |
| 容错能力 | 最多支持双盘容错(RAID 6) | 支持RAID-TP级别,可同时容忍3块盘故障,甚至支持单硬盘框整体故障 |
3.1.5 支持的RAID级别与适用场景
RAID 2.0+兼容传统主流RAID级别,同时针对闪存场景做了优化,常见配置如下:
- RAID 6(默认配置):校验列M=2,可容忍2块盘同时故障,容量利用率高,适合通用业务存储、文件服务器、中型数据库。
- RAID-TP:华为针对全闪存阵列定制的级别,校验列M=3,可容忍3块盘同时故障,适合金融、医疗等对数据可靠性要求极高的核心业务。
- RAID 10:校验列M=2,无校验计算开销,读写性能最优,适合高频交易、虚拟化主机等高性能场景。
- RAID 5:校验列M=1,容量利用率最高,适合读多写少的归档类业务。
3.2 CRAID(Chinese-RAID)
CRAID 又名 “Chinese-RAID”,是由**宏杉科技(MacroSAN)**自主研发的存储专利技术,以中国命名,专门针对海量数据环境中存储介质易损坏导致的数据丢失和业务中断问题而设计。
它并非一种新的 RAID 冗余级别,而是对传统 RAID 底层数据组织和管理方式的革新,核心理念是将磁盘细分为数千甚至数万个小单元(Cell)进行单独管理。
| 版本 | 核心改进 |
|---|---|
| CRAID 1.0 | 将 RAID 组分割为数千甚至上万个 Cell 小单元进行精细化管理,提升故障硬盘重建效率 |
| CRAID 2.0 | 采用全新 RAID 算法和三重校验机制,允许同一 RAID 组中任意 3 块盘同时故障,数据不丢失 |
| CRAID 3.0 | 将单层虚拟化升级为两层虚拟化管理模式,以数据块为单元管理数据,提升读写性能并缩短重建时间 |
3.2.1 CRAID 3.0 核心原理
CRAID 3.0 采用底层硬盘管理 + 上层资源管理的两层虚拟化模式,数据组织分为四层:
物理硬盘 → Chunk(CK) → DCG(Chunk Group) → Cell → LUN- 第一层:硬盘 → Chunk(CK) 每块物理硬盘被切分为固定大小的数据块(Chunk),每个 CK 大小通常为 64MB 等。CK 是构建 RAID 的最小单位。
- 第二层:CK → DCG(Chunk Group) 从不同硬盘上选取多个 CK,按照指定的 RAID 策略(支持 RAID 0/1/3/5/6)组成 DCG,每个 DCG 相当于一个微型 RAID 组。一个存储池基于指定的硬盘域创建,可按 RAID 策略组成 DCG 向上层提供具有 RAID 保护的存储资源。
- 第三层:DCG → Cell 每个 DCG 被进一步划分为固定大小的存储单元 Cell(如 1GB),Cell 是构成 LUN 的基本单位。
- 第四层:Cell → LUN 用户创建 LUN 时,系统从存储池中动态分配 Cell 组成 LUN,数据均匀分布到存储池的所有硬盘上。
3.2.2 核心优势
3.2.2.1 三重容错:允许任意 3 块盘故障
CRAID 2.0/3.0 采用全新的 RAID 算法和三重数据校验机制(N+1/2/3 模式),用户可自由指定校验盘数量。在同一个硬盘组中,任意 3 块硬盘同时发生完全物理故障,数据不丢失、业务不中断。
3.2.2.2 多种智能重建方式
| 重建方式 | 说明 |
|---|---|
| 快速重建 | 仅重建损坏的数据块,未出错区域直接拷贝到热备空间,大幅降低对性能的影响 |
| 局部重建 | 不使用热备盘顶替,仅对原盘发生变化的部分进行重建(适用于闪断、误拔插等短暂失效场景,支持 5 分钟内的数据恢复) |
| 优化重建 | 仅重建被 LUN 使用的 Cell,未使用的 Cell 不重建;优先重建存在介质错误的 Cell,再用拷贝方式重建其他 Cell |
| 全盘重建 | 与传统 RAID 类似,适用于磁盘被拔走或严重故障的场景 |
3.2.2.3 性能负载分摊
前端主机的逻辑卷来自硬盘组中所有硬盘,IO 读写压力在所有硬盘间均衡分摊,不存在硬盘热点,大幅提升 IO 读写性能。
3.2.2.4 空间利用率高
传统 RAID 5/6 仅含 1~2 块校验盘,RAID 1/10 利用率仅 50%。CRAID 采用 N+1/2/3 模式,用户可自由指定校验盘数量,在提升数据安全的同时提高硬盘空间利用率。
3.2.2.5 重建效率极高
磁盘重建时间仅为传统重建时间的 15%~20%,RAID 组失效率降低 80%。
3.3 RAID X0
RAID x0 不是一个独立的 RAID 级别,而是一个类别统称,泛指将多个相同类型的 RAID 子阵列通过 RAID 0 条带化组合在一起的嵌套 RAID 技术。其中 “x” 代表底层的 RAID 级别数字。
常见的 RAID x0 包括:
| 名称 | 底层组合 | 最少盘数 |
|---|---|---|
| RAID 30 | 多个 RAID 3 + RAID 0 | 6 块 |
| RAID 50 | 多个 RAID 5 + RAID 0 | 6 块 |
| RAID 60 | 多个 RAID 6 + RAID 0 | 8 块 |
此外,IBM 的 ServeRAID 体系中,RAID x0 还包括 RAID 00、RAID 10、RAID 1E0 等。
3.3.1 核心原理
RAID x0 的本质是**“阵列的阵列”(Array of Arrays)**,采用两层结构:
第一层(底层):将物理硬盘分组,每组构建一个独立的 RAID 子阵列(如 RAID 5)第二层(顶层):将多个 RAID 子阵列通过 RAID 0 条带化组合为一个大的逻辑卷以 RAID 50(6 块盘,2 组 RAID 5)为例:
RAID 5 子阵列 A: [Disk 0] [Disk 1] [Disk 2] → 可容忍 1 块盘故障RAID 5 子阵列 B: [Disk 3] [Disk 4] [Disk 5] → 可容忍 1 块盘故障
顶层 RAID 0 条带化:数据块 → 交替分发到子阵列 A 和子阵列 B3.3.2 容错特性
RAID x0 的容错能力取决于底层子阵列的类型:
- RAID 30/50:每个子阵列(RAID 3 或 RAID 5)最多允许 1 块盘故障,不丢失数据
- RAID 60:每个子阵列(RAID 6)最多允许 2 块盘故障,不丢失数据
⚠️ 注意:如果同一个子阵列内的故障盘数超过其容错上限,该子阵列将整体失效,导致整个 RAID x0 阵列数据丢失。
3.3.3 核心优势
- 更大容量:突破单个 RAID 子阵列的盘数限制(传统 RAID 5 最多 16 块盘,RAID 50 可支持 60 块盘)
- 更高性能:顶层 RAID 0 条带化使 IO 跨多个子阵列并行,读写性能显著优于单个 RAID 阵列
- 更好可靠性:故障隔离在子阵列内部,不同子阵列可各自独立容错
- 更快重建:仅需重建故障子阵列,不影响其他子阵列的正常运行
3.3.4 适用场景
| RAID x0 类型 | 典型场景 |
|---|---|
| RAID 50 | 大型数据库、流媒体服务器、需要大容量和高吞吐的中大型存储 |
| RAID 60 | 对安全性要求极高的大规模存储系统、大容量归档 |
| RAID 30 | 大文件顺序读写场景(较少使用) |
3.4 NetApp RAID-DP / RAID-TEC
NetApp 是其 ONTAP 操作系统中的核心数据保护技术,应用于 NetApp AFF/FAS/ASA 全系列存储产品。
3.4.1 核心原理
RAID-DP(Double Parity) 是 NetApp 对 RAID 6 的专有实现,采用双奇偶校验机制,允许同一 RAID 组中任意两块盘同时故障而不丢失数据。
其独特之处在于消除了传统 RAID 的”写惩罚”:ONTAP 在写入时,先将数据暂存到 NVRAM(非易失性内存)中,在内存中完成奇偶校验计算,然后作为一个完整的 RAID 条带一次性写入磁盘。整个过程不需要额外的”读旧数据、读旧校验”操作,因此不存在传统 RAID 5/6 的写惩罚问题。
RAID-TEC(Triple Erasure Coding) 是 RAID-DP 的增强版,引入第三重奇偶校验,可容忍任意三块盘同时故障。
3.4.2 关键特性
| 项目 | RAID-DP | RAID-TEC |
|---|---|---|
| 校验盘数 | 2 | 3 |
| 容错能力 | 任意 2 块盘故障 | 任意 3 块盘故障 |
| 写惩罚 | 无(NVRAM 缓存+全条带写) | 无 |
| 默认适用场景 | 4TB 以下磁盘 | 4TB 及以上磁盘(ONTAP 默认策略) |
| 强制使用 | — | 10TB 及以上磁盘必须使用 RAID-TEC |
3.4.3 与 RAID 2.0+ 的核心区别
NetApp 的 RAID-DP/TEC 仍然基于传统 RAID 组的概念(固定数量的盘组成一个 RAID 组),而华为 RAID 2.0+ 采用全局池化+细粒度数据块分布。NetApp 的优势在于通过 NVRAM 彻底消除写惩罚,性能表现极为出色。
3.5 Dell ADAPT(Distributed Erasure Coding)
Dell ADAPT 是 Dell PowerVault ME5/ME52 系列存储中的专有数据保护技术,全称为 Adaptive Distributed Protection Technology。
3.5.1 核心原理
ADAPT 本质上是一种分布式擦除编码技术,支持 16+2 或 8+2 的条带宽度,即 16 块(或 8 块)数据盘 + 2 块校验盘,提供双磁盘故障保护。
与传统 RAID 的关键区别:
- 无需专用热备盘:备用容量内置于所有成员盘中,类似 RAID 2.0+ 的分布式热备理念
- 极速重建:故障盘数据由所有健康盘并行重建,速度远超传统 RAID
- 大型存储池:最少需要 12 块磁盘,支持构建超大存储池(ME5/ME52 单 ADAPT 组最大 1.5 PiB)
- 简化运维:无需手动配置热备盘、无需规划 RAID 组,插入磁盘即可自动加入池
适用场景:Dell 官方推荐 ADAPT 适用于大多数工作负载,尤其适合需要灵活存储和快速重建的场景。但不推荐用于极少磁盘或大量随机写入的工作负载。
3.6 IBM Dynamic Disk Pool(DDP)
IBM Dynamic Disk Pool 是 IBM 存储系统(如 DS3500、DCS3700 等)中的专有数据保护技术,属于 IBM 早期推出的”全局热备+分布式重构”方案。
3.6.1 核心原理
DDP 将每块物理磁盘划分为固定大小的 D-piece(512MB),多个 D-piece 组成一个 D-chunk(D-stripe),默认采用 8D+2P(RAID 6) 的条带结构。
物理盘结构:Disk 0: [D-piece][D-piece][D-piece][D-piece]...[系统保留]Disk 1: [D-piece][D-piece][D-piece][D-piece]...[系统保留]...
D-chunk 组成(8+2):[D0][D1][D2][D3][D4][D5][D6][D7][P1][P2] → 来自 10 块不同的盘关键机制:
- 分布式热备:每块盘预留一部分 D-piece 作为备用空间,当某块盘故障时,所有健康盘的预留空间共同承担重构数据,无需专用热备盘
- 并行重构:重构数据分散写入所有健康盘,避免单盘成为热点
- 自动再平衡:加入新盘后,系统自动将数据重新分布到新容量上
3.6.2 关键参数
| 项目 | 说明 |
|---|---|
| 最少磁盘数 | 11 块(8 数据 + 2 校验 + 1 备用等效) |
| RAID 级别 | 固定为 RAID 6(8D+2P),不可更改 |
| 容错能力 | 任意 2 块盘同时故障 |
| 扩容 | 支持在线加盘(每次 1-12 块),不支持减盘 |
3.6.3 与 RAID 2.0+ 的关系
IBM DDP 与华为 RAID 2.0+ 在理念上非常相似(全局池化、分布式热备、并行重构),但 DDP 是 IBM 的早期实现,粒度和灵活性不如 RAID 2.0+ 的 CK/CKG/Grain 三层架构。
3.7 ZFS RAID-Z / RAID-Z2 / RAID-Z3
RAID-Z 是 Sun Microsystems(后被 Oracle 收购)在其 ZFS 文件系统中开发的软件 RAID 方案,不需要额外硬件 RAID 卡。广泛应用于 TrueNAS、OpenZFS 等开源存储平台。
3.7.1 核心原理
解决 RAID-5 写入漏洞
传统 RAID 5 存在著名的**“写入漏洞”(Write Hole)**问题:当仅写入条带的一部分数据时,如果中途断电,数据与校验将不一致,导致校验永久失效。
RAID-Z 通过两大机制彻底解决了这个问题:
- 动态条带宽度:ZFS 根据每次写入的实际数据块大小动态调整条带宽度,确保每次写操作都是全条带写入,从根本上消除写入漏洞
- 写时复制(Copy-on-Write):数据先写入新位置,元数据更新后才指向新位置,即使断电也不会出现数据与校验不一致
| 级别 | 校验数 | 最少盘数 | 容错能力 | 对标传统 RAID |
|---|---|---|---|---|
| RAID-Z1 | 1 | 3 | 1 块盘 | RAID 5 |
| RAID-Z2 | 2 | 4 | 2 块盘 | RAID 6 |
| RAID-Z3 | 3 | 5 | 3 块盘 | 无对应 |
3.7.2 自愈能力
ZFS 为每个数据块计算校验和(Checksum),读取时自动比对。若检测到静默数据损坏(bit rot),ZFS 会从冗余副本或校验信息中自动修复,无需人工干预。
3.7.3 性能特征
- 顺序读写性能优秀,可随盘数线性扩展
- 随机写入因校验计算性能较低
- 重建时间随校验盘增加而延长(RAID-Z1 约 5 小时,RAID-Z3 约 9 小时,以 4TB HDD 为例)
- 推荐每组 3-9 块盘以优化性能
3.8 Ceph CRUSH
CRUSH(Controlled Replication Under Scalable Hashing)是 Ceph 开源分布式存储系统的核心数据分布算法,严格来说它不是传统意义上的 RAID,而是一种去中心化的数据分布与冗余机制。
3.8.1 核心原理
CRUSH 彻底抛弃了传统 RAID 的”固定磁盘组”概念,通过算法计算而非查表来确定数据存放位置:
数据对象 → 哈希映射到 PG(归置组) → CRUSH 算法计算 OSD 列表工作流程:
- 对象→PG 映射:
PG_ID = Hash(Object_ID) % pg_num - PG→OSD 映射:
CRUSH(PG_ID, Cluster_Map, Rule) → [OSD1, OSD2, ...]
CRUSH 算法根据集群拓扑图(CRUSH Map)和放置规则(Placement Rule),计算出数据应存放在哪些 OSD 上。
3.8.2 关键特性
- 去中心化:客户端和 OSD 均可独立计算数据位置,无需中心元数据服务器
- 故障域隔离:支持按机架、机房、主机等物理层级隔离副本,确保同一数据的多个副本不在同一故障域
- 弹性扩展:新增/移除 OSD 时,仅迁移受影响的数据(约 1/N),最小化数据搬迁量
- 权重感知:根据设备容量/性能权重分配数据,大容量盘承载更多数据
- 冗余模式:支持副本模式(默认 3 副本)和纠删码模式(类似 RAID 5/6 的编码方式)
3.8.3 与传统 RAID 的本质区别
| 维度 | 传统 RAID | Ceph CRUSH |
|---|---|---|
| 数据分布 | 固定 RAID 组内条带化 | 算法计算,全局分布 |
| 扩展方式 | 需重建 RAID 组 | 加入新 OSD 自动再平衡 |
| 故障域 | 单控制器/单机柜 | 可跨机架、跨机房 |
| 规模上限 | 数十块盘 | 数千块盘 |
| 元数据管理 | 控制器维护 RAID 映射表 | 无中心元数据,算法自计算 |
3.9 RAIDIX RAID 7.3
RAIDIX 是一家专注于高性能存储软件的公司,其 RAID 7.3 是专有的 N+M 数据保护算法,应用于 RAIDIX 5.X 软件定义存储平台。
3.9.1 核心原理
RAID 7.3 采用 N+M 冗余编码,允许灵活配置数据盘(N)和校验盘(M)的数量,提供比传统 RAID 更灵活的冗余策略。支持最大 9PB 的存储容量,系统可随需求阶段性扩展。
3.9.2 技术特色
- ERA 引擎:采用无锁数据路径(Lockless Data Path)的创新软件 RAID,将存储性能提升到闪存介质带宽水平
- 双控制器高可用:避免单点故障
- 线性性能扩展:读写性能随盘数线性增长
- 跨平台兼容:支持各家厂商的硬盘和控制器,避免供应商锁定
适用场景:高性能计算(HPC)、AI 训练数据存储、大型视频监控、冷/暖数据归档、影视后期制作(4K/8K 素材处理)。
3.10 IBM Storage Scale RAID(Reed-Solomon 编码)
IBM Storage Scale(原 GPFS)中的 Reed-Solomon 编码 vdisk,用于大规模并行文件系统的数据保护。
3.10.1 核心原理
采用 Reed-Solomon 纠删码替代传统 XOR 校验,支持如 8+3p(8 数据 + 3 校验,空间利用率 73%)或 8+2p(8 数据 + 2 校验,空间利用率 80%)等灵活配置。
与复制模式(3 副本利用率仅 33%)相比,Reed-Solomon 编码在空间效率上有显著优势,特别适合存储大量用户数据的场景。
3.10.2 最佳实践
- 元数据使用复制模式(replicated vdisk),因为元数据量小(占 1%-3%),且小块写入性能更好
- 用户数据使用 Reed-Solomon 编码(Reed-Solomon vdisk),空间效率高,整条带写入性能优秀
3.11 HPE Smart Array(传统硬件 RAID)
HPE Smart Array 是 HPE ProLiant 和 Synergy 服务器配套的硬件 RAID 控制器系列,支持标准 RAID 0/1/5/6/10 等级别。
3.11.1 技术特色
- 硬件加速:专用处理器和缓存(2-4GB)处理 RAID 计算,不占用主机 CPU
- SmartCache:SSD 缓存加速层,将热点数据缓存到 SSD 提升读性能
- 在线扩展:支持在线扩容和 RAID 级别迁移
- 深度集成:与 HPE iLO 管理平台集成,支持远程监控和固件更新
3.11.2 定位
HPE Smart Array 属于传统硬件 RAID 控制器方案,与 RAID 2.0+、CRAID 等”新一代存储架构”不同,它仍然基于固定 RAID 组的管理模式。
3.12 综合横向对比
| 技术方案 | 厂商/平台 | 数据管理粒度 | 容错能力 | 热备机制 | 扩容方式 | 核心优势 |
|---|---|---|---|---|---|---|
| RAID 2.0+ | 华为 | CK/CKG/Grain 三层 | 最多 3 盘(RAID-TP) | 分布式预留 | 加盘自动平衡 | 全局池化,细粒度管理 |
| CRAID 3.0 | 宏杉科技 | CK/DCG/Cell 三层 | 最多 3 盘 | 分布式预留 | 加盘自动平衡 | 三重校验+多种智能重建 |
| RAID-DP/TEC | NetApp | 传统 RAID 组 | 2-3 盘 | 专用热备盘 | 需重建聚合 | 无写惩罚(NVRAM) |
| ADAPT | Dell | 分布式擦除编码 | 2 盘 | 内置备用容量 | 加盘自动扩展 | 运维极简,最少 12 盘 |
| DDP | IBM | D-piece/D-chunk | 2 盘 | 分布式预留 | 加盘自动再平衡 | 早期全局热备方案 |
| RAID-Z/Z2/Z3 | ZFS(开源) | 动态条带宽度 | 1-3 盘 | 无(依赖冗余盘) | 加盘新建 vdev | 消除写入漏洞+自愈 |
| CRUSH | Ceph(开源) | 对象/PG 级 | 3 副本或纠删码 | 无(算法重计算) | 加 OSD 自动迁移 | 去中心化,超大规模 |
| RAID 7.3 | RAIDIX | N+M 编码 | 可配置 M 值 | 无专用热备 | 阶段性扩展 | 超高带宽,HPC/AI |
| Reed-Solomon | IBM Storage Scale | vdisk 级 | 2-3 盘校验 | 副本+纠删码混合 | 加 NSD 扩展 | 空间效率极高 |
| Smart Array | HPE | 传统 RAID 组 | 1-2 盘 | 专用热备盘 | 在线扩容 | 硬件加速,成熟稳定 |
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 中高端统一存储 | 华为 RAID 2.0+ / 宏杉 CRAID 3.0 | 全局池化,细粒度管理,三重容错 |
| 数据库/低延迟场景 | NetApp RAID-DP/TEC | 无写惩罚,NVRAM 保护,性能稳定 |
| 中小型企业存储 | Dell ADAPT | 运维简单,12 盘起步,自动管理 |
| 开源/软件定义存储 | ZFS RAID-Z2 / Ceph CRUSH | 零硬件成本,自愈能力强 |
| 超大规模分布式存储 | Ceph CRUSH | 去中心化,支持数千节点 |
| HPC/AI 高性能场景 | RAIDIX RAID 7.3 | 超高带宽,线性扩展 |
| 大规模并行文件系统 | IBM Storage Scale RS 编码 | 空间效率极高,适合海量数据 |
总结:企业级 RAID 技术正在从”固定 RAID 组”向”全局池化+细粒度数据分布”演进。华为 RAID 2.0+、宏杉 CRAID、Dell ADAPT、IBM DDP 都属于这一趋势的代表;NetApp 则走了另一条路,通过 NVRAM 消除写惩罚来优化传统 RAID 的性能;ZFS RAID-Z 从文件系统层面解决了写入漏洞问题;Ceph CRUSH 则彻底颠覆了传统 RAID 的架构思维,用算法替代了硬件映射表。选择哪种方案,取决于你的规模、性能需求、运维能力和预算。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!




























