将大量驱动器添加到raid 0 会提高性能吗?

Pet*_*len 10 raid performance ssd

将大量驱动器添加到raid 0 会提高性能吗?我知道条带化突袭中的两个驱动器通常比单个驱动器快,但是我会注意到条带化突袭中的 2 个驱动器和 8 个驱动器之间的性能差异吗?在您真的没有获得更多好处之前,raid 中的驱动器数量是否有一般限制?

一个类似的问题已经被问到这里

向 RAID 10 阵列添加更多驱动器是否会提高性能?

但我真的在问向raid 0 添加许多驱动器是否比仅添加2 或4 有改进。性能是否不断提高?

ase*_*seq 11

理论上是的,raid0 中的更多驱动器会导致更高的性能,因为负载在更多驱动器上共享。但是在实践中,您会受到 RAID 控制器的带宽、CPU 和内存性能等的限制。性能提升不会是线性的,即 4 个磁盘并不完全是 2 个磁盘的两倍。

在任何带有 raid 控制器的现代系统中,或者甚至使用带有 linux mdadm 的软件 raid 中,使用 8 个驱动器将比使用 2 个更快,并且您不应受到系统其余部分的性能的阻碍。CPU、RAID 和/或磁盘控制器、内存,它们都应该能够处理它。添加的驱动器越多,您可能会看到系统资源的使用增加。特别是如果您在软RAID 组合中使用板载 SATA 控制器。但没有什么会真正阻碍整体可用性。如果使用 linux,您可能希望使用没有“抢占”配置的内核,以便面向服务器的任务优先于用户响应。

https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO

当然,您添加的驱动器越多,其中一个失败并且您的整个raid 被破坏的可能性就越大。如果幸运的话,我希望 8 个驱动器的 raid0 不会持续超过一两年。16 个驱动器的 raid0 会带来麻烦,然后我会考虑使用 raid10,它仍然足够快,您不必担心。

至于多少驱动器可以最大限度地利用系统资源,除非我有详细的系统规格,否则我不知道。我认为如果你超过大约 16 个磁盘(我不想考虑它),你会受到失败率的更多限制。

当然,您只会将raid0 用于随时可能丢失而不会出现问题的数据。它非常适用于构建服务器或用于大型科学计算的暂存空间等。事实上,这些场景是我经常使用raid0 的目的,它是从一堆旧的、低容量和廉价的磁盘中挤出更多生命的好方法,否则这些磁盘会积聚灰尘。您甚至可以混合大小,至少使用 mdadm。

如果使用 mdadm,可能值得考虑只使用 raid10,因为在某些配置中它可以接近 raid0 的性能,即 raid0 的读取性能,并且已经提高了超过其他 raid 级别(raid0 除外)的写入性能。与其他raid级别相比,您将获得更好的冗余,与raid0相比只有轻微的速度损失。那将是两全其美的,你不会经常发现。

https://en.wikipedia.org/wiki/RAID#Non-standard_levels

Linux MD RAID 10 提供了一个通用 RAID 驱动程序,在其“near”布局中默认为具有两个驱动器的标准 RAID 1 和具有四个驱动器的标准 RAID 1+0;但是,它可以包含任意数量的驱动器,包括奇数。凭借其“远”布局,MD RAID 10 可以同时运行条带和镜像,即使只有两个驱动器采用 f2 布局;这运行带条带读取的镜像,提供 RAID 0 的读取性能。Linux 软件 RAID 提供的常规 RAID 1 不条带读取,但可以并行执行读取。

正如评论中所建议的,如果您利用所有磁盘空间而不是让最小磁盘定义阵列的大小,那么将大小与 mdadm 混合不会提高速度。

在raid0 中搜索时间也不会改善,甚至会变得更慢。对于基于 SSD 的 raid0,寻道时间会非常小(在 0.08 到 0.16 毫秒之间https://en.wikipedia.org/wiki/Hard_disk_drive_performance_characteristics#cite_note-HP_SSD-6),我期待的并不重要。

  • 对于旋转媒体,是否也存在寻道时间与传输时间的问题?添加更多磁盘会将读取/写入的数量分散到更多盘片上(每个盘片都必须做得更少==更快),但它们仍然必须执行查找操作(不会通过添加更多驱动器来减少)。因此,根据您正在执行的操作类型(即丢失小读取与少量大读取),提高传输速度(通过添加更多驱动器)可能会产生或大或小的差异。 (2认同)