There are three main options for integrating server virtualization and high availability:
•Failover clustering of virtual machines. Hyper-V enables the option to create a failover cluster, and then configure a virtual machine as a clustered application. With this option, when a node in the cluster needs to shut down, the virtual machine is moved to another node in the cluster, either manual, or through automatic failover.
•Virtual machine or guest clustering. You can also create a failover cluster where the virtual machines operate as the cluster nodes. For example, you can create a failover cluster with two virtual machines, and then install a clustered Exchange Server 2007 mailbox server in the cluster. This level of clustering protects against individual virtual machines failures.
•Network Load Balancing. You can also configure NLB clusters for Web based applications. These clusters provide load balancing for the applications, as well as high availability if one of the virtual machines fails.
Guest failover clusters work just like physical server failover cluster except that the cluster nodes are virtual machines rather than physical servers. To implement failover clusters, you need:
•An iSCSI connection from the virtual machines to the shared storage
•A network connection between the two virtual machines. This network connection could be a private network if both virtual machines are on the same host, or an external network if the virtual machines are on different hosts.
•A network connection used by clients to connect to the virtual machines.
•A cluster-aware application that is deployed on the virtual machines.
There are several factors that you should consider when implementing guest clustering:
•The application or service must be failover cluster aware. You can run the same applications or services in a virtual machine failover cluster as you can in a physical machine cluster. You can also run applications such as clustered SQL Server and Exchange Server in the failover cluster.
•Hyper-V virtual machines cannot use fiber channel based connections to shared storage. Therefore, you must implement iSCSI connections from the virtual machines to the shared storage.
•You should deploy multiple network adapters on the host computers and the virtual machines. Ideally, you should dedicate a network connection to the iSCSI connection, to the private network between the hosts, and to the network connection used by client computers.
•You can enable guest clustering with failover clustering. For example, you could create two virtual machines that are both deployed on a failover cluster, and then create a guest cluster using the two virtual machines.
•In a guest cluster deployment, if you have the required infrastructure, you can use any of the Windows Server 2008 quorum modes.
NLB works with virtual machines the same way that it works with physical hosts. When you configure a NLB cluster, you must install and configure the application on both virtual machines. After configuring the application, you install the network load balancing feature in Windows Server 2008 and configure a NLB cluster for the application.
Network load balancing distributes IP traffic to multiple instances of a TCP/IP service, such as a Web server, each running on a host within the cluster. Network load balancing transparently distributes the client requests among the hosts and enables the clients to access the cluster using one or more virtual IP addresses. From the client’s point of view, the cluster appears to be a single server that answers these client requests. As enterprise traffic increases, you can simply plug another server into the cluster.
For example, clustered hosts work together to service network traffic from the Internet. Each server runs a copy of an IP-based service, such as Internet Information Services 7.0 (IIS), and network load balancing distributes the workload among them. This speeds up normal processing so that Internet clients receive faster turnaround on their requests.
When you configure a failover cluster of a virtual machine, the virtual machine becomes the application that can be moved from one node to another. To implement failover clustering of virtual machines, you need to:
•Create a failover cluster using two or more Hyper-V hosts.
•Configure the required networks and access to the shared storage. Because the host computers, not the virtual machines, are accessing the shared storage, you can use any type of shared storage that is supported by Windows Server 2008 failover clusters.
•Store the virtual machine hard disks and configuration information on shared storage. All virtual machine information must be accessible to both nodes in the failover cluster.
•In Failover Cluster Administrator, configure the Hyper-V virtual machine as a clustered application.
If the administrator manually forces a virtual machine failover, or if one of the nodes in the cluster is no longer available, the clustered virtual machine automatically moves to another host.
For example, during a planned downtime for server maintenance, the administrator may choose to move the virtual machine to a new host by using the Failover Cluster administrator. When the administrator moves the virtual machine:
1.The virtual machine state is saved. This includes both the physical state of the virtual machine hard disks and the configuration information. The amount of time that it takes to save the virtual machine state varies, but it is usually only a few seconds.
2.The control of the shared storage is switched from the currently active node to the node where the virtual machine will be moved to.
3.The virtual machine is resumed on the new node. Again, the time it takes to do this varies, but the entire process usually takes less than 30 seconds.
For some more great information please see the following...
Windows Server 2008: Failover Clustering
Microsoft Virtualization Web Site
Hyper-V Step-by-Step Guide: Hyper-V and Failover Clustering