Deep Dive into the VMware VMotion

What is VMotion in VMware

 

VMotion is VMware technology which allows you to migrate your live running VM server from 1 physical server to another without any downtime, which allows you to have your server service/applications continuously available. This is very much helpful during your planned activity of your physical server without need of any downtime to the VM server which runs on that physical server which hosts these VM servers.

 

VMotion

 

How does VMotion works?

When you do VMotion of VM, the entire state of VM is encapsulated by a set of files stored in shared storage. The filesystem used in VMware i.e. VMFS (VMware file system) allows multiple ESXi servers to access same set of files concurrently.

 

  • Than the active memory and execution state of VM is rapidly transferred over the high speed network. VMware keeps track of on going memory activity during VMotion activity.

 

 

  • Once the entire system state and memory is copied over the network to other ESXi server, VMotion suspends the VM from current host and transfers the remaining active memory activity and resumes it on the target ESXi server. This entire process takes less than 2 seconds on high speed network.

 

  • VM’s network is also virtualized by the underlying ESXI server which ensures VM’s network identity to be preserved. VMotion manages the virtual machine MAC address as part of the VMotion process and once the VM machines is been resumed VMotion pings the network router to make sure it is aware of the new physical location of MAC address. Since the migration of VM with VMotion preserves the precise execution state, the network state and identity and this results in zero downtime.

 

Hence even users who are continuously working on this VM servers doesn’t seems to see any difference even though at background it is been migrated from one physical ESXI server to another ESXi server.

So this is how VMotion works at the backend.

Feel free to comment and let us know about this blog 🙂

You can also get in touch with me on my email: rajjesh.poojary@gmail.com

 

Leave a Reply

Your email address will not be published. Required fields are marked *