In our previous post we discussed the first step to migrating to a new virtualization platform: surveying your existing virtualization environment and determining that migrating is not only feasible, but also that it’s a good idea. In this post we’re going to look at the specific steps to migrate the High Availability feature from an existing VMware environment to a new Hyper-V environment.
Unfortunately, there isn’t a one-to-one correspondence between all VMware features and the equivalent features in Hyper-V. In general, the steps to reproduce VMware management features in a Hyper-V environment are:
- Catalog the VMware management feature settings you’re using and how they’re configured at Cluster and individual VM levels.
- Determine the corresponding feature in Hyper-V
- After the VMs are migrated over to Hyper-V, configure the corresponding Hyper-V feature sets by matching them to any VMware specific Cluster or VM settings.
Surveying your VMware environment
The specific details you will need to know about VMware’s High Availability (HA) feature are:
- Create a list of all VMs in the resource Clusters configured for failover.
Especially take note if any VMs have a resource reservation which would need to be available on the new host before they can be migrated to the new server. While you can migrate the VM itself to a new format, the settings for the VM in Hyper-V still need to be configured when the VM is created.
- If you’re using VMware’s Distributed Resource Scheduler (DRS), you may also have affinity rules.
Affinity rules for a VM define preferential hosts or groups of hosts on which the VM can run, while anti-affinity rules define hosts that the VM should not run on. Similarly, VM-VM affinity and anti-affinity rules define whether or not VMs can run on the same host. For example, anti-affinity rules for domain controllers in the same domain ensure that the domain controller VMs are on separate hosts.
Take note of any affinity/anti-affinity settings to use as a guide when setting up your Hyper-V VMs . For more details on DRS Affinity rules, see “Using DRS Affinity Rules” starting on page 86 of the vSphere Resource Management guide.
- vSphere defines three types of host failures:
Failure: Host stops functioning
Isolation: Host not available over network
Partition: Host loses network connectivity with HA master host
In the event of a host failure, VMware HA can be configured to set restart priorities and dependencies for restarting VMs. If a host becomes isolated, you can configure the host to either shut down or power off the VMs, followed by restarting them.
- Also check the VM Monitoring setting in the vSphere VA configuration.
The settings in this section are intended to prevent unnecessary restarts in the event of transient problems, and can be set at the Cluster or VM level.
VM Monitoring sets a failure interval, which is how long it will wait for a heartbeat before determining that an outage has occurred, and a reset period, which is time period in which no more than 3 VM moves due to HA can occur. The default levels for this are:
|Failure Interval||Reset Period
(max of 3 HA moves)
|High||30 seconds||1 hour|
|Medium||60 seconds||24 hours|
|Low||120 seconds||7 days|
Configuring Hyper-V failover
Once you have the details of how HA was configured for VMware, you can create Hyper-V failover Clusters that will provide the equivalent function. The steps to configure this are:
- Add the Failover Cluster role to your Hyper-V hosts.
Hyper-V uses Windows Server Failover Cluster Manager to implement high availability failover, so make sure this Windows server role has been added to your Hyper-V hosts.
- Plan which VMs will be installed on which hosts.
Factor in any resource reservations and affinity settings for the VMs. In Hyper-V the memory reservation is set as the Startup RAM required for the VM, and the processor reservation is set as the processor reserve.
- Plan which Hyper-V hosts will be Clustered together for failover.
Remember that when a VM fails over to a different host, that host must have enough resources for both the startup RAM and the processor reserve for the failed over VMs that it will be hosting. Also keep in mind, as with VMware, Hyper-V will prevent VMs from moving to hosts or attaching to resources for which they have an anti-affinity setting, and will keep two VMs with an anti-affinity setting from residing on the same host. In addition, Hyper-V maintains a list of possible owners and preferred owners for VMs.
- Create and configure Hyper-V Failover Clusters.
Install your VMs on the Hyper-V hosts based on the plans from step #2 and #3. Before moving on to configuring failover, verify that all the VMs not only boot up but also function as well as they did in VMware. If possible, switch to the Hyper-V version of a server for a testing period while retaining the VMware version in the event that a problem is found and you need to revert back to the original VMware VM.
- Use PowerShell to create VM groups
One of Hyper-V’s advantages is that it can be managed through PowerShell cmdlets. You can use PowerShell to add antiaffinity classes to groups which will govern which VM groups can run on the same Hyper-V host.
- Create Failover Clusters
Failover Clusters can be created and managed using the Failover Cluster Manager, available in Server Manager → Tools. Also - as with all other things Hyper-V - Failover Clusters can be managed through Failover Cluster cmdlets.
- Test failover
The Hyper-V Failover Cluster configuration item (4) includes instructions on testing failover - if you run into any problems, start troubleshooting by enabling Windows Error Reporting for Cluster events.
- Adjust host failure and failover sensitivity settings.
The VMware HA configuration settings for how to respond to host failures are node isolation and quarantine settings in Failover Clusters. If you've modified these settings in VMware's HA, adjust them if needed in Failover Clusters.
VMware uses the High/Medium/Low Failure intervals to limit the number of HA failovers on systems with transitory failures. Hyper-v uses virtual machine resiliency to limit the number of Cluster failovers for transitory issues.
Default configurations of HA in VMware will generally work with default settings when you switch to Failover Clusters in Hyper-V. However, any customizations for VMware HA and VMware DRS must be reconfigured in Hyper-V if you want to mimic the VMware environment in Hyper-V.