How does Storage Migration actually work? – as explained in Virtual PC Guy’s Blog – MSDN Blogs

How does Storage Migration actually work? – Virtual PC Guy’s Blog – Site Home – MSDN Blogs.


How does Storage Migration (in Windows Server 2012) actually work?

The process followed by Hyper-V internally to perform a storage migration is actually quite simple to explain (though obviously quite tricky to actually make work in code) and is as follows:

Step 1: We start with a virtual machine that is reading and writing to a virtual hard disk file (.VHDX in the diagram, but storage migration is supported for both .VHDX and .VHD files).


Step 2: After the user selects to perform a storage migration, we immediately create a new virtual hard disk in the requested destination.  We continue to read and write to the source virtual hard disk – but any new write operations are also mirrored to the new virtual hard disk.


Step 3: We perform a single single pass operation to copy the data from the source virtual hard disk to the destination virtual hard disk.  While this copy is happening we still continue to mirror writes to both disks.  We also keep track of uncopied blocks that have already been updated through a mirrored write – and make sure to not needlessly copy that data again.


Step 4: Once the copy operation is complete – we switch the virtual machine to be running only on the destination virtual hard disk.


Step 5: We delete the source virtual hard disk and the migration is now complete.


One important note to make here – we are very careful to not delete the source virtual hard disk until after the virtual machine is successfully running on the destination virtual hard disk.  This way if there is an error at any point in the storage migration – we can always fail back to running off of the source virtual hard disk.


What is hostd and vpxa ?

hostd is an app that runs in the Service Console that is responsible for managing most of the operations on the ESX machine.  It knows about all the VMs that are registered on that host, the luns/vmfs volumes visible by the host, what the VMs are doing, etc.  Most all commands or operations come down from VC through it.  i.e, powering on a VM, VM vMotion, VM creation, etc.

vpxa also runs on the Service Console and talks to VC.  I believe it acts as an intermediary between VC and hostd. I think it also does some housekeeping on the ESX host, but not as much as hostd.

Courtesy :


Vmware hostd and vpxa on ESXi 5.X


The vmware-hostd management service is the main communication channel between ESX/ESXi hosts and VMkernel. If vmware-hostd fails, ESX/ESXi hosts disconnects from vCenter Server/VirtualCenter and cannot be managed, even if you try to connect to the ESX/ESXi host directly. It knows about all the VMs that are registered on that host, the luns/vmfs volumes visible by the host, what the VMs are doing, etc. Most all commands or operations come down from VC through it. i.e, powering on a VM, VM vMotion, VM creation, etc.

Restart the management agent

/etc/init.d/hostd restart


It acts as an intermediary between VC and hostd. The vCenter Server Agent, also referred to as vpxa or the vmware-vpxa service, is what allows a vCenter Server to connect to a ESX host. Specifically, vpxa is the communication conduit to the hostd, which in turn communicates to the ESX kernel.

Restart the vpxa service

/etc/init.d/vpxa restart

Note:- If you have SSH enabled on your ESXi server these services can also be restarted and even if these are restarted by you then also your SSH session will not be impacted.

VPXD-It is Vcenter Server Service. If this service is stopped then we will not able to connect to Vcenter Server via Vsphere client.

VPXA-It is the agent of Vcenter server. also known as mini vcenter server which is installed on the each esx server which is managed by Vcenter server. What are the management action we are performing on top of the vcenter server. (Like:- Increasing/Decreasing RAM & HDD, Making any type of changes in cluster, doing vmotion. This agent collects all information from the vcenter server and pass this information to the kernal of the esx server.

HOSTD- This is the agent of ESX server, here VPXA pass the information to the HOSTD and hostd pass the information to ESX server.

In ESX, you have only hostd and (if you have vCenter) vpxa.

These are daemon (services) for remote management:

  • hostd is used to remote management using VIC
  • vpxa is used by vCenter (the vpxd part of vCenter) to remote manament

hostd is the daemon for direct VIC connection (when you use Virtual Infra Client (VIC) to connect to your ESX).


  • vpxa is the VC agent (ESX side)
  • vpxd is the VC daemon (VC side)

What do ESX and ESXi stand for?

After a little web searching, I found this article on acronyms on Yellow-Bricks which reveals the little known/cared about story of many terms in VMware’s world of virtualization. There is also this link to a video interview with Mike DiPetrillo which goes more in to this matter.


As VMware old-timer Mike Di Petrillo tells us, the first hypervisor versions were named by a marketing firm as:

Elastic Sky

Ground Storm

The engineers did not seem to like it and after a vote from the engineers they dropped the long names and retained the initials and added the X to make it sound technical. Hence, the next versions of hypervisors were named:

ESX stands for Elastic Sky  X

GSX stands for Ground Storm X


Apparently, the “i” in ESXi stands for Integrated, probably coming from the fact that this version of ESX can be embedded in a small bit of flash memory on the server hardware.  In this manner, we can treat server hardware almost like a hot-swap commodity; just another node.

VMware vSphere Hypervisor

To confuse things further, VMware now offers the free VMware vSphere Hypervisor  (intended to replace the “free-ESXi”, and separate from ESX/ESXi, which are Enterprise-class hypervisors). For more info, see this FAQ from the VMware website for  VMware vSphere Hypervisor.

What is the difference between VMware ESXi and VMware vSphere Hypervisor?
VMware vSphere Hypervisor is the new name for what was formerly known as VMware ESXi Single Server or free ESXi (often abbreviated to simply “VMware ESXi”). VMware vSphere Hypervisor is the free edition of the vSphere production line. It is licensed to only unlock the hypervisor functionality of vSphere, but it can be seamlessly upgraded to more advanced offerings of VMware vSphere. VMware vSphere is available in multiple editions, including several options specifically designed for small businesses.