RAID 级别选择

2025年6月17日 | 阅读7分钟
Selection of RAID Levels

在上一个部分,我们了解了 RAID 并理解了各种 RAID 级别。

在这里,我们将讨论这些已讨论的 RAID 级别的选择,即如何选择这些级别。每个级别都有其优点和缺点。因此,每个级别的选择都取决于其存储数据的能力。

在选择 RAID 级别时会考虑各种因素。下面将讨论这些因素

  1. 额外磁盘存储需求的金钱成本。
  2. 在输入/输出操作数量方面的性能需求。
  3. 衡量磁盘发生故障时的性能。
  4. 衡量当故障磁盘中的数据正在重建到新磁盘上时的性能,即重建时。

考虑到以上所有描述的因素,RAID 系统设计人员会做出选择合适的 RAID 级别的决定。这是因为设计人员可以轻松选择满足并实现设计人员要求的合适 RAID 级别。

比较 RAID 级别

让我们讨论几个比较点,这些比较点将区分每个级别与其他级别。它还有助于在级别之间做出更好、更方便的选择。

  1. 当数据安全和保护不是大问题时,RAID 级别 0 是一个不错的选择。因此,级别 0 用于高性能应用程序。
  2. 设计人员可以为重建数据选择 RAID 级别 1。因为重建是级别 1 最简单的任务。在 RAID 级别 1 中,用户可以从另一个磁盘复制数据。在其他级别的情况下,需要访问阵列中的所有其他磁盘来重建故障磁盘的数据。构建性能是高性能数据库系统中的一个重要因素。事实上,重建数据所需的时间可能成为维修时间的重要组成部分,因此重建性能也会影响数据丢失的平均时间。
  3. RAID 级别 3 和 RAID 级别 5 非常强大,以至于它们通过吸收 RAID 级别 2 和 RAID 级别 4 来限制了它们的选择。RAID 级别 5 的块条带化功能优于 RAID 级别 3 的位条带化功能。因为块条带化为大型传输提供了良好的数据传输速率,并且使用少量磁盘进行小型数据传输。在小型数据传输的情况下,访问时间占主导地位,这导致并行读取的好处减少。RAID 级别 3 在进行小型数据传输时也可能是一个糟糕的选择。因为数据传输仅在每个磁盘读取了相应的扇区后才能完成。这导致磁盘阵列的平均延迟接近单个磁盘的最差延迟,而高性能数据传输率的优势却被忽略了。
  4. 在比较 RAID 级别 6 和 RAID 级别 5 时,它提供了比 RAID 级别 5 更好的可靠性选项。此外,设计人员可以在数据安全和保护是主要关注的应用中使用 RAID 级别 6。但是,目前许多 RAID 实现不支持 RAID 级别 6。
  5. 在某些情况下,在 RAID 级别 1 和 RAID 级别 5 之间进行选择很困难。RAID 级别 1 非常适合数据库系统中的日志文件存储等应用程序,因为它提供了最佳的写入性能。RAID 级别 1 的这种功能是其他五个 RAID 级别无法比拟的。另一方面,与 RAID 级别 1 相比,RAID 级别 5 的存储开销较低。但它的写入性能开销很高。因此,对于数据频繁读取但很少写入的应用程序,最好选择 RAID 级别 5。
  6. 尽管每年的磁盘存储需求都在增加,但每字节的成本却以相同的速度下降。因此,这导致了额外存储的金钱成本需求达到显著水平。然而,访问时间每天都在以较慢的速度增加,这导致每秒输入/输出操作的数量大幅增加。因此,RAID 级别 1 和 RAID 级别 5 已成为所有其他 RAID 级别中最适中的选择,因为 RAID 级别 5 提供了高输入/输出要求,而 RAID 级别 1 为数据提供了适度的存储要求。

以上所有要点都显示了每个 RAID 级别的功能和能力,这肯定会帮助设计人员选择和使用合适的 RAID 级别来存储数据。

硬件问题

除了上述用于选择 RAID 级别的要点之外,在实现 RAID 时可能还会出现其他一些问题。

在实现 RAID 时,还需要在实现中进行两个其他级别。系统提供了它们。它们是

Selection of RAID Levels

软件 RAID

这些系统在不更改硬件级别的情况下实现 RAID。修改仅在系统软件中进行。这种类型的 RAID 实现称为软件 RAID。

Selection of RAID Levels

软件 RAID 问题

Selection of RAID Levels
  • 性能相关开销:软件 RAID 通常依赖主机系统的 CPU 来管理数据任务中的冗余,例如奇偶校验计算和磁盘镜像。这种依赖会导致性能显著下降,尤其是在 I/O 需求高的系统中。例如,硬件和软件 RAID 配置之间的比较显示,由于 CPU 利用率增加,软件 RAID 在数据库操作中可能慢 4 到 5 倍。
  • 数据完整性风险:在系统崩溃或断电的情况下,软件 RAID 系统可能会遇到数据损坏问题,这被称为“写入洞”。当写入操作中断时,会发生这种情况,导致数据及其奇偶校验不一致,从而降低有效恢复丢失数据的能力。
  • 有限的 RAID 级别支持:并非所有操作系统都支持全部 RAID 级别。例如,某些 OS 平台可能不支持 RAID 6 或 RAID 50 等高级 RAID 配置,从而限制了数据库管理员的可伸缩性和冗余选项。
  • 系统稳定性问题:软件 RAID 主要在主机 操作系统内运行,使其容易受到系统级错误或内核恐慌的影响。这些问题可能导致系统崩溃或数据丢失,从而凸显了维护稳定且支持良好的操作系统环境的重要性。

但是,虽然软件 RAID 可以成为在 DBMS 中实现冗余的经济高效的解决方案,但权衡这些潜在问题与收益至关重要。硬件 RAID 或替代冗余解决方案可能为关键数据库应用程序提供更强大的性能和可靠性。

硬件 RAID

构建专用硬件支持 RAID 的系统称为硬件 RAID 系统。硬件 RAID 的实现通常使用非易失性内存来记录写入操作,然后再执行它们。在发生任何电源故障的情况下,这有助于通过从非易失性内存存储中获取信息来完成不完整的写入。

Selection of RAID Levels

硬件 RAID 问题

因此,在实现 RAID 的过程中,硬件级别会发生一些问题,如下所述

1. 潜在故障 (位衰减):有时,即使数据已正确保存,稍后也会出现问题,因为磁盘的某个部分变得不可读。这称为潜在故障。它通常是由于制造缺陷或在相邻磁道上重复写入而缓慢损坏数据所致。如果及早发现此类故障,系统可以使用 RAID 设置中的其他磁盘来恢复数据。

为了管理这个问题

  • 擦除(Scrubbing)在空闲时间检查所有磁盘扇区。如果无法读取某个扇区,则会从其他磁盘恢复数据并重写它。
  • 热插拔(Hot-swapping)意味着在不关闭系统的情况下更换损坏的磁盘,从而加快维修速度。
  • 许多 RAID 设置还备用一个备用磁盘,如果一个磁盘发生故障,该备用磁盘会自动接管,从而减少停机时间和数据丢失。

2. 电源和控制器问题:RAID 系统在很大程度上依赖于稳定的电源和磁盘控制器。如果其中任何一个发生故障,系统可能会停止工作。为防止这种情况

  • 安装了备用电源单元,以便系统即使在断电期间也能继续运行。
  • 使用了多个控制器,以便如果一个控制器停止工作,另一个控制器可以接管。

3. 互连故障:连接 RAID 与主系统的电缆或端口中的问题也会影响其性能。精心设计的 RAID 通过以下方式避免了这个问题

  • 使用多个连接路径和磁盘接口。
  • 这种设置可确保系统不会因一个连接失败而宕机。

4. 磁带阵列和无线数据恢复:当 RAID 与磁带存储结合使用时,丢失一个磁带不会导致数据丢失。系统从其他磁带恢复丢失的信息。在无线广播中,数据被分成小块和一个奇偶校验块。即使在传输过程中丢失了一个部分,系统也可以使用其他部分来重建它。

常见问题解答/FAQ

有关 DBMS (数据库管理系统) 中 RAID 选择的各种常见问题如下

问题 1:我们为什么要为系统选择 RAID?

答案:RAID(独立磁盘冗余阵列)主要用于提高数据安全性、速度或两者兼而有之。如果我们希望我们的数据在磁盘发生故障时保持安全,或者我们需要更快的读/写性能,RAID 会有所帮助。它通常将多个硬盘驱动器组合成一个,具体取决于我们对更快访问或更好备份的需求。

问题 2:个人应为个人或办公室使用选择哪个 RAID 级别?

答案:RAID 1 或 RAID 5 是家庭或小型办公室使用的不错选择。RAID 1 会在另一个磁盘上创建我们数据的精确副本,非常安全。RAID 5 通常使用三个或更多磁盘来平衡性能和数据保护。如果速度更重要,RAID 0 是一个选择,但它不保护我们的数据。

问题 3:个人如何决定硬件 RAID 和软件 RAID?

答案:如果我们处理服务器或繁重的数据任务,硬件 RAID 通常是更好的选择。它主要运行在自己的控制器卡上,因此不会减慢我们的主系统,并且能提供更快的、更稳定的结果。另一方面,软件 RAID 由个人计算机的操作系统管理。它更容易设置且更便宜,这使其适合家庭或小型办公室使用。


下一主题DBMS教程