RAID,Redundant Arrays of Independent Disks,独立冗余磁盘阵列。

  1. RAID 0,stripe 模式(striping 条带化)
  2. RAID 1,mirror 模式(mirroring 镜像化),相当于镜像备份
  3. RAID 10,先组多套 RAID 1(至少两组),这些 RAID 1 之间组成 RAID 0,即给 RAID 0 的每个组件都加上备份。
    1. 一个 RAID 0 的盘不能全坏
  4. RAID 3,在 RAID 0 的基础上,额外使用一块盘存储奇偶校验结果,在发生一块盘故障是,可用奇偶校验结果与其他盘上的数据来恢复故障盘,但是存储奇偶校验结果的盘的读写压力很大,容易故障。
  5. RAID 5,在 RAID 3 的基础上改进,奇偶校验结果分散存储在各个硬盘
    1. 写入需要计算,影响写入性能,需要专门的硬件来优化写入性能
  6. RAID 6,在 RAID 5 的基础上改进,更多的校验,占用两块硬盘,允许两块硬盘故障
    1. 复杂度提高

RAID 对磁盘故障的容错即出现损坏硬盘时,支持对新硬盘进行重建(rebuild)整个阵列,为了迅速重建有两种方案:

  1. 热插拔,立刻将故障硬盘拔掉换成新硬盘,启动重建
  2. 热备份 spare disk,硬盘预先准备,但不被磁盘阵列使用,当硬盘损坏时踢出坏的,纳入热备份硬盘进行重建
RAID 0RAID 1RAID 10RAID 5RAID 6
容量n1n/2n-1n-2
写入性能(理论)n1n/2小于 n-1小于 n-2
读取性能(理论)nnn小于 n-1小于 n-2
最大容错盘数n-1n/212
最少磁盘数22434
备注
应用唯性能唯备份云平台常用备份备份
  1. 云场景中使用 RAID 10 较多,RAID 5 和 RAID 6 由于性能问题不考虑
  2. RAID 6 常用于大容量数据的备份

JBOD

在标准 RAID 之外,还有一种非标的多硬盘使用方式:JBOD,Just a Bunch of Disks。类似 LVM 的默认模式,将硬盘线性「连接」在一起(Spanning),如同一块硬盘,无容错无性能提升,就如它的名字一样:仅仅将一堆硬盘捆在一起。此外需要注意:

  1. 理论上无冗余(实际可能不影响其他数据)
  2. 第一块盘损坏会失去所有数据:对于操作系统,这是一整块盘,分区表(partition table)一般就放在了这组硬盘的第一块,如果失去了分区表,

其他非标 RAID

  1. RAID Z2 类似 RAID 6,但是通过 ZFS 文件系统来做到。