什么是 Raid 及其各种类型?RAID(“独立磁盘冗余阵列”,有时也称为“廉价磁盘冗余阵列”)是一种存储虚拟化技术,它将多个磁盘驱动器集成到逻辑组件中,以提供数据冗余、性能改进或两者兼而有之。
这与高质量大型机磁盘驱动器的旧观念相反,后者被称为“单一大成本磁盘”或 SLED。
Raid到底是什么?它有哪些不同类型?
根据冗余量和性能,数据以各种方式分布在驱动器上,称为 RAID 级别。数据分布的各种方案或布局由术语“RAID”和后面的数字标识。例如,RAID 1 或 RAID 2。
每种方案以及 RAID 级别在可用性、可靠性、性能和容量的主要目标之间都有不同的平衡级别。高于 RAID 0 的 RAID 级别可防止不可恢复的扇区读取错误以及所有物理驱动器发生故障的可能性。
概述
许多 RAID 级别都使用一种称为“奇偶校验”的防错方案,这是信息技术领域中一种非常流行的方法。它为特定数据集合 提供容错能力。
许多 RAID 级别都使用基本的 XOR。但是,RAID 6 使用两个独立的部分,它们基于特定 Reed–Solomon 纠错或 Galois 域中的乘法和加法。
RAID 还可以使用固态硬盘 (SSD) 提供数据安全性,而无需花费整套 SSD 系统的成本。例如,可以使用电子驱动器镜像高速 SSD。为了提供最快的速度,需要合适的控制器来利用快速 SSD 执行每次读取操作。这称为“混合 RAID”。
RAID 级别
最初,RAID 有五个级别。此后,出现了许多变体,包括嵌套的多个级别以及非标准的多个级别(大多数是专有的)。RAID 级别及其相关数据格式可以通过存储网络行业协会 (SNIA) 在通用 RAID DDF PDisk 驱动器格式 (Common RAID DDF PDisk Drive Format) 标准中进行标准化:
RAID 0
RAID 0 将多个磁盘组合成一个大存储空间,由于多个磁盘同时使用,因此运行速度更快。这意味着可以更快地读取和写入文件。然而,缺点是如果一个磁盘损坏,所有数据都可能丢失。由于存在这种风险,不建议在服务器上使用 RAID 0。但它对于速度很重要且数据丢失不是大问题的任务很有用,例如在缓存中。
RAID 1
RAID 1 使用镜像。与 RAID 0 不同,RAID 1 可以处理更高级的设置。在 RAID 1 中,两个相似的磁盘在两个驱动器上精确复制数据。
RAID 1 的主要目的是冗余。如果一个驱动器发生故障,另一个驱动器将继续工作而不会中断。用户可以在不停止操作的情况下更换故障驱动器。此外,RAID 1 提供更好的读取性能,因为可以从阵列中的任何驱动器读取数据。但是,有一个缺点:写入速度稍慢,因为必须将数据写入两个驱动器,并且总存储量只有一个驱动器的存储量。
RAID 2
RAID 2 在实践中并不常用。它以位级别排列数据,并使用汉明码来修复错误。RAID 2 中的磁盘由控制器同步,这使得它们以特定角度旋转以同时到达索引点。然而,RAID 2 很难有效地同时处理多个请求。然而,凭借快速的汉明码速率,多个磁盘可以协同工作以同时传输数据,从而实现高数据传输速率。
由于所有硬盘都进行了错误校正,因此增加外部汉明码的复杂性是有好处的。但是,由于实施频率低且使用率低,RAID 2 目前是唯一未使用的标准 RAID 级别。
RAID 3
RAID 3 使用字节级条带化和专用奇偶校验磁盘。但是,它很难高效地同时处理多个请求。这是因为每个数据块都分布在磁盘组中的所有磁盘上,占用每个磁盘上的相同物理空间。因此,每个输入/输出操作都需要涉及所有磁盘并同步旋转。
RAID 3 最适合需要高传输速率进行长时间连续读写的应用程序。但对于涉及从不同磁盘位置进行小规模随机读写的应用程序,其性能较差。
RAID 4
RAID 4 使用块级条带化和专用奇偶校验磁盘。它在随机读取方面表现良好,但随机写入速度较慢,因为需要将整个奇偶校验数据写入单个磁盘。但是,如果文件系统支持 RAID-4 并进行调整,则可以改善这种情况。
RAID 4 的一个优点是它能够快速在线扩展。这不需要重新计算奇偶校验,只要新磁盘填充 0 字节即可。
RAID 5 和 6
RAID 5 和 RAID 6 的工作原理类似。RAID 5 至少需要三个驱动器,而 RAID 6 至少需要四个驱动器。它们都使用 RAID 0 的技术,即跨多个驱动器对数据进行条带化以提高性能。但它们也通过在磁盘上分布奇偶校验信息来增加冗余度。
在 RAID 5 中,即使一个磁盘发生故障,系统仍可继续运行,而 RAID 6 即使两个磁盘发生故障也能继续运行。这两个 RAID 级别都提供更好的读取性能,但写入性能取决于所使用的 RAID 控制器。
由于 RAID 5 和 6 需要专用的硬件控制器来计算和写入磁盘上的奇偶校验数据,因此它们最适合文件服务器、标准 Web 服务器以及读取大多数事务的系统。
软件 RAID
了解 RAID 控制器是 RAID 系统的核心部分至关重要。它在 RAID 磁盘阵列(包括硬件 RAID 和软件 RAID)之间的数据分配中起着重要作用。
软件 RAID 使用 RAID 软件或服务器操作系统内置驱动程序提供的功能。它不需要额外的硬件来连接存储设备。但是,它可能会增加服务器的整体处理负载,从而可能减慢 RAID 计算和其他功能的速度。
许多服务器操作系统都能够支持 RAID 配置,例如 Microsoft、Apple 和各种版本的 Unix/Linux 系统。大多数情况下,软件 RAID 取决于所使用的操作系统。因此,不建议在多个操作系统之间共享分区。
优点
- 我们可以为同一个操作系统(例如Ubuntu)创建一个RAID配置,然后将其应用于其他类似的系统。
- 安装软件 RAID 是经济高效的,因为它不需要任何额外的硬件设备。
- 可以重新配置 RAID 级别,因为配置灵活且不复杂。
- 大多数操作系统都兼容 RAID 软件配置,这使得安装和完成有助于解决各种问题的配置任务变得更加容易。
- 软件 RAID 最适合处理不会给系统带来额外负载的基本 RAID 0、1 和 10。
缺点
- 服务器的系统故障可能会损害数据的完整性。
- 如果系统上有多个驱动程序,则软件 RAID 实施并不有益,因为可能会发生某些冲突。
- 某些操作系统仅支持某些范围的 RAID。
- 在进行复杂的 RAID 配置时,软件 RAID 可能会严重影响系统的负载。
- 在集群操作系统上利用 RAID 的机会并不多。
- 修复故障的磁盘可能很复杂。
- 软件 RAID 容易受到恶意软件和病毒的攻击,因为它在服务器的主操作系统内运行。
我们正在研究软件 RAID 及其优缺点。此方法适用于预算紧张的小型项目,以及节能计算和数据安全比快速数据恢复更重要的情况。
至关重要的是要意识到这些只是一般性建议,因为选项取决于项目需求和需要完成的工作。
硬件 RAID
硬件 RAID 涉及将所有驱动器连接到位于 RAID 卡、服务器或主板集成的硬件 RAID 控制器。这些控制器管理 RAID 设置和阵列,支持多个 RAID 级别。
在某些情况下,RAID 控制器可以充当计算机的微型版本。这是因为它们配备了专门设计用于完成其工作的处理器。
驱动器通过 RAID 控制器板直接相互连接。这不仅限于大型服务器,也适用于台式计算机。硬件 RAID 是指存储系统中的独立控制器(如 ATA RAID、SATA、DELTA PLC 等)。
由于 RAID 由控制器板控制和处理,因此服务器的处理器不会承受额外负载。硬件 RAID 提供额外功能,例如当某个磁盘发生故障时更换磁盘。虽然它比软件 RAID 更昂贵,但它更高效,并且兼容更多功能。
优点
- 可轻松在服务器、计算机和操作系统之间移动该盒子。
- 对于无法提升计算能力的旧系统来说,高系统效率至关重要。
- 硬件 RAID 使用备用电池和内部闪存来防止备份创建期间因电源中断而导致的数据损坏和丢失。
- 在创建备份以及数据恢复过程中使用 RAID 系统时问题较少。
- 硬件 RAID 使用其缓存内存来创建备份副本和数据恢复。
- 如果没有合适的设备,很难实现配置 RAID 的灵活性。
- 可以使用更多 RAID 级别,但它们将需要更多资源。
- 它适用于所有类型的磁盘。
- 与多种操作系统兼容。
缺点:
- 由于它需要更多设备,因此成本也更高。
- 有趣的是,考虑到成本,硬件 RAID 对于某些项目和任务的效率比可能会较低。
- 当 RAID 控制器发生故障时,必须用替代型号进行更换以防止故障。如果无法立即获得替代控制器,则可能会出现系统性能延迟。
- 使用硬件 RAID,安装不同制造商的 HDD 或安装 SSD 和 HDD 驱动器时可能会遇到困难。
在比较硬件 RAID 的优缺点时,我们发现对于没有预算限制的昂贵项目来说,它是一个不错的选择。对于数据安全和计算能力至关重要的项目来说,它也是理想的选择。有时,硬件 RAID 更适合与技术设备相关的项目,因为与存储设备的交互可能会导致问题。
混合 RAID
在某些情况下,混合 RAID 解决方案可能更可取。例如,如果 RAID 可以与主板的 BIOS 集成,它可以在系统启动时提供额外的冗余数据并有助于防止数据损坏。
优点
- 许多混合 RAID 系统都带有图形用户界面来帮助进行 RAID 配置。
- 混合 RAID 价格实惠且适用于各种项目。
- 混合 RAID 通常在使用相同操作系统的多个系统上运行。
- 混合 RAID 可以防止启动系统在启动过程中出现故障,这种情况可能由于系统错误或类似故障而发生。
缺点
- 人们还担心驱动器交换和数据恢复。
- 混合 RAID 可能会使服务器超载,从而影响生产力。
- 某些操作系统,尤其是最新的操作系统,可能需要定期更新 RAID 驱动程序,从而导致驱动程序冲突。
- 软件 RAID 容易受到病毒攻击,构成不太安全的威胁模型。
混合 RAID 是一个很好的选择,但它也有自己的缺点。它适合各种项目。如果您了解潜在问题以及如何解决这些问题,建议选择混合 RAID。
结论
此外,如果您的项目需要软件和硬件 RAID,这可能是理想的选择。但是,这些项目通常非常具体。最后,务必记住,最终决定将完全基于您项目的独特目标和要求。