Recently a customer came to us requesting a design and implementation of Microsoft’s Windows 2008 Hyper-V in a highly available configuration. With years of experience designing and implementing virtual solutions with VMware, the opportunity to get our hands dirty with Microsoft’s new Hyper-V was exciting.
The Design
The initial design called for a two-node clustered Hyper-V configuration running on Windows 2008 Server Core x64-bit, Enterprise Edition. This would provide the high availability required by the customer and the ability to grow by adding additional nodes as needed. This is a pretty straight forward design for a highly available virtual solution but there are some considerations that must be taken with Microsoft Hyper-V.
Currently Hyper-V does not implement a clustered file system. In a multi-node Hyper-V cluster it is critical to understand how this affects the design.
The underlying file system used by Hyper-V is NTFS. In a shared storage configuration only one physical node can access a LUN at a time. So, if you were to have more than one virtual machine on a single LUN and there was a failure of the Hyper-V server, all virtual machines on the same LUN must be recovered to the same server.
Technically this wasn’t a problem for our two-node cluster implementation but in the future if we added additional nodes it could become an issue. So we implemented a separate LUN for each virtual machine.
Another important consideration is how Hyper-V handles memory. While VMware provides a shared memory feature that lets VMs share common memory blocks, Hyper-V doesn’t support shared memory between VMs. So when evaluating the capacity of your design keep that in mind.
The Hardware
When reviewing server hardware for Hyper-V its important to note that it requires a system with hardware-assisted virtualization support. This technology is implemented in Intel Virtualization Technology (VT) and AMD Virtualization (AMD-V) chips and must be enabled in the BIOS on most servers.
You should also select your Network Interface Cards carefully. We ran across the following support document from Dell regarding the Intel and Broadcom Single and Dual port NICs.
Hyper-V VLAN Capability Not Functional on Intel and Broadcom Network Adapters
It turns out that this is a known issue with the currently shipping device drivers for these devices and Dell does not support Hyper-V VLANs on these Network Adapters at this time. If you need to implement VLAN capability make sure you purchase Intel 1 GB Quad-Port or 10GB Network Adapters which are supported by Dell.
Finally, Windows 2008 Clustering requires that Persistent Reservation is enabled. This is a set of SCSI commands used to protect LUNs. When a LUN is reserved, no other computers on the SAN can access the disk, except those controlled by the cluster. This functionality is configured on the SAN so make sure you have your SAN administrator verify that it is enabled.
The Software
Microsoft Hyper-V does not currently have an ability similar to VMware’s V-Motion. Instead a technology similar to VMware HA is implemented called Quick Migration. In the event of a failover the Virtual Machines are restarted on the new node. This can be problematic when security patches (released monthly by Microsoft) need to be installed.
While there were many reasons, an attempt to minimize the number of security patches needed to be installed on a monthly basis, was a major factor for us in selecting Windows 2008 Server Core.
The Future of Hyper-V
I recently attended Microsoft Tech Ed 2009 in Los Angeles and Hyper-V R2 was a topic of many sessions. I can tell you that Microsoft has improved the product greatly. Of note were Live Migration, Clustered Shared Volumes, 64 logical processor support, and processor compatibility mode for live migration.
You can read about all of the new features here: Hyper-V in WS08 R2 Release Candidate: Bringing More to the Table