RAID 10 与 RAID 5

RAID 10 与 RAID 5

我注意到 RAID 5 已用于许多关键应用程序,例如 SQL 服务器机器。然而 RAID 10 似乎更加强大。但使用它的人并不多。有什么理由或什么时候我们应该考虑 RAID 10 或永远不考虑?

答案1

这个问题很大程度上取决于您的硬件、服务器工作负载和存储容量。

例如,Raid 10 的性能比 Raid 5 有显著提升(尤其是在随机或小写入时),但存储容量却减少了一半。根据负载的不同,性能差异可能甚至不明显,因此具有额外空间的 Raid 5 可能更具吸引力。

假设我们有 12 个 1TB 硬盘。在 raid 5 中,我们将获得:
* 可用空间:10TB(使用 2 进制,即您的操作系统将看到的内容)
* 容错能力:1 个驱动器可以发生故障
* 读取速度:11 倍
* 写入速度:< 1 倍

优点:
* 最佳存储效率
* 高顺序读取性能

Raid 5 的缺点:
* 重建损坏的驱动器可能需要很长时间,并且会导致重建过程中性能中等下降。在此过程中,您将无法容忍任何错误。
* 随着写入百分比的增加,整体性能会下降。这是由于 I/O 平衡造成的。

现在,以 12 个 1TB 硬盘组成 raid 10:
* 可用空间:5.4TB
* 读取速度:12 倍(理论上)
* 写入速度:6 倍(理论上)
* 容错性:每个 raid 1 阵列中可以丢失 1 个硬盘,本例中为 6 个。但您不能在单个 raid 1 中丢失 2 个硬盘

优点:
* 高容错性(只要镜像中的两个驱动器不发生故障)
* 快速读取、写入和随机/小写入(在数据库中很重要)
* 磁盘错误时重建时间快

缺点:
* 50% 的磁盘空间会消失,对于没有大笔预算的人来说,这通常是无法接受的。
* 可扩展性可能会很昂贵

对我来说,如果我在 10 和 5 之间犹豫不决,我通常会选择 RAID 50。这是两者之间的良好平衡(不过支持 Raid 50 的卡可能会很贵)。Raid 50
* 可用空间:9TB
* 读取速度:10 倍
* 写入速度:< 2 倍 * 容错:2 个驱动器
* 比 raid 5 写入速度更快
* 存储效率高
* 读取速度快
* 重建坏盘的惩罚较少
* 如果一个磁盘发生故障,仍保留容错能力

同样,很多变量都会影响这些方面的性能:RAID 卡的质量、驱动器的速度、池中的驱动器数量、数据库中的磁盘/条带对齐等。

答案2

如前所述,由于成本问题,大多数人直接选择 RAID5。我在工作中为小型设置使用 RAID10,因为如果出现问题,它们更容易恢复。如果多个磁盘出现故障,则恢复的可能性几乎为零。使用 RAID10,至少对于文件而言,当出现问题时,您能够恢复部分位。

上面的 BAARF +1。

答案3

维基百科说:

The choice between RAID 10 and RAID 5 for the purpose of housing a relational database depends upon a number of factors (spindle availability, cost, business risk, etc.) but, from a performance standpoint, it depends mostly on the type of I/O expected for a particular database application.RAID 10 is often chosen because it offers a slight speed improvement over RAID 5 on sustained reads and sustained randomized writes.

详情请访问:

http://en.wikipedia.org/wiki/RAID#RAID_10_versus_RAID_5_in_Relational_Databases

http://www.thegeekstuff.com/2010/08/raid-levels-tutorial/

答案4

对于 RDBMS,以下是一些很好的论据:http://www.baarf.com/

由于成本问题,RAID 5 被大量使用,许多人没有进一步考虑就将其用作“默认”。

相关内容