In this blog I would like to talk about the new Hyper-V feature in Windows Server 2012, Shared Nothing Live Migration. With this feature Hyper-V servers can exchange virtual machines, without any downtime, without the need of shared storage. Only requirements are a shared network cable and both Hyper-V Servers need to be part of the same Active Directory (AD) domain.
Shared-nothing live migration is the most extreme type of zero-downtime migration. However, there are other types of zero-downtime migration, such as storing VMs on an SMB file share that both Hyper-V hosts can access. This approach transfers memory and device state over the network, without moving the storage. And there is still live migration within a failover cluster, which can use shared SAN-based storage through the CSV file system (CSVFS).
Check these videos from the Microsoft Acadamy;
Live Migration of Virtual Machines with Nothing Shared
Live Migration of Virtual Machines using SMB File Share to store Virtual Machine Files
Live Migration between Clusters
Of course, even in a shared-nothing scenario, there is still a shared physical network fabric and a dependence on the VM IP configuration during the move. This is where another Server 2012 feature, Network Virtualization, can open up a world in which VMs can be moved between any hosts in different locations without changing the networking configuration of the VM OS.
Troubleshooting Live Migration
The following steps should help you troubleshoot any hiccups that you might experience:
-
Check the Event Viewer (Applications and Services Logs > Microsoft > Windows > Hyper-V-VMMW > Admin) for detailed messages.
-
The servers must be able to communicate. Check network connectivity and the target and source server need to be resolvable by DNS. PING, IPCONFIG can be the tools to check this.
-
Run the following PowerShell command in an elevated session, to show IP addresses that are being used for a server.
gwmi -n root\virtualization\v2 Msvm_VirtualSystemMigrationService | select MigrationServiceListenerIPAddressList