当检测到某个事件时,我会使用 PowerCLI “关闭”虚拟机。当这种情况发生时,我们唯一能做的就是关闭虚拟机然后重新打开。
我曾经Stop-VM -VM xxxx -Kill -Confirm:$false
关闭虚拟机,但我注意到 HA 将在虚拟机关闭后重新启动虚拟机。
但是,如果我在 HA 开启的情况下手动在该虚拟机的 vSphere GUI 中执行“关闭电源”,它仍保持“关闭电源”状态
知道为什么 HA 会启动由 PowerCLI “关闭”的 VM 吗?或者这Stop-VM
不是“关闭电源”的命令?
答案1
您是否在没有的情况下测试过此操作-Kill
?从Stop-VM
cmdlet 参考:
表示您希望通过终止在 ESX 上运行的进程来停止指定的虚拟机。您可以使用此参数来停止没有响应且无法通过其他方式停止或重新启动的虚拟机。要使用 Kill 参数,您需要直接连接到 ESX 4.1 或更高版本。
直接在主机上终止进程听起来确实像是一个应该触发 HA 的事件。我想我会采取分层方法来解决这个问题:
# Some condition happens, ask nicely.
Shutdown-VMGuest -VM xxxx -Confirm:$false
...
# Ask less nicely.
Stop-VM -VM xxxx -Confirm:$false
...
# A last ditch effort.
Get-VM xxxx | Set-Vm -HARestartPriority Disabled -Confirm:$false
Stop-VM -VM xxxx -Kill -Confirm:$false