到目前为止,在我们的RAID 系列中,我们已经深入探讨了RAID 是什么,并将其定义为独立磁盘的冗余阵列或一系列连接在一起以特定方式存储数据的硬盘驱动器。此外,我们还介绍了不同的RAID 级别、它们的含义、用途以及优缺点。
现在我们已经掌握了所有这些信息,只需要回答一个问题:这一切是如何运作的?
答案是RAID 控制器,它是一种设备或程序,它告诉计算机如何处理提供的数据以及将其存储在何处。RAID 控制器是RAID 阵列的真正大脑,可以采用硬件RAID 控制器或软件RAID 控制器的形式。在本文中,我们将了解软RAID 与硬RAID 控制器,以及何时使用哪个选项。
什么是硬RAID?
硬件RAID 解决方案是一种专用处理系统,它包含用于运行RAID 阵列的自己的处理器和内存。在此实施中,所有硬盘驱动器磁盘都连接到RAID 控制器,该控制器将物理控制和支持您的RAID 配置。硬件RAID 控制器的作用是管理您的硬盘驱动器磁盘并将它们作为一个或多个逻辑单元呈现给您的主机计算机。
使用硬件RAID,您的控制器可以是基于卡的独立物理卡,也可以是ROC,代表“片上RAID”技术,它是自带主板的集成硬件。在某些情况下,硬件RAID 控制器将被设置为一个独立的小型计算机系统,专用于您的RAID 应用程序,从主机上卸载所有任务。
离散硬件RAID 控制器卡
此RAID 控制器实施是一种扩展型卡,具有内置RAID 处理器,有时称为I/O 处理器。它还包含自己的硬盘驱动器接口(I/O 控制器)。
它最常插入主板的PCIe 或PCI-X 插槽,并且来自它的所有RAID 功能完全独立于您的主机。
它通过将所有任务完全卸载到冗余存储子系统来工作,这样即使在驱动器故障期间,主机系统的性能也不会受到影响。
独立物理硬件RAID 卡的优点:
-
- 物理卡上有多个I/O 接口。这使您可以根据需要添加任意数量的硬盘驱动器来扩展阵列以提高容量。
- 主机系统不受影响。拥有多个RAID 阵列不会影响主机系统性能。您可以根据需要将单个或多个RAID 阵列迁移到其他操作系统或主机系统而不会产生影响。
- RAID 应用程序独立于主机系统。当系统崩溃时,数据完整性保持不变。
- 防止断电。将跟踪正在进行的写入,在断电的情况下确保数据安全。
- 病毒保护。硬件RAID 阵列独立于主机系统,使其不易受病毒攻击。
- 提供出色的性能。硬件RAID 从主机卸载所有RAID 任务,提供更好的主机系统性能。
- 配备专用的图形用户界面和软件。使设置和维护RAID 阵列变得非常容易。
- 可以根据需要迁移和替换。您的物理卡可以根据需要插入任何系统、更换或升级。
- 支持高级RAID 功能。如阵列级迁移、在线扩容、磁盘热插拔等。
- 带有控制器缓存。随着内存被缓存,访问时间会增加。
离散物理硬件RAID 卡的缺点:
- 昂贵的。与其他RAID 解决方案相比,它的成本要高得多,因为最终用户必须购买I/O 处理器和额外的内存驱动器才能进行扩展。除此之外,您还必须购买实体卡。
Raid-on-Chip (RoC) 硬件RAID 技术
此实现作为集成到主板中的芯片提供,通常包含RAID 处理器、内存控制器、主机接口、用于硬盘驱动器连接的I/O 接口和内存。
硬件Raid-on-Chip 技术的优势:
- 在启动/启动时受到保护。阵列在启动过程中和启动过程中保护数据,消除任何错误。
- RAID 独立于主机。这可以保护数据免受系统崩溃的影响。
- 不受病毒影响。该阵列独立于主机系统,使其不易受到病毒的攻击。
- 系统影响小。从主机卸载任务,使此设置适用于RAID 5 和6。
- 控制器上缓存。随着内存被缓存,访问时间会增加。
- 支持高级RAID 功能。如阵列级迁移、在线扩容、磁盘热插拔等。
- 配备专用的图形用户界面和软件。使设置和维护RAID 阵列变得非常容易。
硬件Raid -on-Chip 技术的缺点:
- 中等成本。使用比标准物理控制器更少的物理组件可降低成本,但仍比软件RAID 成本更高。
- 灵活性低。如果没有类似的RoC 解决方案,就不可能迁移到其他系统。
什么是软RAID?
当RAID 阵列连接到没有物理控制器的计算机时,计算机需要有关如何操作和使用它的说明。这是通过称为软件RAID 控制器的程序完成的,该程序利用计算机的CPU 来引导信息。您可以将软件RAID 实现为在操作系统上运行的纯软件应用程序,也可以使用硬件辅助的软件RAID 解决方案。
纯RAID 软件应用程序
该解决方案利用在主机上运行的应用程序,无需硬件。它使用通过内置I/O 接口或无处理器主机总线适配器直接连接到计算机系统的硬盘驱动器。加载软件后,RAID 将变为活动状态。它通常直接内置于操作系统中,最终用户无需支付额外费用。
使用纯RAID 软件应用程序的优点:
-
- 内置于操作系统中。使用操作系统软件RAID 实施时,拥有软件RAID 功能无需额外费用。
- 高度灵活。特别是在大型服务器中使用时,纯软件RAID 可以量身定制以适应各种情况。
使用纯软件RAID 应用程序的缺点:
- 不保护数据免受引导失败。在启动过程中出现的任何损坏数据,在RAID 程序启动之前,计算机将无法识别并导致其无法运行。
- 系统上的额外负载。阵列需要的资源越多,它对系统性能的影响就越大。更复杂的RAID 5 设置将比RAID 0、1 或2 阵列更费力。
- 易受病毒侵害。在操作系统内运行意味着病毒除了会影响系统外,还会影响阵列的性能。
- 受系统崩溃影响的数据完整性。系统遇到的任何硬件或软件问题都可能会影响阵列中的数据。
- 有限的操作系统迁移。如果您需要更改系统或更新您的操作系统,如果新操作系统不支持RAID 功能,您将无法做到。
- 没有回写缓存。如果硬件RAID 可以使用电池以“回写”模式运行,则无法将电池添加到软件RAID。这意味着您失去了额外的保护层。
硬件辅助软件RAID
该解决方案是一种混合模型,它使用软件和附加硬件来克服纯操作系统软件RAID 的弱点,例如没有启动保护。它通过使用集成到主板中的RAID BIOS 来工作,它可以保护主机系统的启动,因此任何数据损坏都不会导致系统无法运行。它通常带有适用于多种操作系统的众多驱动程序,从而提高了兼容性。
使用硬件辅助软件RAID 的优势:
-
- 实施成本适中。您只需要插卡或额外的闪存即可实现硬件辅助软件RAID。如果运行RAID 5 配置,则需要额外支付硬件加速器费用。
- 如果引导驱动器发生故障,数据将受到保护。如果您的启动驱动器遇到错误或完全失败,则不会对数据的可用性产生负面影响。
- 易于设置。如果您使用带有操作系统软件的专用图形用户界面来运行RAID 阵列,则RAID 阵列易于维护和设置。
使用硬件辅助软件RAID 的缺点:
-
- 系统上的额外负载。阵列需要的资源越多,它对系统性能的影响就越大。此实施适用于RAID 0、1 和10 配置。
- 易受病毒侵害。直接在主机系统上运行,因此如果系统被感染,RAID 也可以。
- 系统崩溃会损害数据完整性。数据完整性和一致性受到系统崩溃的影响。
- 带有有限的迁移。通过这种RAID 实施,控制器依赖于操作系统和相关的驱动程序。如果没有合适的驱动程序,您将无法迁移。例如,如果您升级操作系统,您可能需要更新的驱动程序才能使RAID 阵列控制器工作。
- 没有回写缓存。它只有直写模式,没有回写模式。如果没有回写模式,您会损失很多写入性能。您无法在硬件辅助软件上添加电池,因此您无法获得这一层保护。
比较硬件RAID 与软件RAID 之间的差异
既然我们已经了解了硬件RAID 与软件RAID 两种实现方式的优缺点,让我们来看看这两种方式在性能、兼容性、可负担性和灵活性方面如何相互竞争。
硬件RAID | 软件RAID | |
表达 | 与基本RAID 级别的软件RAID 表现良好/相当。
在所有复杂的RAID 配置上都优于软件RAID。 可以更快的速度重建镜像数据。 如果使用闪存存储阵列,某些RAID 设置的性能可能会不一致。 |
对于基本RAID 级别表现良好。
复杂的RAID 级别严重影响性能,使其不适合。 |
RAID 级别配置 | 具有内置支持所有基本RAID 级别的硬件机箱。
可以支持所有复杂的RAID 级别,但它需要额外的硬件机箱和更多的硬盘驱动器磁盘。 |
支持基本RAID 级别。
如果您需要RAID 3 或RAID 5,则需要额外的软件。 |
操作系统兼容性 | 更多RAID 配置可供选择,包括混合选项。
Windows 和MAC 兼容。 |
特定于正在使用的操作系统。不能在操作系统之间共享。
某些操作系统仅支持某些RAID 级别。 |
负担能力 | 设置成本更高。 | 进入成本非常低。 |
灵活性 | 根据主机操作系统,所有硬盘驱动器磁盘都可以作为一个单独的磁盘工作。
每个硬盘驱动器磁盘盒/阵列可以在操作系统或计算机之间移动。 |
在如何在其机箱中配置每个驱动器方面提供更大的灵活性。 |
话虽如此,您可以从基于各自控制器的不同RAID 实施中得到什么。
特征 | 硬件RAID | 软件RAID | 硬件辅助软件RAID |
引导数据保护? | 正确。 | 不。 | 正确。 |
回写缓存? | 正确。 | 不。 | 不。 |
断电保护? | 正确。 | 不。 | 不。 |
独立于主机操作系统? | 正确。 | 不。 | 不。 |
容易感染病毒? | 不。 | 正确。 | 正确。 |
引导期间的设置? | 正确。 | 不。 | 正确。 |
操作系统迁移? | 正确。 | 不。 | 有限的。 |
硬件RAID 与软件RAID 的典型用例是什么?
现在我们了解了硬件RAID 与软件RAID 之间的主要区别,让我们深入了解一些典型的服务器场景,在这些场景中您会看到这些RAID 控制器的运行情况。
硬件RAID 解决方案
这些类型的解决方案提供最多的功能并提供最佳的性能。真实场景包括:
- 需要大量数据存储的高性能服务器或工作站。
- 需要性能、可扩展性、灵活性并与多种操作系统兼容的企业服务器。
纯软件RAID 解决方案
这些类型的解决方案非常适合需要在性能和数据可用性方面表现出色的RAID 阵列(想想RAID 0 和RAID 1 配置)。需要注意的是,对于纯软件RAID 解决方案,它不能直接在引导驱动器上使用,因为它需要操作系统处于活动状态才能工作。真实场景包括:
- 没有大量数据存储要求的工作站或服务器。
- 不需要启动保护的服务器。
混合解决方案
这些类似于纯软件RAID 解决方案,但对成本敏感,并且有启动能力要求。真实场景包括:
- 没有大数据存储要求的基本服务器。
- 在使用网络存储的情况下。
您应该选择哪一个,硬件或软件RAID?
一般来说,硬件RAID 将为您提供比软件RAID 更多的优势,尤其是在您希望实施复杂的RAID 配置或混合模型时。主要考虑因素是您愿意为RAID 控制器支付的价格。
RAID 级别比较
现在您可以为您的系统选择理想的RAID 控制器,是时候选择要使用的正确RAID 级别了。我们创建了几个深入的比较,以使决策更容易:
- RAID 0 与RAID 1
- RAID 1 与RAID 5
- RAID 5 与RAID 6
- RAID 5 与RAID 10