I’m guessing that most ESX administrators have experienced at least one time where a VM decides to hang leaving them unable to shut down or restart it.
You have half a dozen production VM’s running, you don’t have VMotion in place and this rogue VM that you need back up and running ASAP is sitting in a greyed out state.
What do you do?
Well you could give one of the following methods a go to try and stop the VM.
DISCLAIMER: Try these commands at your own risk. As with any hung process file corruption can occur when not stopped correctly by the associated application or process.
Log onto the ESX server itself and try one of these commends.
(The commands below should be typed all on one line – also, the datastorename can be quite long so make sure you don’t make a typo)
The Karate Chop:
vmware-cmd /vmfs/volumes/<datastorename>/<vmname>/<vmname>.vmx stop
or The Finger of Death (Be warned this no holds barred move will attempt to kill the VM instantly):
vmware-cmd /vmfs/volumes/<datastorename>/<vmname>/<vmname>.vmx stop hard
Failing that from the ESX console issue the following commands:
1. Firstly list the running VM’s and their associated VM ID’s:
2. Once you have the VM ID of the rogue VM you wish to stop then issue the command (Note: that both commands are case sensitive and one uses a capital ‘x’ and the other lowercase):
vm-support -X <VMID>
Answer the questions (usually ‘no’ to most) and then wait for a good 3-4 minutes whilst a tgz file is generated containing support information. This file is a side product and can be deleted off of the Root directory so to clear disk space.
Hope this helped tame your unruly VM instance…