RAID 10 Vs RAID 5

我注意到RAID 5已经被用于很多关键的应用,比如SQL服务器机器。 不过RAID 10看起来更强大。 但是使用它的人不多。 什么原因或什么时候应该考虑RAID 10或从未?

这个问题将很大程度上取决于你的硬件,服务器工作量和存储容量。

例如,Raid 10可以在Raid 5上有相当的性能提升(特别是随机或小写),但存储容量减半。 性能差异甚至可能不明显取决于负载,所以具有额外空间的Raid 5可能更具吸引力。

假设我们有12个1TB硬盘。 在突袭5中,我们会得到:
*可用空间:10TB(使用base-2,你的操作系统会看到什么)
*容错:1个驱动器可能会失败
*读取速度:11倍
*写入速度:<1x

Pro的:
*最佳的存储效率
*高顺序读取性能

缺点突袭5:
*重build坏驱动器可能需要很长时间,在重build过程中会导致性能下降。 在此过程中,您将具有零容错function。
*随着写入百分比的增加,整体性能下降。 这是由于I / O平衡。

现在在一个RAID中采取12个1TB硬盘驱动器10:
*可用空间:5.4TB
*读取速度:12倍(理论)
*写入速度:6倍(理论)
*容错:在每个RAID 1arrays中可以丢失1个驱动器,在这个例子中是6个。 但是你不能在一次袭击中失去2个驱动器1

优点:
*高容错性(只要镜像中的两个驱动器不失败)
*快速读取,写入和随机/小写(在数据库中很重要)
*在磁盘错误的情况下快速重build时间

缺点:
* 50%的磁盘空间已经消失,而这通常是大多数预算不足的交易断路器。
*可扩展性可能会变得昂贵

对于我来说,如果我在10或5之间的围栏上,那么我通常会使用RAID 50.这是一个很好的平衡(支持Raid 50的卡可以变得昂贵)。 袭击50
*可用空间:9TB
*读取速度:10倍
*写入速度:<2x *容错:2个驱动器
*比RAID 5的写入速度更快
*良好的存储效率
*快速的读取速度
*重build损坏的磁盘罚款less
*如果一个磁盘发生故障,则保持容错

同样,有很多variables会影响这些性能:RAID卡的质量,驱动器的速度,池中的驱动器数量,数据库中的磁盘/带状alignment方式等。

如前所述,由于成本问题,大多数情况下会直接使用RAID5。 我在工作中使用了RAID10,因为它们在出现问题时更容易恢复。 如果有多个磁盘,则几乎有0个恢复的机会。 使用RAID10,至less对于文件,当出现问题时,您可以恢复部分位。

上面的BAARF +1。

维基百科说:

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/

对于RDBMS的一些很好的论点: http : //www.baarf.com/

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