软件 RAID 的性能可能会有问题,尤其是使用 NVMe 驱动器时。另一方面,硬件 RAID 通常由于其专用的处理能力而提供更好的性能和访问速度。
现在,组织比以往任何时候都更倾向于将基于软件的组件添加到其存储基础架构中。RAID 是此存储基础架构的一部分,因为它可以优化存储容量并降低数据丢失的风险。如今,软件 RAID 正在取代许多 IT 基础架构中的硬件 RAID。硬件 RAID 和软件 RAID 之间的主要区别在于,对硬件 RAID 的访问由独立于操作系统和文件系统本身的控制器管理,而软件 RAID 由操作系统内的软件管理。它们的价格、性能和访问速度都不同。
RAID是一种虚拟存储资源,可将一台或多台计算机设备连接到受控制器管理的多个存储设备阵列。当用户应用 RAID 系统时,他们会将磁盘视为逻辑存储资源。RAID 存储有很多可能性,价格与所提供的设备和控制器范围一样多种多样。
什么是 RAID?
RAID 代表独立磁盘冗余阵列,使用多个硬盘驱动器制作冗余数据副本。如果 RAID 阵列中的驱动器发生故障,数据仍可通过各种机制保持安全。RAID 将多个独立硬盘驱动器或磁盘虚拟化为一个或多个阵列,以提高不同操作系统的性能、容量和容错能力。它可以通过硬件或软件执行。
比较 – 软件 RAID 与硬件 RAID
RAID 可以使用特殊硬件控制器(硬件 RAID)或操作系统驱动程序(软件 RAID)来执行。
软件 RAID
软件 RAID 无需专用硬件组件即可实现 RAID,主机管理物理驱动器。磁盘控制器软件嵌入在计算机系统中,必须与操作系统兼容。多个物理磁盘分组形成阵列。如果存储驱动器连接到没有专用硬件 RAID 卡或控制器的服务器或计算机,则 RAID 配置由操作系统中集成的实用程序软件处理。此设置称为软件 RAID。
软件 RAID 允许用户更改磁盘阵列,并且需要更多用户与服务器和操作系统的交互,因为 RAID 控制器是操作系统的一部分。成本较低,因为不需要额外的硬件 RAID 控制器。软件层执行 RAID 功能,包括数据条带化、镜像或奇偶校验计算。许多操作系统都支持软件 RAID 配置,包括 Microsoft、Apple、各种 Linux 发行版、Solaris Unix、FreeBSD、OpenBSD 和 NetBSD 的操作系统。
软件 RAID 的优点
- 软件 RAID 比硬件 RAID 更经济,因为它不需要额外的 RAID 控制器硬件并利用现有的 CPU 资源。
- 实施软件 RAID 非常简单,因为它直接与主机操作系统集成,不需要专有硬件或特定于供应商的解决方案。
- 软件 RAID 通常通过支持的 RAID 级别和附加设置提供更大的灵活性。
软件 RAID 的缺点
- 软件 RAID 依赖主机 CPU 进行 I/O 操作,可能会影响整体系统性能,尤其是在 I/O 负载较重的情况下,尤其是使用固态硬盘 (SSD) 时。
- 高 CPU 使用率可能会影响整个 RAID 阵列的性能和可用性。
- 软件 RAID 配置与所设置的特定操作系统相关。升级或更改操作系统时,用户可能会遇到兼容性或数据迁移方面的挑战。
硬件 RAID
当 RAID 控制器首次进入市场时,它最初是使用硬件配置的。此设置允许您将 RAID 控制器链接到磁盘阵列中的一台或多台计算机和多个存储设备,并根据组织的要求将所有与 RAID 相关的组件配置为其特定的 RAID 级别。磁盘阵列和控制器可以独立于计算设备进行修改。
硬件 RAID 是一种专门的处理系统,旨在独立于操作系统处理 RAID 配置。它使用多个 RAID 卡,确保受管理磁盘的处理能力不会大幅下降。专用 RAID 卡还以一种使主机进程基本透明的方式管理磁盘。这种方法提供了更多种类的 RAID 设计选项,包括可能与所有操作系统选项不兼容的混合设置。但是,硬件 RAID 价格昂贵,并且会显著增加设置 RAID 的总体成本,这就是大多数组织选择软件 RAID 设置的原因。
硬件 RAID 的优势
- 使用硬件 RAID 访问数据通常更快。
- 控制器独立于相关计算机运行,无需使用计算机的处理能力即可管理磁盘。
- 通过移除和替换设备来更换损坏的磁盘很容易。
- 硬件 RAID 卡通常不受网络攻击,因为 RAID 系统独立于主机操作系统运行。现代硬件 RAID 控制器现在包含基于硬件的加密机制,以保护驱动器上的数据。
硬件 RAID 的缺点
- 尽管硬件 RAID 通常更可靠,因为它不会占用磁盘的处理能力,但它比软件 RAID 更昂贵。
- 它可能与相关操作系统不兼容。
- 虽然硬件 RAID 控制器可以提高性能,但控制器的功能限制了优化级别。
- 与可以使用熟悉的操作系统工具进行管理的软件 RAID 不同,硬件 RAID 通常需要专业知识来使用专有 RAID 管理软件进行配置和监控。
RAID 控制器和实现
硬件 RAID 控制器
硬件 RAID 控制器可实现 RAID 协议,有多家制造商提供。SATA 驱动器的性能、延迟和扩展要求较低,使硬件和软件 RAID 逻辑集成更加容易。硬件 RAID 可与串行连接 SCSI (SAS) 控制器配合使用,但 NVMe RAID 实现受到限制,并且性能可能存在问题。
软件 RAID 实现
软件 RAID 或卷管理器可以提高服务器上存储分配的灵活性,增加关键数据、可靠性和性能功能。软件 RAID 实现范围从简单的抽象产品到更大、功能更丰富的卷管理器产品。软件 RAID 的主要优势是灵活性,但它的性能可能会受到影响,尤其是使用 NVMe 驱动器时。
原始容量与可用容量
使用 RAID 时,务必了解驱动器的原始容量与可用于存储数据的可用容量不同。原始容量是指驱动器的总存储容量。例如,如果有三个 500GB 驱动器,则备份系统中三个驱动器的总原始容量为 1,500GB。
另一方面,可用容量是 RAID 配置和格式化后可用于数据存储的空间量。RAID 级别会显著影响大多数系统的可用容量,因为会牺牲大约 30% 到 40% 的存储空间来实现冗余,从而导致大约 60% 到 70% 的可用容量。
其实,不仅 RAID 配置,驱动器格式化也会减少可用空间。通常,制造商和操作系统会保留大约 10% 的硬盘存储空间用于格式化。因此,对于三个总原始容量为 1,500GB 的磁盘,在 RAID 配置和格式化之后,您可能预计大约有 800GB 的可用容量可用于存储数据。
常见 RAID 配置
- RAID 0(条带化)——可提高性能,但如果其中一个驱动器发生故障,则会导致数据丢失。
- RAID 1(镜像)——如果阵列中的一个驱动器发生故障,则保存数据。
- RAID 5(带奇偶校验的条带化)——使用 RAID 奇偶校验来保护数据,同时提高性能。
- RAID 6(双奇偶校验的条带化)—与 RAID 5 类似,但至少需要四块硬盘。
- RAID 10(结合 RAID 1 和 RAID 0)——通过在每组驱动器上剥离数据并在电源故障期间在第二组驱动器上镜像数据来提供安全性。
RAID 可扩展性和容错能力
可扩展性注意事项
硬件 RAID 通常比软件 RAID 更具可扩展性。尽管软件 RAID 是一种经济高效的选择,但它可能无法提供与硬件 RAID 相同级别的性能和可扩展性。
容错和冗余
RAID 为应用程序、文件和数据库提供主存储和辅助支持。向阵列添加更多驱动器可提高存储容量、写入性能和容错能力。RAID 对于组织的数据保护和灾难恢复策略非常重要。
总结
比较硬件 RAID 和 Windows 软件 RAID 及配置时,软件 RAID 设置效率较低且限制较多。另一方面,软件 RAID 成本较低,并且允许您更改硬件和软件 RAID 阵列配置,而不必担心控制器兼容性。如果您的预算紧张,软件 RAID 是最佳选择,但如果性能对您来说很重要,则硬件 RAID 更好。您应该始终保持 RAID 数据恢复软件可用,以防出现问题,这样您就可以快速从 RAID 中恢复数据。