RAID与独立硬盘

什么会更有效率?

假设我们有2个硬盘。

考虑这种情况:

有2个模拟请求。

在RAID-0设置中,响应速度将由arrays提升。

在正常的2个硬盘设置。 如果请求的文件不在同一个硬盘上,响应速度可能大大增加。 通过这种方式,两个硬盘将以最大容量来处理文件。

我的问题是从长远来看哪个更快,更高效?

我的问题是从长远来看哪个更快,更高效?

假设你真的想要这些方法(没有冗余),你会发现,除非你主要随机访问数据量远远小于你的条带大小,RAID0的方法将比JBOD更好地执行。

考虑以下情况:

  1. 两个大于条带大小的文件:它们在同一个JBOD磁盘上的机率:50%。 他们在同一个RAID磁盘上进行数据stream传输的机会:0%

  2. 一个大于条带大小的文件:它在同一个JBOD磁盘上的机率:100%。 在“相同”RAID磁盘上进行数据stream传输的可能性:0%

  3. 三个大于条带大小的文件:它们在JBOD:0%的磁盘之间均匀分布。 他们平均分布在RAID磁盘之间的机会:100%。

  4. 大于文件大小的大文件数:function上等同于选项。

  5. 大量小文件/随机小请求:function上等同于选项之间的关系,如果寻道是单个文件,则RAID0再次获胜。

JBOD获胜的情况是,如果您希望在磁盘出现故障时能够恢复某些数据。 如果您使用这些方法中的任何一种,并希望能够在发生驱动器故障时恢复数据,则可能是错误的(恕我直言)。

了解你的I / O。 这取决于您预期的I / O模式以及您的容错。 从长远来看哪个更快,更高效? 完全取决于。 没有硬性和快速的标准。

如果你在这个服务器上有两个非常不同的工作负载,那么让每个工作负载在自己的主轴上都会给你带来最好的收益……也许。 这可能是两个组合的总I / O不会超过RAID0所能获得的。 或者,也许会,特别是如果其中之一涉及大量的顺序访问,任何types的随机I / O会减慢速度。

RAID0的缺点是单个驱动器的故障意味着所有的数据不仅仅消失了一半(技术上来说是一半,但仍然存在,但没有 )。 你必须平衡这个潜力与你的performance目标。

考虑到在RAID 0的情况下,一个驱动器将会破坏所有数据……在这种情况下,最有效的解决scheme是JBOD。

RAID 0 几乎从来都不是正确的答案。

它应该取决于读取的大小或连续性质? RAID0将加速连续读取吞吐量,但随机访问通常甚至会受到轻微的影响。