如何在 PE2950 上选择最佳 RAID 设置

jwb*_*ley 4 raid dell-poweredge

我有一些 Dell PowerEdge 2950,其中装有 4 个 15k、150GB Cheetah SAS 驱动器。它们将是 VM 主机,CentOS 运行 ESXi 和 Windows Server 2k8 来宾。一些来宾将托管 IIS 服务器,而其他来宾将托管 MSSQL 服务器。

我正在尝试设置 RAID 虚拟磁盘设置,但在这种情况下无法决定哪个更优化;

Read Policy: Out of Read-Ahead, No-Read-Ahead and Adaptive Read-Ahead, the default is Read-Ahead.
Run Code Online (Sandbox Code Playgroud)

我最初将进行大量顺序写入,为虚拟机硬盘驱动器写出空白图像(例如从 /dev/zero 说 30GB),所以预读一开始看起来不错。但是在虚拟机中,由于它们是 IIS 和 MSSQL 服务器,因此从其文件系统中的任何地方读取可能是随机的,所以也许 No-Read-Ahead 是一个更好的主意?

现在我认为 Adaptive Read-Ahead 作为折衷方案会更好,但我对这个选项知之甚少,它与其他选项的性能相比如何?

Write Policy: write-back caching, write-through caching, the default is  write-back caching.
Run Code Online (Sandbox Code Playgroud)

回写缓存的默认设置比直写缓存更安全,但会牺牲性能。我的想法是,例如,在断电的情况下,在我的脑海中似乎更有可能(这就是我需要澄清的原因!)启用回写缓存的来宾 VM 会发生损坏,所以我应该赞成直写?

我四处搜索,显然没有明确的答案,所以我想找出最适合我的情况的方法。

Bas*_*sil 11

首先,管理程序有时被称为“IO 混合器”。它们使任何算法都很难预测它们接下来会做什么,因为它们不让每个 VM 拥有自己的真正 SCSI 磁盘。因此,您绝对不想直接预读。我不知道你的系统认为自适应预读是什么,但如果它是一个设置,可以检测何时完成顺序读取并保守地提前读取一点,那可能没问题。

其次,如果有任何可能,您总是希望回写缓存。它会在写入保存到缓存后立即确认写入,然后尽快将它们降级到磁盘。但是,如果您的缓存断电,这并不安全。电池备份缓存是写回缓存的必要条件,如果您想在断电恢复时拥有一致的数据。

  • +1 完全正确。您需要自适应预读和回写缓存。此外,请确保关闭驱动器本身上的单个缓存,因为这是数据丢失的潜在区域(在 RAID 控制器上具有电池支持的写入缓存实际上不需要单个驱动器缓存)。 (2认同)