EXSI虚拟机卡死
在 ESXi 主机上关闭虚拟机电源时,会遇到以下症状:
- 无法关闭 ESXi 托管的虚拟机的电源
- 虚拟机无响应,且无法停止或终止
使用 SSH 以 root 身份登录到 ESXi
普通关机
获取所有已注册虚拟机的列表,由其 VMID 和显示名称标识
vim-cmd vmsvc/getallvms
1 | ~ # vim-cmd vmsvc/getallvms |
获取虚拟机当前的状态
vim-cmd vmsvc/power.getstate VMID
1 | ~ # vim-cmd vmsvc/power.getstate 1440 |
检查受影响的虚拟机上是否有挂起的任务阻止了机器开机
vim-cmd vmsvc/get.tasklist VMID
1 | ~ # vim-cmd vmsvc/get.tasklist 1440 |
查看任务的更多信息
vim-cmd vimsvc/task_info task_id
1 | # vim-cmd vimsvc/task_info haTask-2-vim.VirtualMachine.createSnapshot-182550283 |
任务挂起,需要取消,使用如下命令
1 | vim-cmd vimsvc/task_cancel task_id |
使用命令关闭虚拟机
1 | vim-cmd vmsvc/power.shutdown VMID |
至此一般能成功关机,如果无法关机则参考以下:强制关机
强制关机
5.5以上版本
以下命令适合5.5以上版本
- 确认虚拟机运行在哪个esxi主机上,使用SSH登陆到该主机(这个应该是esxi运维最基本的操作了,不会自行百度)
- 通过命令找到虚拟机运行的worldID(和进程ID相似,一台虚拟机有一个唯一的ID)
1 | [root@localhost:~] esxcli vm process list |
记下world id ,执行强制关机命令
1 | esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber |
-t,–type 执行类型
soft: 执行正常关机,调用vmearetool执行关机
hard: 执行立即关机
force:强制断电关机
-w,–world-id
这里指定虚拟机的World ID号了
5.5以下版本
- 运行以下命令获取正在运行的虚拟机的列表(虚拟机由 World ID、UUID、显示名称和 .vmx 配置文件的路径标识):
- 运行以下命令关闭此列表中某个虚拟机的电源:
1
2esxcli vms vm list
esxcli vms vm kill --type= [soft,hard,force] --world-id= WorldNumber
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Austines Hexo Blog!