使用 ESXi 5.5u2 和 vSphere 查找正确的 IOPS 以设置限制

使用 ESXi 5.5u2 和 vSphere 查找正确的 IOPS 以设置限制

我们正在运行一个 ESXi 5.5u2 虚拟机管理程序,它有 2 个 15k SAS 驱动器的镜像,里面有几个虚拟机,我们注意到,如果另一个虚拟机正在使用所有 IO,某些服务会短暂无法访问。

因此,我正在寻找一种方法来避免这种涓流效应,即在 vSphere 中限制虚拟机的 IOPS,使每个虚拟机都拥有驱动器总数的一部分。只需转到虚拟机设置的“资源”选项卡并设置 IOPS 限制即可。这不是一项艰巨的任务(尽管我确实希望 vSphere 有一个 Linux 客户端),但我注意到的一件事是 IOPS 限制与虚拟机实际获得的 IOPS 限制相差甚远。

我正在使用一个名为可视化工具它绘制了一系列图表,包括 IOPS。我特别绘制的是 CMDS/s、Reads/s 和 Writes/s。为了找到我的配置的总 IOPS,我使用 dd 运行了一个简单的压力测试,该测试写入一个大文件并从另一个大文件中读取数据(两个测试同时运行)。

从中,我发现我的 IOPS 约为 270。据我所知,IOPS = num_reads + num_writes,但当将该逻辑应用于 vSphere 中的 IOPS 限制时,我看不到这种联系。将限制设置为一半会使 IOPS 下降到 40 左右,而将其设置为 2700 则可达到我想要的 50% 总数。

所以我对此有点困惑。这是我确定 IOPS 的方式吗?感谢任何能对此有所启发的人。

答案1

1) 他们确实有一个 Linux 客户端 - Web 客户端 - 您知道当您登录到 .net 客户端时 - 顶部的那小段文字中写着类似“停止使用这个,它要消失了,请使用 Web 客户端”的内容 - 好吧,就是这样。

2)根据经验,我假设每 15krpm 磁盘大约有 200 个随机 IOPS - 我知道您可能会得到更多,但这是一个合理的假设 - 当然,您使用的是 R1,因此写入会受到 2:1 的惩罚,而读取可能获得小幅提升,但我还是不指望它。哦,你的定义不太正确 - 有很多不同类型的 IO 基准测试,IOPS 只是一种衡量标准 - 从根本上讲,有顺序读取/写入和它们的随机版本。

3) 除了限制 IOPS,为什么不直接将高优先级 VM 上的磁盘份额设置得更高呢 - 这样,您就不会限制任何给定 VM 的最大性能,而只是在争用下加权它们的响应。

4)鉴于您只有两个磁盘,我建议您切换到 SSD,其成本不会太高,而且您可以忘记您正在尝试进行的所有调整。

5) 这可能听起来很苛刻,但事实并非如此 - 接受一些培训,即使是基础的 ICM 课程也会教授这些基础知识。

相关内容