RAID,Redundant Arrays of Independent Disks,独立冗余磁盘阵列。
- RAID 0,stripe 模式(striping 条带化)
- RAID 1,mirror 模式(mirroring 镜像化),相当于镜像备份
- RAID 10,先组多套 RAID 1(至少两组),这些 RAID 1 之间组成 RAID 0,即给 RAID 0 的每个组件都加上备份。
- 一个 RAID 0 的盘不能全坏
- RAID 3,在 RAID 0 的基础上,额外使用一块盘存储奇偶校验结果,在发生一块盘故障是,可用奇偶校验结果与其他盘上的数据来恢复故障盘,但是存储奇偶校验结果的盘的读写压力很大,容易故障。
- RAID 5,在 RAID 3 的基础上改进,奇偶校验结果分散存储在各个硬盘
- 写入需要计算,影响写入性能,需要专门的硬件来优化写入性能
- RAID 6,在 RAID 5 的基础上改进,更多的校验,占用两块硬盘,允许两块硬盘故障
- 复杂度提高
RAID 对磁盘故障的容错即出现损坏硬盘时,支持对新硬盘进行重建(rebuild)整个阵列,为了迅速重建有两种方案:
- 热插拔,立刻将故障硬盘拔掉换成新硬盘,启动重建
- 热备份 spare disk,硬盘预先准备,但不被磁盘阵列使用,当硬盘损坏时踢出坏的,纳入热备份硬盘进行重建
| RAID 0 | RAID 1 | RAID 10 | RAID 5 | RAID 6 | |
|---|---|---|---|---|---|
| 容量 | n | 1 | n/2 | n-1 | n-2 |
| 写入性能(理论) | n | 1 | n/2 | 小于 n-1 | 小于 n-2 |
| 读取性能(理论) | n | n | n | 小于 n-1 | 小于 n-2 |
| 最大容错盘数 | 无 | n-1 | n/2 | 1 | 2 |
| 最少磁盘数 | 2 | 2 | 4 | 3 | 4 |
| 备注 | |||||
| 应用 | 唯性能 | 唯备份 | 云平台常用 | 备份 | 备份 |
- 云场景中使用 RAID 10 较多,RAID 5 和 RAID 6 由于性能问题不考虑
- RAID 6 常用于大容量数据的备份
JBOD
在标准 RAID 之外,还有一种非标的多硬盘使用方式:JBOD,Just a Bunch of Disks。类似 LVM 的默认模式,将硬盘线性「连接」在一起(Spanning),如同一块硬盘,无容错无性能提升,就如它的名字一样:仅仅将一堆硬盘捆在一起。此外需要注意:
- 理论上无冗余(实际可能不影响其他数据)
- 第一块盘损坏会失去所有数据:对于操作系统,这是一整块盘,分区表(partition table)一般就放在了这组硬盘的第一块,如果失去了分区表,
其他非标 RAID
- RAID Z2 类似 RAID 6,但是通过 ZFS 文件系统来做到。