SATA Raid 10 与 SAS Raid 1

SATA Raid 10 与 SAS Raid 1

我需要为几个 VPS 设置一个小型专用磁盘阵列。显然 IO 越多越好。考虑到这些条件,您会选择什么?Raid1 中的 2 个 SAS 15k 磁盘,还是 raid 10 中的 4 个 SATA 7.2k?

如果我使用软件或硬件 RAID,答案会改变吗?

答案1

我已经从头到尾回答了这些问题,因为希望这样更有意义。

如果我使用软件或硬件 RAID,答案会改变吗?

首先,如果你选择 Linux,不要使用 fakeraid。它毫无用处。它根本不平衡读取/写入,而是选择从其中一个磁盘读取。不要这样做。

关于硬件/软件 RAID,我的经验是,当磁盘数量不超过六个时,软件 (mdadm) RAID 确实非常好。这有几个原因。

  • 它的监控非常好。
  • 您可以将其设置为通过电子邮件向您发送故障。
  • btrfs 对于智能文件系统感知 RAID 来说看起来是一个光明的未来前景。
  • 我曾遇到过硬件 RAID 卡无法预测的磁盘故障,从而导致高 I/O 或不可预测的 I/O。
  • 就 CPU 而言,服务器硬件的重要性远远超过其他所有资源。如果磁盘少于 4 个,则不太可能感觉到更高的 I/O 开销。

硬件 RAID 确实取决于您购买的卡,但更昂贵的卡在您使用大量磁盘时非常有用,并且能够提供良好的监控和问题警报。它们还提供热插拔,这非常有用,但通常只有更昂贵的服务器才提供此功能。

您会选择什么?Raid1 中的 2 个 SAS 15k 磁盘,还是 raid 10 中的 4 个 SATA 7.2k?

IO 分析可能非常难以预测,尤其是对于虚拟机而言,大部分性能都取决于实际的 I/O 特性(随机读/写或顺序读/写)。

就我个人而言,我会选择 SAS 驱动器,它们通常具有更快的寻道时间(可能足以弥补您在其他配置中有四个磁盘的事实)和更快的顺序读取。更重要的是,它们通常设计有更高的平均故障时间(尽管最终的回报如何,一如既往是一场赌博),但如果您想要一台主力机 - SAS 驱动器是一个更安全的选择。

另一方面,SATA 在 mdadm 上的表现可能略好一些,因为 mdadm 选择读取设备的方式(它选择从最接近该扇区的磁盘收集块)。通过将磁盘数量加倍,您可能会发现它在寻道系统上的表现会略好一些。

大多数典型工作负载是 70% 顺序执行,30% 随机执行。操作系统会主动避免寻道,方法是将写入重新排序到最近的可能扇区(这在 SATA 中称为 NCQ,在 SCSI 中称为 TCQ),这也试图缓解此问题。

软件 raid -- 我指的是 mdadm -- 至少在仅用于两个磁盘时是令人满意的,并且正如提到的,专用文件系统即将问世,因此有更多的理由选择基于软件的方法。

因此总的来说,我会选择软件 raid 上的 SAS 选项,它通常更安全,并且对于大多数工作负载来说,即使两倍的 SATA 磁盘也不太可能提供任何更好的性能。

答案2

每次都是 2 x 15k,大多数 7.2 都不是设计用来全天工作的。

答案3

假设成本不是问题,我会选择 linux 的 md 软件 raid 来做袭击10,f2使用 2 个 SAS 驱动器。这为您提供了 RAID0 流式读取性能和接近 RAID0 流式写入性能。它在小型随机写入方面表现不佳,因为每个写入的条带意味着写入每个磁盘的前半部分和后半部分。

任何像这样工作的硬件 RAID10 解决方案(英特尔的假 RAID 称之为矩阵 RAID)可能也很好,但我不知道有任何一个。

如果成本是个问题,那么最好使用 SATA 驱动器和一些备用驱动器。前提是您愿意并且能够快速更换它们。我偏爱 Linux 的 md 软件 RAID,除非您出于某种原因无法使用它。

相关内容