软件 RAID-1 是否会使控制器/接口上的写入量加倍?

软件 RAID-1 是否会使控制器/接口上的写入量加倍?

假设我有两个硬盘,每个硬盘的最大写入速度为 200 MBytes/sec。现在假设两个硬盘都位于一个 USB 机箱中,整个机箱的最大写入速度为 300 MBytes/sec。

在 Linux 上设置两个驱动器的软件 RAID-1(镜像)时mdadm,将两个驱动器分别放入不同的 USB 外壳是否会提高写入性能?

提出这个问题的另一种方式是,mdadm软件 RAID-1双倍的USB 外壳需要的写入带宽是多少?

答案1

软件 RAID 独立与每个驱动器通信。因此,基本上,您是对的,如果您将它们放入峰值为 300 MB/s 的单个机箱中,最终带宽会分散到驱动器上,每个驱动器的速率不会超过 150 MB/s。

但是,还有其他注意事项。例如,USB。它会增加批量传输(存储正在执行)的一些延迟和一些开销。理论上的 USB 3.2 带宽为 5Gbit/s,即 500 MB/s(考虑到 10b/8b 编码),但通常其中约 60% 可用作净数据传输速率。因此,如果您将两个机箱连接到同一总线,我预计您的驱动器仍不会饱和。因此,了解 USB 总线在计算机内部的布局方式。还要考虑您的系统在这种设置下会承受哪些负载,我预计 CPU 会浪费许多周期来等待 I/O 或处理 USB 中断。

总体而言,USB 并不追求最快的性能。相反,它注重的是通用性和日常使用的可靠性,即使是技术不熟练的用户也可以使用,而且不会轻易损坏所有东西。连接器的设计可以承受多次连接-断开循环,可以通过集线器轻松分支连接以连接很多设备;整个堆栈尽可能自动化,等等。我可以假设您有这样做的理由,但如果您追求传输速度,最好使用其他存储接口,不要浪费时间优化 USB 上的软件 RAID。

相关内容