硬盘 RAID 对 CPU 的影响

硬盘 RAID 对 CPU 的影响

关于因读取错误而丢失数据的风险(尤其是 RAID 0 的风险)。如果超过 0,我们就可以对不同级别的故障进行对冲。我理解所有这些。

问题: 我现在想知道的是,还有其他需要注意的事项吗?我试图弄清楚的一件事是对 CPU 负载的影响。CPU 处理事情的方式会有所不同吗?

(我想象了 CPU 的内心独白......)“哇,现在我正在剥离数据并写入多个驱动器!这不一样。”

但我不确定,也许没什么区别?如果确实如此,区别是什么,如何扩展?(比如说剥离到 2 个驱动器与剥离到 8 个驱动器相比?)

可选附加问题:如果事实证明 CPU 负载受到很大影响,那么哪种 CPU 功能更适合 RAID?(核心数、赫兹等)

硬件软件

  • 软件:除了配置阵列时非常基本的操作系统之外,没有任何特定软件存在问题
  • 硬件:我对各种级别的 HDD 机箱以及 SSD RAID 机箱很感兴趣——只是想看看它如何/是否可扩展

答案1

我现在想知道的是,还有其他需要注意的事项吗?我试图弄清楚的一件事是对 CPU 负载的影响。CPU 处理事情的方式会有所不同吗?

对于真正的硬件 RAID,CPU 不会看到任何与写入普通驱动器时不同的内容。这是硬件 RAID 实现的一部分要点,RAID 控制器上游没有任何变化(驱动程序除外)。因此,除非 RAID 适配器的驱动程序真的很糟糕,否则您不会看到任何与 CPU 相关的性能差异。

对于软件 RAID,CPU 当然会参与其中,但除非您处理的是 RAID4/5/6,否则 CPU 所做的事情非常简单,大多数时候实际上并不重要(事实上,即使没有 RAID,文件系统和低级 I/O 调度也比 RAID1/RAID0/RAID10 需要进行的任何计算要复杂得多)。

对于许多台式机主板 BIOS 实现中发现的伪硬件 RAID,如果没有关于具体实现的细节,很难说清楚。其中一些主板有一个专用处理器来执行 RAID 工作(尽管通常不如真正的硬件 RAID 实现那么高效),而另一些主板实际上只是定义一些配置选项,让 CPU 完成所有工作。

如果事实证明 CPU 负载受到很大影响,那么哪种 CPU 功能更适合 RAID?(核心数、赫兹等)

这取决于确切的实现,甚至取决于确切的 CPU 架构(对于 ARM 上的一个实现来说很重要的事情对于 x86 上的相同实现来说可能根本不重要)。不过,作为一般规则,您只需要对处理 RAID4/5/6 的 CPU 规格挑剔,其他一切都微不足道,只要您有一个不错的系统,它们就无关紧要。您可能还想担心 RAID4/5/6 的内存性能,因为奇偶校验计算实际上相当耗费内存。


稍微补充一下:

关于因读取错误而丢失数据的风险(尤其是 RAID 0 的风险)。如果超过 0,我们就可以对不同级别的故障进行对冲。我理解所有这些。

RAID 并不能防止您丢失数据(如果您不小心,它实际上会增加数据丢失的风险)。这就是备份的目的。

答案2

答案很简单,但又很模糊......

如果您使用硬件 RAID 解决方案,对系统资源的影响将可以忽略不计,并且可能不依赖于操作系统。

如果您谈论的是软件 RAID 解决方案,那么它肯定会对系统资源产生影响……但是,即使能够概括影响也很困难。所涉及的变量数量(例如驱动器的数量和类型、实施的 RAID 类型、操作系统、CPU、RAM 等)都是方程式的一部分。在某些情况下,影响很小,而其他情况下则影响很大,必须对其进行设计。

相关内容