RAID(独立磁盘冗余阵列)是一种将相同数据存储在多个硬盘或固态驱动器 (SSD) 上不同位置的方法,以在驱动器发生故障时保护数据。但是,有不同的 RAID 级别,并且并非所有级别都以提供冗余为目标。

RAID 的工作原理

RAID 的工作原理是将数据放置在多个磁盘上,并允许输入/输出 (I/O) 操作以平衡的方式重叠,从而提高性能。因为使用多个磁盘会增加平均故障间隔时间,所以冗余存储数据也会增加容错能力。 RAID 阵列在操作系统 (OS) 中显示为单个逻辑驱动器。 RAID 采用磁盘镜像或磁盘条带化技术。镜像会将相同的数据复制到多个驱动器上。条带化分区有助于将数据分布在多个磁盘驱动器上。每个驱动器的存储空间被划分为从512 字节到数兆字节的扇区。所有磁盘的条带按顺序交错和寻址。磁盘镜像和磁盘条带化也可以组合在一个 RAID 阵列中。
RAID 阵列
RAID 阵列中的硬盘驱动器图像。
在存储大记录的单用户系统中,通常将条带设置为小(例如 512 字节),以便单个记录跨越所有磁盘,并且可以通过同时读取所有磁盘来快速访问时间。 在多用户系统中,更好的性能需要足够宽的条带来保存典型或最大大小的记录,从而实现跨驱动器的重叠磁盘 I/O。

RAID 控制器

RAID 控制器是用于管理存储阵列中的硬盘驱动器的设备。它可以用作操作系统和物理磁盘之间的抽象级别,将磁盘组表示为逻辑单元。使用 RAID 控制器可以提高性能并在发生崩溃时帮助保护数据。 RAID 控制器可以是基于硬件或软件的。在基于硬件的 RAID产品中,物理控制器管理整个阵列。该控制器还可以设计为支持串行高级技术附件和小型计算机系统接口等驱动器格式。物理 RAID 控制器也可以内置到服务器的主板中。 使用基于软件的 RAID,控制器使用硬件系统的资源,例如中央处理器和内存。虽然它执行与基于硬件的 RAID 控制器相同的功能,但基于软件的 RAID 控制器可能无法实现如此多的性能提升,并且可能会影响服务器上其他应用程序的性能。 如果基于软件的 RAID 实施与系统的启动过程不兼容,并且基于硬件的 RAID 控制器成本太高,那么固件或基于驱动程序的 RAID 是一个潜在的选择。 基于固件的 RAID 控制器芯片位于主板上,所有操作都由中央处理单元 (CPU) 执行,类似于基于软件的 RAID。但是,对于固件,RAID 系统仅在启动过程开始时实施。加载操作系统后,控制器驱动程序将接管 RAID 功能。固件 RAID 控制器不像硬件选项那样昂贵,但它会给计算机的 CPU 带来更大的压力。基于固件的 RAID 也称为硬件辅助软件 RAID、混合模型 RAID 和假 RAID。

标准 RAID 级别

RAID 0此配置具有条带化但没有数据冗余。它提供最佳性能,但不提供容错。
RAID 0 图
RAID 0 的可视化。
RAID 1也称为磁盘镜像,此配置由至少两个复制数据存储的驱动器组成。没有条纹。读取性能得到改善,因为可以同时读取任一磁盘。写入性能与单磁盘存储相同。
RAID 1 图
RAID 1 的可视化。
RAID 2此配置使用跨磁盘条带化,其中一些磁盘存储错误检查和纠正 (ECC) 信息。RAID 2 还使用专用的汉明码奇偶校验,一种 ECC 的线性形式。RAID 2 与 RAID 3 相比没有优势,因此不再使用。
RAID 2 图
RAID 2 的可视化。
RAID 3该技术使用条带化并专门使用一个驱动器来存储奇偶校验信息。嵌入的 ECC 信息用于检测错误。数据恢复是通过计算记录在其他驱动器上的独占信息来完成的。因为 I/O 操作同时寻址所有驱动器,所以 RAID 3 不能重叠 I/O。因此,RAID 3 最适合具有长记录应用程序的单用户系统。
RAID 3 图
RAID 3 的可视化。
RAID 4此级别使用大条纹,这意味着用户可以从任何单个驱动器读取记录。然后可以将重叠的 I/O 用于读取操作。因为更新奇偶校验驱动器需要所有写操作,所以不可能有 I/O 重叠。
RAID 4 图
RAID 4 的可视化。
RAID 5此级别基于奇偶校验块级条带化。奇偶校验信息跨每个驱动器进行条带化,即使一个驱动器发生故障,阵列也能正常工作。该阵列的架构使读写操作能够跨越多个驱动器。这导致性能优于单个驱动器,但不如 RAID 0 阵列高。RAID 5 至少需要三个磁盘,但出于性能原因,通常建议使用至少五个磁盘。