是否有PowerCLI脚本 - 或一系列命令 - 可用于确定VM资源池是否有足够的可用资源来启动VM而不会触发vSphere错误?
出于性能测试的原因,我们使用具有RAM和CPU最大值的资源池。池中的每个VM都有一个CPU和RAM预留集。测试时,测试自动化将尝试在池中启动尽可能多的VM。启动VM时,CLI将返回错误,超出允许的资源量。发生这种情况时,vSphere控制台上显示的错误“资源不足”。而不是不断启动VM,失败并生成错误 - 有没有办法检查是否有足够的空间?
答案 0 :(得分: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 {#stout gracefully}