假设我有两个硬盘驱动器,每个硬盘驱动器的最大写入速度为 200 MBytes/sec。现在假设两个驱动器都在一个 USB 机箱中,整个机箱的最大写入速度为 300 MBytes/sec。
在 Linux 上设置两个驱动器的软件 RAID-1(镜像)时mdadm
,是否可以通过将两个驱动器分别放入不同的 USB 机箱来提高写入性能?
问这个问题的另一种方式是,mdadm
软件 RAID-1是否会使 USB 机箱所需的写入带宽增加一倍?
假设我有两个硬盘驱动器,每个硬盘驱动器的最大写入速度为 200 MBytes/sec。现在假设两个驱动器都在一个 USB 机箱中,整个机箱的最大写入速度为 300 MBytes/sec。
在 Linux 上设置两个驱动器的软件 RAID-1(镜像)时mdadm
,是否可以通过将两个驱动器分别放入不同的 USB 机箱来提高写入性能?
问这个问题的另一种方式是,mdadm
软件 RAID-1是否会使 USB 机箱所需的写入带宽增加一倍?
软件 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。