什么会更有效率?
假设我们有 2 个硬盘。
考虑以下场景:
有 2 个模拟请求。
在 RAID-0 设置中,阵列将提高响应速度。
在常规的 2 硬盘设置中。如果请求的文件不在同一硬盘上,响应速度可能会大大提高。这样,两个硬盘都将以最大容量运行来提供文件。
我的问题是,从长远来看哪种方法更快、更高效?
答案1
我的问题是,从长远来看哪种方法更快、更高效?
假设您确实想要这些方法(无冗余),您会发现,除非您主要随机访问比条带大小小得多的数据量,否则 RAID0 方法的性能将明显优于 JBOD。
请考虑以下情况:
两个文件大于条带大小:它们位于同一个 JBOD 磁盘上的概率:50%。它们位于“同一个”RAID 磁盘上以进行流式传输的概率:0%
一个文件大于条带大小:位于同一 JBOD 磁盘的概率:100%。位于用于流式传输目的的“同一”RAID 磁盘的概率:0%
三个文件大于条带大小:它们均匀分布在具有 JBOD 的磁盘之间的概率:0%。它们均匀分布在 RAID 磁盘之间的概率:100%。
大量文件大于条带大小:选项之间的功能等效。
大量小文件/随机小请求:这两个选项的功能相同,但有一个警告:如果搜索的是单个文件,则 RAID0 再次获胜。
JBOD 获胜的情况是,如果你想要能够恢复一些如果磁盘发生故障,则无法恢复数据。如果您使用其中任何一种方法,并且希望在驱动器发生故障时能够恢复数据,那么您可能做错了(恕我直言)。
答案2
了解您的 I/O。这取决于您预期的 I/O 模式以及您的容错能力。从长远来看,哪个会更快、更高效?这完全取决于情况。没有硬性标准。
如果该服务器上有两个非常不同的工作负载,那么将每个工作负载放在各自的主轴上将为您带来最佳收益……也许吧。两者的总 I/O 可能不会超过使用 RAID0 可以获得的收益。或者可能会,特别是如果其中一个涉及大量顺序访问,任何类型的随机 I/O 都会减慢速度。
RAID0 的缺点是,单个驱动器发生故障意味着所有数据都消失了不只是一半(技术上是的,一半仍然存在,但不是有用)你必须平衡这种潜力与你的绩效目标。
答案3
考虑到,使用 RAID 0,一个驱动器损坏就会毁掉您的所有数据...在这种情况下,最有效的解决方案是 JBOD。
RAID 0 是几乎从不正确答案。
答案4
它应该取决于所讨论的读取的大小或连续性?RAID0 将加快连续读取吞吐量,但随机访问通常会受到轻微影响。