虚拟化 频道

当心影响VMware vSphere性能的幕后黑手

        【IT168 评论】VMware虚拟机可能会遭遇意外的、未发现的和不必要的资源限制。识别和消除这些限制可以改善vSphere性能并帮助虚拟机达到用户的预期。

  VMware vSphere支持管理员限制虚拟机资源,但这可能会导致无意中添加限制。对虚拟机的定期健康检查可以发现虚拟机的意外CPU或RAM限制,这些限制毫无理由地降低了vSphere的性能。一旦发现,您可以移除这些对虚拟机的资源限制。但是请注意:消除资源限制,即使是意外的限制,也可能产生消极影响:在某些情况下,你需要保留这些限制。

  管理虚拟机资源

  在资源供不应求的情况下,VMware vSphere的资源提供规则确保了平和的、可预知的性能降低。在资源超配的时候,执行这些规则是几乎所有vSphere部署的选择,而不是投资买入更多的物理服务器。保留规则可以确保最小资源需求,这样虚拟机可以提供满足服务级别的服务。共享规则可以帮助控制在资源需求超出供应时,哪台虚拟机可以获取相对应的资源。这些可以确保在有限物理资源内最大化业务利益。

  同样是限制,差别很大。也有可能是限制提供给虚拟机的最大物理资源数量,即使现在还有很多可用CPU或RAM资源。这样的限制阻止了虚拟机获得更多可用资源,会导致其性能低于不添加限制的情况。因为不必要地限制了vSphere的性能,通常对虚拟机是负作用。

  如何发现并改变资源限制

  无意识的虚拟机资源限制起源于vSphere的管理平台vCenter的一个bug。有段时间当虚拟机来自于模板的转化或克隆时,可用RAM限制于模板配置的数量。因此,每个从该模板部署的虚拟机都受到同样的限制。即使当虚拟机配置了更多的RAM资源,该限制依然保留,因此虚拟机无法使用额外的可用RAM,性能也无法提升。可以想象一下,当发现虚拟机慢的原因是RAM限制,然后必须重复很多次整个创建过程去为虚拟机配置更多内存,否则虚拟机的性能无法改善。

  通过vSphere客户端的Resource Distribution页面可以很容易识别这种限制。该页在Distributed Resource Scheduler集群、单独的宿主机和资源池中都可以看到。列出了对所有对象的共享、保留和限制。

  通过命令行发现限制,可以打开PowerCLI使用Get-VMResourceConfiguration commandlet。如果CpuLimitMhz 和MemLimitGB 的键值不是-1,虚拟机就有资源限制。vCheck script for PowerCLI功能很强大,其中之一就是可以报告所有带有CPU或RAM限制的虚拟机。如果您写了自己的脚本,可以使用 Set-VMResourceConfiguration cmdlet移除限制。

  在移除了对所有虚拟机的限制之后,它们可以访问更多的资源。如果系统内有足够的可用CPU和RAM,资源的利用率得到提升,改善了虚拟机的性能。但是,如果空闲资源的数量不多,系统的其它地方可能会出现性能问题。在资源紧张的系统上增加压力会导致资源竞争的加剧。即使这样,移除资源限制可以减轻存储负担,因为对RAM的限制会导致虚拟机使用页面缓冲区。虚拟机对缓冲区的使用越少对存储压力越小。

  资源限制有自己的用武之地。如果vSphere用户只为自己使用的资源付费,通过限制为系统添加了成本上限。然而,使用资源池的限制来代替对虚拟机的限制是个好办法。可以很好地把项目、业务单位或客户可用资源限制在其购买的范围内。

0
相关文章