Windows Server 8 – Truly Live Storage Migration

Beta version of Windows 8 went to live on 29th February. Development team announced that it had reached over 1 million downloads within the first 24 hours. Considering this is a pre-release software, 1 million is an incredible start for Microsoft.

I believe lots of you are still experiencing new features.

Windows Server 8 is in front of us as a most current server operating system. Microsoft is positioning Windows Server 8 as the go-to platform for both public and private cloud scenarios. So most major changes for Windows Server 8 can be explored within Hyper-V 3.0.

In this blog post, I’ll cover about truly live storage migration that is one of the key features of Hyper-V 3.0.

Also I will publish a video version of this article in my next blog post.

Storage migration is one of the new features of Hyper-V 3.0. It helps you to transfer virtual machine VHD (VHDX) and configuration items to a new locations. While Hyper-V gets all bits to a new folder, Virtual Machine continues to run with all functionality.

You can accomplish this task using User Interface or PowerShell. Using PowerShell means we can try different various of actions. For example you can query all your virtual machines that meets specific criteria such as name, disk, CPU etc. and run storage migration for queried VMs.

Before dive in step-by-step, let me explain a little bit about Storage Migration background.

Storage migration is supported for both hard disk files, VHD and VHDX. As all you know VHDX is a new virtual hard drive format shipped with Hyper-V 3.0 and brings lots of new functionalities such as;

  • Supports disks much larger than 2TB (Current VHD restriction)
  • It can be mounted and ejected from Windows Explorer.
  • Larger Block sizes
  • Faster speed than VHD disks
  • Can be convertible to VHD and back to VHDX

Storage migration process creates a new virtual hard disk in the destination directory thereupon user initiates Live Storage Migration through UI or PowerShell.

Important part is during source virtual hard disk read and write operations, newly created operations mirrored to the new virtual hard disk. Reads are occurring from the source, writes are happening to both source and destination.

Then Hyper-V initiates copying virtual disks. If your storage array supports Offloaded Data Transfer, storage migration accelerate itself as taking advantage of ODX technology. Let me explain in more detail about ODX;

Offloaded Data Transfer (ODX) introduces a tokenized operation to move data on the storage device. The source file and destination file can be on the same volume, two different volumes hosted by the same machine, a local volume and a remote volume through SMB2, or two volumes on two different machines through SMB2.

ODX in Windows Server 8 allows handing off operations to the storage system that can perform actions with higher performance.



Once disk copy process is complete, Hyper-V switch VM to run on destination virtual hard disk. In case of a failure on destination side, there is always fail back option to run back again on source directory. And finally deletes source VHDs.

Now lets take a look how to initiate Live Storage Migration.

First, open your Windows Server 8 Hyper-V Manager and navigate related virtual machine.


In my lab environment there is only one single Windows 8 Virtual Machine.

On the right action pane click Move.


Move Wizard will ask you to choose Move Type.


Choose between “Live Migration” or “Storage Migration”. As you know, Live migration moves virtual machine and its related items to another computer running Hyper-V.

In this case, we just want to simulate storage migration.


There are three different choices on Move Options page.

Move all of the virtual machine’s data to a single location: Choose this option to specify one single destination location for all VM items such as disk file, configuration, snapshot, smart paging.

Move the virtual machine’s data to a different locations: This option lets you to specify individual locations for each VM item.

Move only the virtual machine’s virtual hard disk: Moves only virtual hard disk file.


That’s a screenshot from “Move the virtual machine’s data to a different locations” option. As you already notice you can move VM items individually.


And this is from “Move only the virtual machine’s virtual hard disk:” option. Only choice is virtual machine disk file.

Lets move with option 1.


Specify destination location for the VM. Be aware about available disk space on destination folder. For demo purposes, I choose one of my local disks.


Preparing to move.


To show you that this is a true live storage migration, I started a ping command within Windows 8 Client (VM) that will run through migration process.


You can also track migration process within Hyper-V console.


If you locate destination folder through windows explorer, you will notice newly created snapshot and configuration files. Also virtual hard disk file bits are growing.


It’s almost finished.


And Hyper-V deletes source folder items. During migration process, Windows 8 Virtual Machine was fully reachable and live.


And that is the new Virtual Hard Disk location.


Anıl Erduran..