向raid 0添加驱动器堆会提高性能吗?我知道带区团队中的两个驱动器通常比单个驱动器快,但是我会注意到,带区团队中的2个驱动器和8个驱动器之间的性能差异吗?在您真的没有任何其他好处之前,对RAID中的驱动器数量有一般限制吗?
这里也提出了类似的问题
但是我真的是在问是否将多个驱动器添加到RAID 0是否比仅添加说2或4有改进?性能是否会持续提高?
向raid 0添加驱动器堆会提高性能吗?我知道带区团队中的两个驱动器通常比单个驱动器快,但是我会注意到,带区团队中的2个驱动器和8个驱动器之间的性能差异吗?在您真的没有任何其他好处之前,对RAID中的驱动器数量有一般限制吗?
这里也提出了类似的问题
但是我真的是在问是否将多个驱动器添加到RAID 0是否比仅添加说2或4有改进?性能是否会持续提高?
Answers:
从理论上讲,是的,raid0中的更多驱动器将导致更高的性能,因为负载是由更多驱动器共享的。但是实际上,您将受到RAID控制器的带宽,CPU和内存性能等的限制。性能提升不是线性的,即4个磁盘的速度并不是2个磁盘的两倍。
在任何具有RAID控制器的合理现代系统中,甚至在Linux的mdadm上使用软件RAID的情况下,使用8个驱动器都将比使用2个驱动器快,并且您不应为系统的其余性能所困扰。CPU,raid和/或磁盘控制器,内存都应该能够处理它。您可能会看到系统资源的使用增加,添加的驱动器越多。特别是如果您将板载SATA控制器以软raid组合使用。但是没有什么会真正阻碍整体可用性。如果使用linux,则可能需要使用没有配置“抢先”的内核,以便面向服务器的任务优先于用户响应能力。
https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO
当然,添加的驱动器越多,其中一个发生故障并破坏整个团队的机会就越大。如果您很幸运,我希望8个驱动器的raid0持续不超过一两年。一个由16个驱动器组成的raid0会带来麻烦,然后我考虑一个raid10,它仍然足够快,您不必担心。
除非有详细的系统规格,否则我不知道有多少驱动器将用尽系统的资源。我认为,如果超过16个磁盘,则故障率将受到更大的限制(我宁愿不去考虑)。
自然,您只将raid0用于可以随时丢失而不会出现问题的数据。它对于诸如构建服务器或用于大型科学计算的临时空间之类的东西非常有用。实际上,这些场景是我经常使用raid0的方式,它是从一群本应收集灰尘的旧的,容量较低且价格便宜的磁盘中挤出更多寿命的好方法。您甚至可以混合大小,至少使用mdadm。
如果使用mdadm,可能值得考虑只使用raid10,因为在某些配置中它可以接近raid0的性能,即raid0的读取性能,并且已经比其他raid级别(raid0除外)提高了写入性能。与raid0相比,与其他raid级别相比,您将获得更好的冗余,并且速度稍有下降。那将是两全其美的做法,您不会经常发现。
https://zh.wikipedia.org/wiki/RAID#非标准级别
Linux MD RAID 10提供了一个通用的RAID驱动程序,该驱动程序在其“近”布局中默认为带有两个驱动器的标准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个额外的磁盘添加到现有的2个磁盘阵列中应该可以提供更好的整体性能。
您需要意识到瓶颈在哪里:
假设有一个Linux软件RAID,然后添加两个额外的磁盘可能会导致:
*〜在以下因素中,这绝不会两次提高,始终少于10-20%。它看起来或多或少是线性的。请不要将其视为权威性答案,我没有对其进行任何研究。