Raid 0,1,5,6,10 之间的性能差异是什么

Raid 0,1,5,6,10 之间的性能差异是什么

我听过/读过关于各种突袭风格的不同性能故事。我很好奇公认的最佳答案是什么。

答案1

值得一看的一个地方是StorageReview.com 的 RAID 级别比较

但重点是答案:

级别 | 容量 | 存储 | 故障 | RDM 读取 | RDM 写入 | SEQ 读取 | SEQ 写入 |
0 | S * N | 100% | 0 | **** | **** | **** | ****
1 | 小号 | 50% | 1 | *** | *** | ** | *** |
5 | S * (N-1)| (N-1)/N | 1 | **** | ** | *** | *** |
6 | S * (N-2)| (N-2)/N | 2 | **** | * | *** | ** |
0+1 | S * (N/2)| 50% | 1 | **** | *** | **** | ***

图例:
容量:驱动器的大小
存储:所有驱动器上实际可用的空间量
故障:可能发生故障的驱动器数量

答案2

同意最佳答案...

我想说它与应用程序有关。如果你是一名游戏玩家,想要加快速度,不顾一切,那么 RAID0 就很棒!这样磁盘发生故障的几率就会增加一倍,但如果你的数据不重要,谁会在乎呢?

RAID1 则正好相反,它为所有数据提供热备份,并能承受单个磁盘故障,从而将数据丢失的概率降低一半。

RAID5 和 RAID6 更昂贵(需要更多磁盘),但其优点是能够承受磁盘丢失,同时提供便捷的速度提升。使用 RAID5 可以将数据丢失的概率降低一半,使用 RAID6 可以将数据丢失的概率降低四分之一(可以承受两个磁盘丢失并正常运行)。

当谈到 RAID1+0 与 RAID5/6 时,RAID5/6 将提供比 RAID1+0 更好的速度提升(由于条带化级别更高),但是在发生磁盘丢失时速度可能会更慢(因为必须根据奇偶校验信息重建数据)。但是,RAID1+0 在发生磁盘丢失时不会降低任何速度(因为镜像集不会带来太多带宽增益)。

至于从损坏的磁盘组(1+0、5 和 6 中的磁盘组)恢复功能,1+0 是最容易的。您只需将数据从镜像驱动器复制到新驱动器,而使用 RAID5/6,阵列中的所有驱动器都会参与丢失磁盘数据的重建。

希望这有帮助:)

答案3

Chealion 的回答很完美,但我想补充一点,你的问题的答案(什么是最好的)主要取决于三个因素:

  • 成本
  • 优先事项
  • 工作量

最便宜的解决方案(也可以使用最少数量的磁盘)是 RAID 0 和 1,它们分别针对速度和数据丢失进行了优化。更昂贵的解决方案需要更多驱动器、更多电源、更多冷却,并且通常需要更昂贵的 RAID 控制器。使用内置在主板上的 RAID(基于软件)与购买真正的数百美元电池支持的 RAID 控制器不同(并且更慢),后者将大部分繁重的工作转移到硬件上。

优先级是指您对数据丢失/速度/容量的重视程度(任选两个)。如果您有 4 个 500GB 的驱动器可供使用...配置为 RAID 0,您将拥有 2TB 的容量和略低于单个驱动器 4 倍的速度。但是,如果其中任何一个驱动器发生故障,您的所有数据都会丢失。如果您将这 4 个驱动器用作 RAID 1,您只有单个驱动器的容量和速度,但您可以让三个驱动器发生故障而不会丢失任何数据。使用这么多驱动器的 RAID 0 或 1 会有些浪费,而 RAID 5 或 10 等级别是一个很好的折中方案。

最后,工作负载也会产生影响。RAID 5 和 6 的写入速度比其他几种 RAID 级别慢,因为每次写入都必须计算并写入校验和(而读取速度与主轴一样快)。某些工作负载(例如数据库)可能非常注重写入,运行 RAID 5 可以显著提高性能。写入密集型工作负载通常更适合 RAID 级别 10、50、60 等。其他工作负载(例如 Web 服务器)主要是读取密集型,写入不是优先事项。在这些情况下,使用更便宜的 RAID 级别(例如 5)比投资 RAID 10/50/60 所需的硬件更有意义。

答案4

我见过 RAID6 实现与 RAID5 一样快,但有些实现的速度却比 RAID5 慢很多倍。使用 RAID6 时必须非常谨慎地进行测试 - 如果可行,这是正确的选择,但也可能造成灾难。

任何关于 anandtech 或 tomshardware 的此类严肃建议都应避免。这些都是严重的问题,而这些网站并没有进行严肃的测试。它们简直就是笑话。也许它们一开始是合法的,但现在根本不是了。

我见过一些工作负载是随机写入密集型的,具有大量缓存,其中 RAID5 的速度与 RAID1+0 一样快甚至更快。这是因为数据以足够慢的速度写入(大量写入,但都是小块),缓存可以继续将其刷新到磁盘。

如果你真的关心的话你就必须测试你的工作量。

相关内容