当我通过 ssh 进入 ESXi5 主机的命令行时,如何关闭虚拟机?
边注:
要使其他机器上的脚本无需密码即可登录 ESXi,如果您要以 root 身份登录,请将其他机器上的用户的公钥添加到 ESXi 的“/etc/ssh/keys-root/authorized_keys”。如果您要以用户 x 身份登录,请将密钥添加到“/etc/ssh/keys-x/authorized_keys”。
答案1
摘自“使用 ESXi 5.0 esxcli 命令关闭虚拟机”一节KB1014165在VMWare 知识库:
esxcli 命令可在本地或远程用于关闭在 ESXi 5.0 上运行的虚拟机。有关详细信息,请参见 vSphere 命令行界面参考中的 esxcli vm 命令部分。
打开可利用 esxcli 工具的控制台会话,可以在 ESXi Shell、vSphere Management Assistant (vMA) 或安装 vSphere 命令行界面 (vCLI) 的位置。
使用以下命令获取正在运行的虚拟机列表,这些虚拟机由 World ID、UUID、显示名称和 .vmx 配置文件路径标识:
esxcli vm process list
使用以下命令关闭列表中的一台虚拟机:
esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber
笔记:有三种关机方法。软关机最温和,硬关机立即关机,强制关机应作为最后的手段。
重复步骤 2 并验证虚拟机不再运行。
我希望这有帮助 :)
答案2
您可以使用 vim-cmd:
以下是一个示例(仅关闭一个 VM:SRV1):
[root@ESX1:~] vim-cmd vmsvc/getallvms
Vmid Name File Guest OS Version
1 SRV2 [NAS] SRV2/SRV2.vmx winLonghornGuest vmx-08
2 SRV1 [SAN] SRV1/SRV1.vmx winLonghornGuest vmx-08
[root@ESX1:~] vim-cmd vmsvc/power.shutdown 2
您还可以关闭所有主机虚拟机:
/sbin/shutdown.sh && /sbin/poweroff
摘自:http://www.sysadmit.com/2016/07/vmware-esxi-apagar-todas-las-vms-desde-SSH.html