Storage vMotion fails on ESXi 5.5 for VMs with large memory reservation

I was doing some storage migrations and in one of the clusters Storage vMotions failed with a message: Failed to resume destination VM: msg.vmk.status.VMK_MEM_ADMIT_FAILED. 

Relocate virtual machine failed

After closer look I found that all those VMs that failed had a big memory reservations (192GB and 256GB). The ESXi 5.5 host only had 512GB of RAM. I will not go the topic why those reservations were set, but to successfully Storage vMotion those VMs I temporarily removed those reservations. After that Storage vMotion was successful. My guess is that VMWare check during Storage vMotion does the destination host (even though during Storage vMotion destination host was the same as source) has enough resources for this VM and if it does not it will fail the migration.

VM showing 0 bytes used from old datastore after Storage vMotion

Recently I did some VM migrations to new datastores and I ran into a problem. Two VMs were showing that they were still using the old datastore although Used Space column showed that 0 B used. This happens sometimes when VM has CDROM or floppy disks are configured to use some image. But this time it was not the case.

0bytes

After some digging around I found that it was VM log file (vmware.log) that had not moved during Storage vMotion.

To fix the issue I did following:

  1. Shutdown VM
  2. Downloaded the VMX file
  3. Edited the VMX file parameter “vmx.log.filename”. Replaced the existing wrong full path with “./vmware.log”
  4. Uploaded the VMX back to VM folder
  5. Started the VM
  6. Executed another Storage vMotion operation

After the Storage vMotion the old datastore was now released and I was able to decommission it.