Error message: : "Faild to power on <VMName> on <ESXName> in <Datacenter>: Could not power on VM : No swap file."
The swap file does still exist and is locked from an obsolete ("hanging") process on same or other ESX server
This error occurs, when a VM is tried to be powered on, while another ESX host still has one or more files open. This can happen after an unsuccessful HA (failover) because of a crash or fault. Even if the following procedure helps, you should try to find the initial problem, since it might be some bigger issue in your HA/DRS!
How to fix this error:
Log in to each (!) ESX-service console and look for a process of your faulty VM still running (your VM-Name in italic):
ESX 2.x and 3.0: ps -ef | grep vm-name
ESX 3.5: ps -efwww | grep vm-name
If you get something like the following, it's the process prohibiting your VM to start:
root 1915 1 0 12:03 ? 00:00:00 /usr/lib/vmware/bin/vmkload_app /usr/lib/vmware/bin/vmware-vmx -ssched.group=host/user -# name=VMware ESX Server;version=3.5.0;licensename=VMware ESX Server;licenseversion=2.0 build-82663; -@ pipe=/tmp/vmhsdaemon-0/vmx69b380c12d811cae; /vmfs/volumes/28620f6e-6be3a1de-5cb1-001eb9c1b11a/vm-name/vm-name.vmx
The above (example!!!) number in bold will be the process ID you might want to kill:
kill -9 pid (where pid is the process ID, 1915 in the example above).
After this, your VM should start.
About the Author
Wim Peeters is electronics engineer with an additional master in IT and over 30 years of experience including time spent in support, development, consulting, training and database administration. Wim has worked with SQL Server since version 6.5. He has developed in C/C++, Java and C# on Windows and Linux in different European countries and different European languages. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform where he is one of the most important contributors and the main developer.