0

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

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

4

1 回答 1

0

不确定 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 { # stop gracefully }

于 2013-02-25T11:24:30.607 回答