Dell™ High Availability Solutions Guide for Microsoft® Hyper-V™ w w w. d e l l . c o m | s u p p o r t . d e l l .
Notes and Cautions NOTE: A NOTE indicates important information that helps you make better use of your computer. CAUTION: A CAUTION indicates potential damage to hardware or loss of data if instructions are not followed. ____________________ Information in this document is subject to change without notice. © 2008 Dell Inc. All rights reserved. Reproduction of these materials in any manner whatsoever without the written permission of Dell Inc. is strictly forbidden.
Contents 1 2 Getting Started with High Availability . . . . . . . . . . . . . . . . . . . . . . . . Clustering Implementations for High Availability . . . . . . . . . . . . . . . . . . . . . . . . 9 Hyper-V Guest Clustering . . . . . . . . . . . . . . . . . 9 Hyper-V Host Clustering . . . . . . . . . . . . . . . . . Planned and Unplanned Failover (Host Cluster Model Only) . . . . . . . . . . . . . . . . Planned Failover (Quick Migration) . . . . . . . .
Network Configuration. . . . . . . . . . . . . . . . . . Cluster Network Types . . . . . . . . . . . . . . . Best Practice Recommendations . Recommended Configurations . 26 . . . . . . . . . . . . . 26 . . . . . . Design for Fiber Channel Configurations . Design for Direct-Attach SAS Configurations . . . . . . . . 29 . . . . . . . . . . . 31 Microsoft KB951308 QFE for Hyper-V Host Clusters . . . . . . . . . . . . . . . . . . . 33 . . . . . . . 34 Implementing High Availability in Hyper-V .
Administering High Availability for Hyper-V . . . . . . . . . . . . . . . . Changing the configuration of HA VMs . . . . . . . . 45 . . . . . . . . 45 For Configuring Changes that Impact the VM's HW Profile . . . . . . . . . . . . . . . . . . For Configuring Changes that DO NOT Impact the VM's HW Profile . . . . . . . . . . . . . . 45 . . 46 . . . . . . . . . 46 Sharing LUNs Between HA VMs . . . . . . . . . . . . 47 HA VM Resource Group Names . . . . . . . . . . . . .
C Hyper-V Host Clustering Data Template . . . . . . . . . . . . . . . . D References . Glossary 6 Contents . . . . . . . . 57 . . . . . . . . . . . . . . . . . . . . . . 59 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Getting Started with High Availability 1 High Availability (HA) solutions are not new to Windows® environments. Microsoft® has offered native support for HA through its Cluster Services in Windows 2000 and Windows Server® 2003, and with the Windows Failover Clustering feature in Windows Server 2008. Failover clustering reduces the possibility that any single point of failure in your virtualization environment will cause your workloads to become unavailable.
Getting Started with High Availability
2 Clustering Implementations for High Availability Hyper-V HA implementations can broadly be categorized into Hyper-V Guest Clustering and Hyper-V Host Clustering. The differences in the two types are based on where the clustering service is running and what the clustering service is managing. Hyper-V Guest Clustering In a Guest Cluster implementation, the clustering service runs on the guest operating system in the virtual machine.
Figure 2-1. Hyper-V Guest Clustering Within a Single Physical Server In Figure 2-1, virtual machines A and B are running on the same server. In this scenario, the workloads being managed by the clustering service in the guest operating systems in the VMs will not survive a physical server outage or a crash of the parent partition.
Figure 2-2. Hyper-V Guest Clustering Across Two Standalone Physical Servers In Figure 2-2 above, the clustered virtual machines A and B are running on different physical servers. In this scenario, the workloads being managed by the clustering software within the VMs are able to offer continued service even in the case of an unplanned physical server downtime or parent partition outage.
Because configuring clustering within the guest OSes in the VMs is no different than configuring clustering on physical servers that are not virtualized, this solutions guide does not discuss this model any further. For more information, refer to the documentation for the guest operating system. Hyper-V Host Clustering In this implementation, the Hyper-V host servers are clustered by leveraging the Windows Failover Clustering feature in Windows Server 2008 x64 editions.
require clustering capabilities in the guest operating systems in the VMs. The only requirement is that all the virtual machine files are on storage accessible by all the physical servers that are part of the cluster. In this document, we will refer to VMs managed by the cluster for high availability as "HA VMs". Hyper-V Host Clustering is the recommended mechanism to implement HA in a Hyper-V environment.
Planned Failover (Quick Migration) To accommodate the planned downtime of a server, the administrator can choose to move all the VMs from that server to the other servers in the HyperV Host Cluster.
Figure 2-5. Hyper-V Host Cluster after Migrating This save and restore operation ensures that the state of the VM is retained during the migration process. The guest operating system is unaware of this VM save and restore process: the guest OS is "frozen" during the migration period. Microsoft calls this capability to migrate VMs across physical servers "Quick Migration". Even though there is no loss of state or data during this process, it is not a "Live" migration process.
amount of memory being used by the guest OS is not the same as the amount allocated to the virtual machine. Unless the virtual machine is running a very memory intensive workload, the memory utilized is usually much less than the memory allocated to the VM.
retained and there is possibility for data loss. To the guest operating system, this is similar to an unexpected restart of the operating system. However, the failover of VMs is automatically handled by the cluster service, and workloads running within the VMs are back online in a short period of time. Here is a high-level workflow of the unplanned failover scenario: 1 A node in the Hyper-V Host Cluster configuration fails.
Figure 2-7. Hyper-V Host Cluster after One Server Fails Unlike in the case of a planned failover where the administrator chooses a specific destination node for the VMs, in an unplanned scenario the cluster service will choose the appropriate destination server to move the VMs to. If a specific cluster node is found to not have sufficient resources such as CPU or memory to host the VMs, the cluster service will attempt to start the VM on another available node in the cluster.
Comparison of Guest and Host Clustering Table 2-1 highlights the key differences between Hyper-V Guest Clustering and Hyper- V Host Clustering. Table 2-1.
Table 2-1. Comparison of Guest and Host Clustering (continued) Category Hyper-V Guest Clustering Hyper-V Host Clustering Application support Workloads within the VM must be cluster-aware Workloads within VMs do not have to be clusteraware Maximum number of physical servers in the cluster No direct dependency on Maximum of 16 physical physical servers. servers in a single cluster Limitations may apply configuration based on the configuration.
Designing for High Availability 3 Planning and designing is a very crucial step in ensuring a highly available environment that also provides the most isolation and best performance for the HA solution. This section provides guidance on a few of the key scenarios in failover cluster configuration. Node and Disk Majority versus Node Majority Cluster Configuration As mentioned earlier, Hyper-V is dependent on the Failover Clustering feature to provide HA capabilities.
Table 3-1.
• In unplanned migration scenarios, this might be a factor depending on the resource requirements for all the HA VMs that share a LUN. If the cluster service is unable to successfully bring all the HA VMs (that share the single LUN) online on another node, it will retry on all other available cluster nodes.
Table 3-3.
NOTE: These network types are defined by the Windows Failover Clustering feature in Windows Server 2008 and are not related to the Hyper-V network types that are defined in the Dell Networking Solutions Guide for Microsoft Hyper-V. In a recommended configuration, every node of a typical Hyper-V Host Cluster should have dedicated network ports for the following: Table 3-4.
Best Practice Recommendations • Static IP addresses should be used for networks — especially the Cluster Private, Cluster Public, Parent Partition, and any iSCSI Storage networks. • Ensure that the Cluster Private network is on a separate subnet than all other networks on the Hyper-V hosts. It is recommended that each network type in Table 3-4 is on a separate subnet.
Dell offers a wide array of servers that have been specifically built with the goal of being able to host virtualized workloads. These servers offer support for large amounts of physical memory, large numbers of I/O slots for both network and storage, and a minimal power footprint. For a full list of servers that Dell recommends for virtualization, go to www.dell.com/servers.
Figure 3-1.
Design for Fiber Channel Configurations Table 3-6 summarizes the recommended network requirements for a Fiber Channel based configuration for a Hyper-V Host Cluster: Table 3-6.
Figure 3-2.
Design for Direct-Attach SAS Configurations Table 3-7 summarizes the recommended network requirements for a DirectAttach SAS-based configuration for a Hyper-V Host Cluster. It is important to note that this is only guidance, and actual deployment configuration will vary based on the existing infrastructure. Table 3-7.
Figure 3-3. SAS-Based Hyper-V Host Cluster Configuration NOTE: Even though it is possible to configure a 4-node Hyper-V Host Cluster with a Dell MD3000 SAS Storage Array, Dell recommends only a 2-node Hyper-V Host Cluster with the MD3000 SAS Array. This is to ensure that the configuration is more reliable. In a 4-node configuration, there is only one path from any one node to the storage array and that does not provide multi-path resiliency for the solution.
Integration between Hyper-V and Windows Failover Clustering As mentioned earlier, Hyper-V HA is implemented by leveraging the Windows Failover Clustering feature in Windows Server 2008. A high level knowledge of Failover Clustering is essential for implementing and managing a Hyper-V Host Cluster environment. Refer to http://www.microsoft.com/windowsserver2008/en/us/clustering-overview.aspx for an overview of the Failover Clustering feature.
to the administrator.
4 Implementing High Availability in Hyper-V This section covers the procedures for implementing High Availability in Microsoft Hyper-V. This document only provides high level guidance. For detailed instructions, please refer to Failover Clustering in Windows Server 2008 at www.microsoft.com/windowsserver2008/failover-clusters.mspx.
4 Make sure that all the devices on the server have the latest supported drivers from http://support.dell.com. Download the device drivers for Windows Server 2008 x64. NOTE: Dell does not support device drivers that are downloaded from 3rd party vendors. Only use drivers from http://support.dell.com. 5 Configure the network connections and storage connections as planned. NOTE: Make sure that the appropriate MPIO software for the storage array has been installed on the nodes.
the cluster should have a Virtual Network with the name TestNetwork. If not, when a HA VM fails over to a system that does not have a Virtual Network with that name, the VM will not have network connectivity. In such a scenario, the network connectivity will have to be enabled by manually configuring the virtual network for the HA VM. Creating Virtual Machines that will be HA VMs This section discusses the steps to configure a new virtual machine that will be made into an HA VM.
NOTE: The LUN may be in offline state at this time on all the hosts. – If the LUN will be used as a passthrough disk for the VM, make sure to bring the LUN Online on any one cluster node, Initialize it, and then take it Offline. – If the LUN will host the VM's VHD file, bring the disk Online on any one cluster node, Initialize it, and Format it as NTFS.
7 In the Specify Name and Location screen of the New Virtual Machine wizard, select Store the virtual machine in a different location and specify the path to the shared storage disk that will host the virtual machine files (XML/BIN/VSV). NOTE: If the VM's boot disk will be a passthrough disk, the VM's files (XML/BIN/VSV) can either be on another shared storage LUN or a file share. See "Using SMB/CIFS Shares in Hyper-V" on page 53 for more information on file shares.
4 When prompted by the wizard, choose Virtual Machine as the resource type and the wizard will automatically list all the VMs that meets the basic requirements for an HA VM. NOTE: If a specific VM is not listed here, make sure that VM has met all the pre-requisites for HA VMs. 5 Select the appropriate VM and proceed with the configuration. 6 Upon completion, the High Availability wizard also generates a report of the HA VM configuration that needs to be reviewed to make sure there were no issues.
3 Select a target node and the HA VM will be migrated to and started on the target node automatically. Hyper-V Host Clusters on Server Core Windows Server 2008 offers a new installation option called Server Core that has a smaller footprint installation on the operating system.
3 Install the Hyper-V RTM update (KB950050 from the Microsoft website) for Windows Server 2008 x64 Editions. Note that the update is the same for Full and Server Core installations. 4 Install the Failover Clustering QFE 951308 (KB951308 from the Microsoft website) on Server Core. The QFE bits are the same for Full and Server Core installations. Make sure to download the x64 version of the QFE.
5 Proceed with the installation of the selected features. 6 After installation is complete, these consoles are available under Administrative Tools. Remote management from Windows Vista 1 Install the Remote Server Administration Tools (RSAT) for Windows Vista available for download from the Microsoft website. Separate packages are available for the x86 and x64 versions of Vista.
Implementing High Availability in Hyper-V
5 Administering High Availability for Hyper-V This section provides guidance on the common administrative tasks to manage HA VMs in a Hyper-V Host Cluster environment. Changing the configuration of HA VMs NOTE: The QFE in Microsoft KB951308 is required for the functionality described in this section. For more information, see "Microsoft KB951308 QFE for Hyper-V Host Clusters" on page 34. Changes to a virtual machine configuration may or may not involve changing the hardware profile of the VM.
For Configuring Changes that DO NOT Impact the VM's HW Profile These are the changes that can be done when the VM is running. Examples of this type of change include changing the virtual network that a virtual network adapter is connected to, changing the media type that is attached to a VM's DVD drive, etc. The Failover Cluster Management console provides an option on the right side Actions panel to Refresh virtual machine configuration for HA VMs.
Ownership of HA resources can be verified using the Failover Cluster console. Check the Resource Groups listed under Services and Applications to verify ownership of HA VMs and check the Storage section to verify ownership of disk resources. If the physical disk resource listed under Available Storage and the virtual machine resource are owned by separate nodes, either of the resources needs to be moved so that they are both on the same node.
2 Create a new VM, for example HA-VM2, and place its VHD file on the same storage LUN that was used by HA-VM1. 3 Use the Windows Failover Cluster console to make HA-VM2 also an HA VM. 4 The failover cluster service will automatically add HA-VM2 into the existing Resource Group. HA VM Resource Group Names By default, the cluster resource groups for HA VMs are created with generic names such as "Virtual Machine (1)" and does not inherit the names of the VMs.
Setting Host Preferences for HA VMs This capability in Failover Clustering allows the administrator to specify the order of preference for cluster nodes that will host an HA VM. To set host preferences at a resource group level: 1 Open the Failover Clustering console, select Services and Applications, and right-click the Resource Group that hosts the HA VM. 2 Select the General tab and set the order of preferences in the Preferred Owners list.
files have to be moved from the current location to storage LUN(s) that can be made cluster resources. The recommended mechanism to move VM files is to use the Export/Import functionality in Hyper-V. 1 Provision a new storage LUN, bring the disk Online on any one cluster node, Initialize it, and Format it as NTFS. 2 Use the Failover Cluster Management console to make this storage LUN a cluster resource. Make sure that this LUN is listed under Storage→Available Storage.
4 From the Hyper-V Manager console, choose to Import the virtual machine from the location it was exported to in Step 2. NOTE: If the resource group of an HA VM is deleted prior to exporting the VM files as recommended above, Hyper-V Manager will de-register the VM and the VM will not be listed on the console even though the files are still available on the disk. There is no mechanism to re-register the VM.
Administering High Availability for Hyper-V
A Using SMB/CIFS Shares in Hyper-V Hyper-V allows the use of SMB/CIFS shares (file shares) to host VM resources such as ISO files or VHDs. Use of SMB/CIFS shares is not recommended due to the performance limitations but there may be certain scenarios that might benefit from their use.
• 54 Grant the appropriate permissions for the domain "Machine" account of all the Hyper-V hosts that are part of the Hyper-V Host Cluster: – The domain machine accounts (such as DOMAIN\COMPUTERNAME$) of all Hyper-V cluster nodes are granted Full Control in the Share permissions of the shared folder – The domain machine accounts of all Hyper-V cluster nodes are granted Full Control in the Security settings for the shared folder and all its files • In certain scenarios (such as remotely managing a Hyp
Using Mount Points in Hyper-V B Failover Clustering in Windows Server 2008 allows a single cluster with up to 16 nodes. Therefore, you can have a single Hyper-V Host Cluster configuration across up to 16 servers. As shown in Figure B-1, one of the most common mechanisms to provision virtual disks to virtual machines is via VHD files created on a formatted volume on a storage disk mounted in the parent partition with a drive letter. Figure B-1.
Figure B-2. Typical VHD configuration on storage disk configured with a mount point In Figure B-2, LUN A is not assigned a separate drive letter in the parent partition, but is instead provisioned in the parent partition using the mount point C:\StorageDisk1. For specific step-by-step information on configuring mount points, refer to Microsoft documentation at http://support.microsoft.com/kb/947021.
Hyper-V Host Clustering Data Template C The templates below provides guidance for data sheets that may be created to record information on the Hyper-V Host Cluster deployment. Note that the sample information within the tables are only for guidance. Table C-1. Hyper-V Host Cluster Summary Cluster Information Cluster Solution Hyper-V Host Cluster Name Hyper-V Host Cluster IP Address VM Workload Type Location Notes Table C-2.
Table C-3. Hyper-V Host Cluster Network Node Name Physical NIC Info Type IP Address LOM #1 Host Management NIC & Cluster Public LOM #2 Hyper-V Virtual Network NIC #1 Hyper-V Virtual Network NIC #2 iSCSI Storage NIC NIC #3 Cluster Private NIC #4 iSCSI Storage NIC Table C-4.
D References • • Dell Solutions for Windows Server 2008 Hyper-V at www.dell.com/hyper-v – Dell Virtualization Solutions Advisor Tool – Dell Solutions Overview Guide for Microsoft Hyper-V – Dell Networking Solutions Guide for Microsoft Hyper-V – Dell Storage Solutions Guide for Microsoft Hyper-V – Dell Virtualization Reference Architecture for Microsoft Hyper-V Dell High Availability Cluster Solutions documentation at http://docs.us.dell.
References
Glossary F A I L O V E R C L U S T E R I N G C O N S O L E — The Microsoft Management Console (MMC) used to manage the Failover Clustering feature (cluadmin.msc) in Windows Server 2008. HA VM — A VM that has been configured as a Windows Failover Cluster resource. H Y P E R - V C L U S T E R N O D E S — Windows Server 2008 servers that have the Hyper-V role configured and are part of a failover cluster.
Glossary