今天可能由于操作不当的原因,造成了一台跑在ESXi 4.0上的虚拟机死机。通过Vsphere Client已经不能让其关机——关机状态一直停止在在95%。有几种解决办法在这里简单罗列一下:

1)通过VSphere CLI实现远程强制关机:
C:\Program Files\VMware\VMware vSphere CLI\bin>vmware-cmd.pl -H 【ESX主机地址】 /vmfs/volumes/…/【虚拟机名】.vmx stop hard
2)在“unsupported”模式下利用vm-support命令:
进入在unsupported模式的方法在 使用ESXi 4.0的几点小结中有说明。
运行vm-support –x得到对应虚拟机的vmid号
vm-support –X 【vmid号】
e.g.
~ # vm-support -x
VMware ESX Support Script 1.30
Available worlds to debug:
vmid=10583      ESX4

~ # vm-support -X 10583
VMware ESX Support Script 1.30
Preparing files: |
Can I include a screenshot of the VM 10583? [y/n]: n
Can I send an NMI (non-maskable interrupt) to the VM 10583? This might crash the VM, but could aid in debugging [y/n]: n
Can I send an ABORT to the VM 10583? This will crash the VM, but could aid in debugging [y/n]: y
3)在“unsupported”模式下利用kill结束相应进程:
ps –g | grep 【虚拟机名】
kill –9 【进程号】
e.g.
~ # ps -g | grep ESX
10583      vmm0:ESX4
10584      vmm1:ESX4
10585 10582 mks:ESX4            10582 10582  /bin/vmx
10586 10582 vcpu-0:ESX4         10582 10582  /bin/vmx
10588 10582 vcpu-1:ESX4         10582 10582  /bin/vmx
10718 10582 Worker#0:ESX4       10582 10582  /bin/vmx

~ # kill -9 10582

~ # ps -g | grep ESX
10583      vmm0:ESX4
4)如果上面三种方法都不能解决问题,试试先关掉其他运行的虚拟机,然后在控制台上重新启动ESXi服务器。