In my last blog, I touched on the enhancements to DRS in vSphere 7. In this blog, I will cover what is new in vSphere 7 with vMotion, which has always been an important component of vSphere. vMotion (aka live-migrate as most of you know it) allows for the movement of virtual machines from one ESXi host to a new ESXi host destination. There have been many enhancements to vMotion through the years, as new versions of vSphere have been released. The new vSphere 7 vMotion has performance improvements and stun enhancements.
Breaking down vMotion to its most basic task, involves copying memory blocks from the source ESXi host to the destination ESXi host. It does this by first copying blocks that have become static (haven’t been changed in a while) then it works on memory blocks that are rapidly changing by going through copy loops until all the blocks have been copied, at which point it completes the vMotion and begins running the VM on the destination host.
The most noteworthy vMotion performance improvements are specifically for large VMs that customers may have been hesitant to move during production hours. VMware claims you can now migrate them, without taking a performance hit, or at least with very little impact on performance. vMotion in vSphere 7 does this by stopping one vCPU instead of stopping all vCPUs during the initial copy. VMware claims this has a big performance improvement.
The stun feature has been around since vSphere 4, and allows for the VM to be stunned very briefly while hot pages are moved from the source to destination host. It is used in conjunction with vMotion if needed. The stun feature only runs when a VM is migrating lots of busy blocks.
vMotion Under the Hood
Below are the steps vMotion takes to copy blocks. Again, the main work being done is that VMware is copying blocks from the source host to the destination host. The memory copy occurs in steps 3 and 4.
- Initiate vMotion
- Stop one vCPU (instead all vCPUs as with previous versions)
- Set PTE (page table entries) to read-only access
- Flush TLB on each vCPU (each is done at difference times)
vSphere 7 offers a variety of new features and enhancements. In this blog, we focused vMotion improvements for large VMs. In future blogs in this series, we will examine other vSphere 7 features and enhancements, so check back soon.