我正在尝试编写一个脚本,通过 ssh 连接到 ESXi 6.7 并关闭主机,同时根据当前系统关闭策略关闭虚拟机。
我在配备双 Xeon X5650 和 144GB RAM 的 Dell R710 中运行 Dell 定制映像 ESXi 6.7。
事实上我想要的和我能得到的是一样的:
我已在服务器上启用了 ssh。
我已经尝试过:
1)host_shutdown.sh
(它只是无限期地到达那里)。
2)/bin/host_shutdown.sh
(它无限期地到达那里)。
3)halt
(关闭服务器但不关闭虚拟机)
我也尝试过:
esxcli system shutdown poweroff --reason I_want_IT
但系统必须处于维护模式,而我想在不进入维护模式的情况下执行此操作
然后我在 Server Fault 中发现了这个线程,但它在我的环境中不起作用,因为它是 PowerCLI,而我想从 Raspberry Pi 运行脚本:
如何在 ESXi 5 上通过 ssh 关闭主机,以便它正确关闭客户机?
我认为我太笨了,无法独自发现如何去做这件事,因为我认为这一定是一件简单的事情。
答案1
我想我终于找到了这个问题的解决方案。经过大量挖掘,我发现:
/sbin/shutdown.sh && /sbin/poweroff
可以解决问题!
它根据当前系统启动策略关闭所有虚拟机,然后关闭主机。
答案2
尽管我不清楚为什么VMware 建议的程序没有为您执行此操作或者为什么您想要在 VSphere 设置中执行此操作,您似乎已经找到了解决方案。
由于 .NET、Powershell 和 PowerCLI 可在 Linux ARM 上使用,为什么不使用您找到的脚本呢?或者看看 Govmomi?
更新:添加了 VMware 的文档,说明他们认为应该如何做