I decided to write this post because I have heard many times that vMotion is not possible without shared storage. vMotion (known as Enhanced vMotion) is supported and possible to be done without shared storage since vSphere 5.1. This vMotion is a combination of vMotion and Storage vMotion!
I understand that within a long time, one of the most crucial vMotion requirement was shared storage (the source/destination vSphere hosts had to have access to the same datastore) and still this practice persists today. Also there are many VMware environments based on vSphere 5.0 where vMotion is supported only with shared storage.
When to use vMotion without shared storage? For example for performing cross-cluster migrations, when the target cluster machines might not have access (this is a best practice) to the source cluster's storage.
Of course, there are still some strict requirements such CPU Compatibility (e.g. vMotion between Intel and AMD is not supported) or when you move a virtual machine with RDMs and do not convert those RDMs to VMDKs, the destination host must have access to the RDM LUNs.
For me, there are some important vMotion limitations yet (included vSphere 5.5 U2):
- vMotion is not supported across vCenter servers
- vMotion for Long-Distance supports only 10ms latency
There are some possibilities to speed up/accelerate vMotion. For more information please follow my another post: How to accelerate/speed up vMotion?.
NOTE: To be able to run vMotion without shared storage, you need to use WebClient.