vSphere vMotion Unified Data Transport
vSphere vMotion is blazing fast and can migrate the running state of virtual machines from one ESXi host to another in seconds. vSphere Storage vMotion of powered-on virtual machines is also extremely fast because it uses the same optimized vMotion protocol.
But what about migrating powered off virtual machines? If you've ever migrated a powered off virtual machine with a large disk size from one datastore to another, you probably have noticed it taking a significant time. This is because when a virtual machine is powered off, the Network File Copy (NFC) protocol is used. The same is true for disks with snapshots when a VM is powered on. The non-active disks will be transferred using NFC. NFC is magnitudes slower than vSphere vMotion.
Introducing Unified Data Transport
To solve this problem, we introduce a new protocol called Unified Data Transport (UDT) in vSphere 8. In a nutshell, UDT combines the best of the NFC and vSphere vMotion protocols. First, let's compare the existing NFC and vSphere vMotion protocols.
|Network File Copy (NFC)||vSphere vMotion|
|Single threaded process||Highly optimized multi-threaded process|
|Synchronous I/O||Asynchronous I/O|
|Peak performance 1.3 Gbps||Peak performance 80Gbps|
As you can see, the vSphere vMotion protocol has dramatically increased performance when compared to NFC. It's important to note that other factors in the environment, such as network bandwidth and disk read/write speeds, will impact your peak performance. The values shown in the comparison table are maximum values.
Unified Data Transport (UDT) uses NFC as a control channel but offloads the data transfer to the vSphere vMotion protocol to benefit from the substantially greater performance and throughput.
Activate Unified Data Transport
To start using UDT, all you need to do is activate the provisioning service on a vmkernel interface. This could be a new vmkernel interface or an existing interface, for example, one already configured for vSphere vMotion.
Fig 4 shows the vmkernel interface enabled services.
Note: When using a dedicate TCP/IP stack for vMotion you cannot activate the provisioning service on the same vmkernel interface. You must create or use a different vmkernel interface.
In this demo video, we will compare a powered-off storage migration of a virtual machine without UDT and also with UDT to showcase the clear difference in performance.