19.2. RAID 类型
以下是可能的 RAID 类型:
- 固件 RAID
- 固件 RAID(也称为 ATARAID)是一种软件 RAID,可以使用基于固件的菜单配置 RAID 集。此类 RAID 使用的固件也会挂接到 BIOS 中,允许您从 RAID 集启动。不同的供应商使用不同的磁盘元数据格式来标记 RAID 集成员。Intel Matrix RAID 是固件 RAID 系统的示例。
- 硬件 RAID
基于硬件的阵列独立于主机管理 RAID 子系统。它可能会在每个 RAID 阵列中存在多个设备。
硬件 RAID 设备可能是系统内部或外部的。内部设备通常由一个专用的控制器卡组成,它处理对操作系统透明的 RAID 任务。外部设备通常通过 SCSI、光纤、iSCSI、InfiniBand 或者其它高速网络互联连接的系统,并显示卷如逻辑单元到系统。
RAID 控制器卡的功能类似于操作系统的 SCSI 控制器,并处理所有实际驱动器通信。您可以将驱动器插入与普通 SCSI 控制器类似的 RAID 控制器,然后将其添加到 RAID 控制器配置中。操作系统将无法辨别它们的不同。
- 软件 RAID
软件 RAID 在内核块设备代码中实现各种 RAID 级别。它提供最便宜的解决方案,因为不需要昂贵的磁盘控制器卡或热插拔机箱。使用热插拔机箱时,您可以在不关闭系统的情况下删除硬盘驱动器。软件 RAID 也可用于任何由 Linux 内核支持的块存储,如 SATA、SCSI 和 NVMe。随着新 CPU 的速度加快,除非您使用高端存储设备,软件 RAID 通常会优于硬件 RAID。
由于 Linux 内核包含多个设备 (MD) 驱动程序,因此 RAID 解决方案将完全独立于硬件。基于软件的阵列的性能取决于服务器 CPU 的性能和负载。
以下是 Linux 软件 RAID 堆栈的主要功能:
- 多线程设计
- 在不同的 Linux 机器间移动磁盘阵列不需要重新构建数据
- 使用空闲系统资源进行后台阵列重构
- 支持热插拔驱动器
- 自动 CPU 检测以利用某些 CPU 功能,如流传输单一指令多个数据 (SIMD) 支持。
- 自动更正阵列磁盘中的错误扇区。
- 定期检查 RAID 数据,以确保阵列的健康状态。
- 主动监控阵列,在发生重要事件时将电子邮件报警发送到指定的电子邮件地址。
Write-intent 位图通过允许内核准确了解磁盘的哪些部分需要重新同步,而不必在系统崩溃后重新同步整个阵列,可以大大提高了重新同步事件的速度。
注意resync 是一个通过现有 RAID 设备同步数据以达到冗余的过程
- 重新同步检查点,以便如果您在重新同步期间重新启动计算机,则在启动时重新同步会从其停止的地方开始,而不是从头开始
- 安装后更改阵列参数的功能,称为重塑(reshaping)。例如:当有新设备需要添加时,您可以将 4 磁盘 RAID5 阵列增加成 5 磁盘 RAID5 阵列。这种增加操作是实时的,不需要您在新阵列上重新安装。
- 重塑支持更改设备数量、RAID 算法或 RAID 阵列类型的大小,如 RAID4、RAID5、RAID6 或 RAID10。
- 接管支持 RAID 级别转换,比如 RAID0 到 RAID6。
- 集群 MD 是集群的存储解决方案,可为集群提供 RAID1 镜像的冗余。目前,只支持 RAID1。