Storage vMotion is a component of VMware vSphere that allows the live migration of a running virtual machine's (VM) file system from one storage system to another, with no downtime for the VM or service disruption for end users. This migration occurs while maintaining data integrity. Storage vMotion is included in the Standard, Enterprise Plus and Platinum editions of vSphere. VMware vCenter is also required.
Storage vMotion is the companion feature to vSphere's vMotion capability, which allows virtual machines to be moved from one physical server to another. Working in tandem, these two vMotion processes ensure that virtual machines are mobile without endangering their operational or data consistency.
How Storage vMotion works
VMware Storage vMotion begins the process by copying the VM's metadata, found in its home directory, to the alternate storage location. Next, the software copies the VM's disk file (Virtual Machine Disk File or VMDK) to the new location using vSphere's Changed Block Tracking (CBT) functionality to preserve data integrity while the replication occurs. Then the CBT module is queried again for a second copy to the new location, but this time only the blocks that have changed since the initial replication was started are copied. This second step persists until both copies are in sync. The VM is then suspended and pointed to the new location of its virtual disk image. Before VMware ESX resumes the VM, the last of the changed regions of the source disk are replicated to the target and the source home directory and disks are removed.
The entire process is unnoticeable to the VM and to end users, although depending on the size of the VMDK and other factors, it can take some time to complete and may have an effect on performance. A Storage vMotion operation may also require significant network resources which can also affect other VMs using the same network.
What Storage vMotion is used for
Storage vMotion has a variety of uses, including as a Migration tool when moving virtual disks off a storage area network (SAN) volume to a newly purchased storage system; as a load balancer to ensure that a VM is getting the storage performance it requires; when taking a SAN down for maintenance; and to move virtual disks from the local ESX Server storage to a SAN.
It can also be used to support a disaster recovery plan by replicating VMs and their associated VMDKs to a remote location, although VMware Site Recovery Manager (SRM) handles disaster recovery in a more automated and transparent fashion.
vSphere 5.1 introduced Enhanced vMotion which moves both the VM and its associated VMDK at the same time.
Automating Storage vMotion
You can invoke Storage vMotion using scripts to automate a series of repetitive processes. One user's example is a PowerShell script that runs through a list of VMs and their associated files, and applies Storage vMotion sequentially to each VM to move it to another storage resource. Many VMware user sites offer other examples of scripts that can make using Storage vMotion less of a manual process.