我注意到 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
答案4
对于 RDBMS,以下是一些很好的论据:http://www.baarf.com/
由于成本问题,RAID 5 被大量使用,许多人没有进一步考虑就将其用作“默认”。