【问题标题】:VMware PowerCLI command/script to see if a VM can run in a resource pool?VMware PowerCLI 命令/脚本查看 VM 是否可以在资源池中运行?
【发布时间】:2013-02-25 19:24:30
【问题描述】:

是否有 PowerCLI 脚本或一系列命令可用于确定 VM 资源池是否有足够的可用资源来启动 VM 而不会触发 vSphere 错误?

出于性能测试的原因,我们使用具有最大 RAM 和 CPU 的资源池。池中的每个 VM 都有一个用于 CPU 和 RAM 的预留集。测试自动化将在测试时尝试在池中启动尽可能多的 VM。当启动 VM 将超过允许的资源量时,CLI 将返回错误。发生这种情况时,vSphere 控制台上会显示错误“资源不足”。有没有办法检查是否有足够的空间?

【问题讨论】:

    标签: vmware powercli


    【解决方案1】:

    不确定 CPU 使用情况,但您可以在内存上使用 PowercLI get-stat 并围绕它建立一些逻辑。快速示例:

    connect-viserver my_vc
    
    $active = (get-stat -entity (get-cluster cluster_name | get-resourcepool Low) -stat mem.active.average -maxsamples 1 -realtime).Value
    $granted = (get-stat -entity (get-cluster cluster_name | get-resourcepool Low) -stat mem.granted.average -maxsamples 1 -realtime).Value
    
    $active
    $granted
    
    $pctused = ($active / $granted)*100
    $pctused
    
    # 4445929
    # 31797248
    # 13.9821188299063
    

    我想你可以在构建之前运行它并在条件语句中使用 $pctused,例如if ($pctused -lt 98) { # build } else { # 优雅停止 }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 2019-08-19
      • 2014-06-09
      • 2018-01-30
      • 1970-01-01
      • 2022-10-19
      • 2022-08-14
      相关资源
      最近更新 更多