我知道已经有人问过类似的问题,但我觉得这些问题都比较理论化,不太适用于我的情况。
我们正在运行 3 个 ESXi 6.0 主机,所有主机均通过 FC 由同一台 HP EVA P6300 支持。根据 EVA P6300 最佳实践指南 (https://h41368.www4.hp.com/h41111/rfg_formprocessor/SWD_Installed_Base/pl/pl/pdf/TWP_4AA3-2641ENW.PDF),我们将所有 48 个磁盘(600GB,10k RPM)放入同一个磁盘组。
我喜欢使用 vRaid6,因为我个人在 6x Raid5(每个有 8 个磁盘)上使用 Raid0 时感觉有点不安(这基本上是 EVA 使用 vRaid5 所做的)。
总的来说,我们有大约 40 台虚拟机,其中大多数(约 35 台)的磁盘 I/O 很少,而少数(约 5 台)每隔几分钟就会出现较高的磁盘 I/O 峰值(SQL 服务器/文件服务器)。
出于处理原因,最简单的方法是创建一个大的 LUN/数据存储。考虑到我们创建的所有 LUN 无论如何都会由相同的物理磁盘支持,只有一个 LUN 是否会对性能产生影响?由于锁定或 I/O 队列,拥有多个 LUN 是否有意义?
HP 最佳实践指南指出应该“遵循操作系统和应用程序对 LUN 数量的要求”,但我找不到 VmWare 有关推荐 LUN 数量的任何信息。
提前感谢您的任何见解!
答案1
虽然我们正在逐步淘汰我们的 P6xxx 盒,但我在这种情况下有很多使用经验 - 首先,“一个大磁盘组”是正确的前进方向,其次请避免使用 RAID 5/50(我们可能会用它背后的数字让您感到厌烦,但本质上使用越大的磁盘就越危险),使用 R6/60 或 R1/10 就可以了。
只有一个 LUN 是否会对性能产生影响?
是的,但影响很小,vSphere 性能指南 v6 文档指出,理想情况下,您应该拥有多个较小的 LUN,而不是一个大的 LUN,但这不是什么大问题。曾经有一个 VM 写入会锁定该 LUN,但这种情况已经过去很久了,虽然存在一两个非常小的问题(您提到的队列问题就是其中之一),但对于非常大的 LUN,您谈论的性能差异只有几个百分点。我个人喜欢 2TB 的 LUN,但如果您愿意,也可以使用更大的 LUN。
答案2
了解您当前的 IOPS 水平会很好,esxtop 或 VeeamOne 报告说明了什么?此外,您需要为虚拟机提供多少空间?其中 5 个活动虚拟机需要多少空间?计算任务的存储需要额外的变量才能准确。
使用 RAID 5 中的 48 个驱动器,您可以获得 27.4 TB @ ~1600 - ~2800 IOPS(针对混合随机 I/O 工作负载计算)。我不能 100% 确定这对于大约 40 台虚拟机来说是否足够。5 个密集型虚拟机可能会轻易消耗大量阵列性能,并使其他 35 个虚拟机受到影响。我建议对 5 个 I/O 密集型虚拟机执行 RAID 10 LU,这将为它们提供大约 3.6 TB @ 1400 IOPS 并保证低延迟。剩余的驱动器进入 ~20 TB RAID6 并仍为您提供 ~1200-2100 IOPS,这与执行 48 驱动器 RAID6 时获得的原始 1600-2800 相差不大。
我不想进一步深入理论存储,因此我会继续关注有关您的环境的更多输入。上述想法说明了我建议对 I/O 密集型虚拟机采取的方法。