When attempting a live migration (vMotion) of a Virtual Machine between ESXi hosts, the task encounters the following behavior:
The progress bar consistently stalls and fails at 21%.
The error message: "The vMotion migrations failed because the ESXi hosts were not able to connect over the vMotion network."
Standard vmkping commands between hosts are successful.
The migration succeeds if the VM is powered off (Cold Migration).
Cannot migrate <VM_inventory_name> from <source_hostname> , <source_datastore_name> in <datacenter_name> to <target_hostname>, <target_datastore_name> in <datacenter_name>Event Type Description:Failed to migrate the virtual machine for reasons described in the event messagePossible Causes:The virtual machine did not migrate. This condition can occur if vMotion IPs are not configured, the source and destination hosts are not accessible, and so on. Action: Check the reason in the event message to find the cause of the failure. Ensure that the vMotion IPs are configured on source and destination hosts, the hosts are accessible, and so on.
VMware vCenter Server
VMware ESXi
The failure at the 21% mark is a definitive indicator of an MTU (Maximum Transmission Unit) Mismatch.
While initial handshake and memory pre-copy use standard packet sizes, the bulk data transfer phase (which triggers at 21%) utilizes the maximum configured MTU. If the ESXi VMkernel ports are configured for Jumbo Frames (9000 MTU) but the intermediate physical switch is not configured to allow frames of that size, the large packets are dropped.
To restore vMotion functionality, the MTU must be consistent across the entire network path.
Navigate to Host > Configure > Networking > VMkernel adapters.
Select the vMotion adapter and click Edit.
Change the MTU from 9000 to 1500.
Repeat for all hosts in the cluster.
For performance benefits it is recommended to use Jumbo Frames. Involve customer's network team to update Jumbo frame (MTU 9000) on physical switch side.
After applying the resolution, verify connectivity using the following command from the ESXi CLI:
vmkping -I vmk# -S vmotion -d -s 1472 <destination_IP> For Option 2:
vmkping -I vmk# -S vmotion -d -s 8972 <destination_IP>