我们需要在 2012 R2 Hyper-V 中同时运行大量低资源虚拟机。我们尝试了各种配置并使用 Perfmon.exe 进行报告,发现我们在 IO 方面遇到了严重的瓶颈。
对于这些盒子来说,存储和数据保留并不是需要考虑的问题,因此,如果每台服务器最多有 4 个机械驱动器(我们由于其他原因而避免使用 SSD),那么什么能让我们在拥有大量虚拟机的情况下获得最佳的 IOPS?
主要问题是 IO 争用,如果我们在四磁盘阵列上运行 12 个虚拟机,那么,假设有 5 个虚拟机执行 IO 操作,是否会引起其余虚拟机的争用?如果我们将其拆分为两个阵列,是否可以解决问题?
答案1
磁盘 I/O 受公地悲剧。使用羊机械磁盘,您的草地随机 I/O有一个硬上限。防止一个坏角色饿死其余羊虚拟机的唯一方法是将其放在自己的草地磁盘组上。将贪婪的羊虚拟机限制在自己的围栏内将使其余的羊虚拟机比在公共环境中更频繁地获取资源。
所以,是的,拆分阵列将有助于减少非贪婪虚拟机的争用。但是,这将大大增强贪婪虚拟机的争用。