Step-by-Step: Building a FREE Hyper-V Server 2012 Cluster – Part 1 of 2

“The FREE Hyper-V Server 2012 sounds AWESOME! With the same features and scalability as the Hyper-V role in the full Windows Server 2012 OS, I could really use this to virtualize my application workloads very cost effectively. But … I need high availability too!

HOW EASY IS IT TO CONFIGURE HYPER-V SERVER 2012 IN A CLUSTER?

- Kris”

Great question, Kris! Configuring our FREE Hyper-V Server 2012 in a highly available cluster can be really easy. In this article, I’ll step through the configuration of a Hyper-V host cluster configuration that uses Hyper-V Server 2012 so that you'll have the details to step through this process in your own lab environment.

In Part 2 of this article series, I’ll finish up with the steps needed to provision and test a highly available virtual machine within your new cluster.

Let’s start with a common scenario …

In this article, we’ll be building a small 2-node Hyper-V Server 2012 host cluster, but the same steps below can be applied to much larger cluster configurations – the FREE Hyper-V Server 2012, like Windows Server 2012, supports up to 64 physical nodes and up to 8,000 virtual machines per cluster.

To build the operating system on each of the Hyper-V hosts, we can leverage the Getting Started Guide to perform the following basic post-installation configuration tasks using the SConfig.cmd script:

Set static IP address information on each NIC

I’d recommend at least three (3) physical NICs for each cluster host as follows:

One NIC for cluster management and storage

Connect to a local storage subnet and do not set a default gateway address

Note that NIC teaming should not be used for storage networks using iSCSI. Instead, if more bandwidth and/or resiliency is needed than a single NIC can provide, consider using multiple NICs or iSCSI HBAs with MPIO configured.

One NIC or NIC Team for live migration traffic

Connect to a local live migration subnet and do net set a default gateway address

Note: If you are interested in leveraging NIC teaming on your Hyper-V hosts to create high bandwidth resilient network connections for live migration and client network traffic interfaces, see this study guide on configuring NIC teaming from our “Early Experts” study group.

Set a desired computer name on each host

Join each host to an Active Directory domain

Note that Active Directory is required for normal operation of Failover Clustering in Hyper-V Server 2012 and Windows Server 2012. However, the product team has enhanced clustering a bit so that a cluster can now be brought online in disaster recovery situations where Active Directory may not be available on the network.

Enable Remote Management and Remote Desktop

Once you’ve gone through these steps, you should now have two standalone Hyper-V hosts that are ready to be configured as part of a cluster.

But wait! I need Shared Storage, Don’t I?

Yes, indeed – for Hyper-V Host Clusters you’ll need to provide shared storage in one way or another that each Hyper-V host can access for storing highly available VM’s. Commonly, shared storage between Hyper-V hosts in a cluster can be provided via:

If you already have an investment in FC or iSCSI SAN storage, Windows Server 2012 and Hyper-V Server 2012 will certainly continue to support those array options as shared storage solutions – in fact, with new features, like support for Offloaded Data Transfer (ODX), newer intelligent SAN arrays can perform amazingly better than ever with Windows Server 2012 and Hyper-V Server 2012!

However, if you haven’t invested yet in an intelligent SAN array for shared storage, SAS and SMB 3.0 can be cost-effective shared storage alternatives worth your consideration for a Hyper-V host cluster.

SAS? SMB? I don’t recognize those as shared storage options for VMs!

Support for shared SAS enclosures and SMB 3.0 shared folders as shared storage options for VMs in a cluster is new with Windows Server 2012 and Hyper-V Server 2012. Both options can provide cost effective alternatives to more expensive intelligent SAN arrays.

SAS enclosures are supported as shared storage in a failover cluster via our new Storage Spaces subsystem in Windows Server 2012 and Hyper-V Server 2012. Along with OEM partners, we’ve demonstrated SAS solutions based on Storage Spaces that have achieved ~1 Million IOPs using commodity storage components.

SMB 3.0 has been enhanced in Windows Server 2012 and Hyper-V Server 2012 for large amounts of random IO in big files, such as what you’d typically find with VM’s hosted in a shared folder, and continuous availability of shared folders when configured in a Windows Server 2012 file services cluster. In fact, when leveraging hardware that supports SMB Direct, our testing has shown that SMB storage traffic can be within 2% of the performance of direct attached storage!

Both of these options can simplify shared storage configurations tremendously by leveraging commodity storage components over easily configured interfaces.

It’s SMB 3.0 for ME!

I already have a Windows Server 2012 Failover Cluster that supports a number of clustered File Services roles in my environment, so I’ll be using SMB 3.0 shared folders as shared storage locations for my Hyper-V host cluster in this article. I’ll create two “continuously available” shared folders on one of my clustered File Services roles as follows:

\\CAFSC01\HVCVMWitness – this clustered shared folder will be used as a witness by the new Hyper-V host cluster. A witness is a special resource that is used when a physical cluster node fails to determine which node is the “surviving” node to which clustered resources should failover. In particular, it’s important to use a witness resource when you have an even number of physical nodes within your cluster, as we do in this 2-node cluster scenario.

\\CAFSC01\HVCVMStorage – this is a shared folder that I will use as a storage location for highly available virtual machines that I provision in the Hyper-V host cluster.

Note that each of your Hyper-V Server 2012 computer accounts in Active Directory will need to be granted Full Permissions to each of these shared folders and the underlying NTFS folder structure.

Let’s Build Our Hyper-V Host Cluster!

OK … now that we’ve got the basic infrastructure needs addressed, let’s start off by installing the Failover Clustering feature on each Hyper-V host and configuring an external Virtual Network Switch for VM network traffic. Then we can move on to validating and configuring our new cluster.

Note: We can configure a Hyper-V host cluster remotely by using the Failover Cluster Manager GUI tool from a remote Windows Server 2012 management host or a Windows 8 admin client with the Remote Server Admin Toolkit (RSAT) installed. However, in this article, I’ll make the assumption that you’ll be doing all of the cluster configuration from the Hyper-V Server 2012 host consoles directly using PowerShell … It’s really very easy!

On our Hyper-V Server 2012 consoles, we can configure our new Hyper-V host cluster by using a bit of PowerShell as follows:

Install the Failover Clustering feature on each Hyper-V Server 2012 host using the Install-WindowsFeature cmdlet:

Configure an external virtual network switch on each Hyper-V Server 2012 host. Be sure to use exactly the same virtual switch name on each host. You can use the Get-NetAdapter cmdlet first to verify the name of each network adapter to make sure you select the correct NIC for binding to the new virtual switch.

Get-NetAdapter

Now that I know the name of my network adapter, I’m going to use the New-VMSwitch cmdlet to configure a new external switch named KEMLABNET01.

Next, let’s validate the configuration of our Hyper-V Server 2012 hosts to make sure they are compatible with a cluster configuration by using the Test-Cluster cmdlet. For my new cluster, my individual Hyper-V host computer names are KEMLABHV06 and KEMLABHV07.

That’s it! Our new Hyper-V host cluster is now built!

This command should show that our Cluster Group resource group is online on one of our nodes. Note that the Available Storage cluster resource group may show as Offline because in our configuration above, we aren’t using any shared disk storage – just SMB 3.0 shared folders!

What’s Next? Your Turn!

Complete the process outlined above to build out your own Hyper-V Host Cluster

In Part 2 of this article series, I’ll step through provisioning and testing new virtual machines that are highly available on our new Hyper-V host cluster.

In the meantime …

Be sure to check out our “Early Experts” study group and our new “Virtualizer Quest" at https://aka.ms/EarlyExpertsVirtualizer. The Virtualizer Quest includes structured study guides that walk through configuring the other new features associated with the Hyper-V role in Windows Server 2012 and Hyper-V Server 2012.

AD is required for building and managing a cluster, however with Hyper-V Server 2012 and Windows Server 2012, all domain controllers could be virtualized. In the event of a datacenter outage where you'd need to bring the cluster back online, clustering in 2012 has been enhanced to permit the cluster to come online even if AD is not yet available ( ie. in situations where ALL DC's are virtualized ).

I'd keep both hosts as member servers but then build a couple VMs that run as 2012 DC's on top of the hosts. The hosts will be able to join the domain being managed by the VM's so that you can build a cluster between them.

Is your Hyper-V Server joined to an Active Directory domain? If not, I'd recommend using the HVRemote script to enable all of the settings for remote management in a workgroup scenario. You can download this tool at archive.msdn.microsoft.com/HVRemote

The configure you've outlined above works for a test lab environment, but it is not supported for production environments due to performance and availability issues – having separate physical file server clusters and Hyper-V clusters is the way to go in a production environment. See the following article for a diagram of this configuration: blogs.technet.com/…/build-a-private-cloud-foundation-networking.aspx

I'd recommend using Hyper-V Server 2012 for the host OS on each node in the cluster. if you're going to be running Windows Server VMs, you'll want to make sure you have Windows Server 2012 Datacenter Edition licenses for each host to provide the unlimited server VM licenses that you'll need for licensing the Server OS in each VM regardless of which host happens to be running the VM in the cluster.

Dear Kieth I'm getting the error "please check if the remote registry services is running and make sure that the server is enabled for remote management" but actually the services are running what might be the possible error

Yes – I've been successful with SAN booting Hyper-V Server 2012 over iSCSI, although not with the same hardware that you're using. It sounds like the issue being experienced is the handoff of iBFT from firmware to drivers, so check to make sure both the LAN and VBD drivers are loaded for your Broadcom NICs. I'd also check with DELL/Broadcom on your firmware release, as I've seen some firmware releases in the past not work well with iBFT.

I'll try to find time to write this up, though, in the next few days to see if the process I use is helpful.

Technically, I've seen the zoning done both ways … but generally most SAN vendors prefer each of the connections to be zoned individually and then masked into a common set of LUNs ( formatted as Clustered Shared Volumes – CSVs ) on the SAN array.

It is a completely free solution for our customers that run a network environment using Active Directory for identity management. If you don't have AD, you can still use Hyper-V Server 2012 hosts without clustering and take advantage of Live Migration, Hyper-V Replica, and extreme scalability with VMs running on up to 64 vCPUs and 1TB of virtual RAM – still for free.

Thanks for this configuration steps. It appears that AD is required as a pre-requisite for clustering. This means that you will need a physical machine as your DC. What will you have in a production environment?

Just putting my 2 cents in here, It as absolutely free except the time you put in to the building of the cluster. As a matter fact Keith is absolute right. It is completely lt free including the building of the AD. Let’s think outside the box for a
second. If you really want to build this you should use a hybrid network. By that I mean you build your AD on a Linux box. Here is the recipe help.ubuntu.com/…/samba-ldap.html
and here is another
help.ubuntu.com/…/ActiveDirectoryHowto.

Sorry I am not trying offend just pointing in context Keith is totally correct and In todays business hybrids are the norm.

Sorry if this question is not quite related but, have you been able to boot from SAN using Hyper-v 2012 over iscsi? I have created a 2012 iso and injected the broadcom 10G drivers. I get the server connected to SAN and run the ISO, it installs on the LUN no problems, once installed the server reboots, on reboot reconnects to SAN but does not boot from the SAN/LUN after a minute the iscsi connection is dropped from the SAN. I am using all DELL kit, Array and blade server. I cant find anything on the internet that could offer any assistance. Windows server 2008 R2 installs and boots with no issues, following the same procedure. Any help advice would be appreciated.

If I have 3 physical servers all running Hyper-V, and I cluster them, can I then run the Server 2012 file server virtually on top of this cluster to manage my direct attached storage on the 3 servers (which is where all of the VMs will be running from).

I've 2 servers both running Windows Server 2012 DC Edition and Hyper-V role. I do not want to create a domain but live migration is asking me to join a domain. How I can use live migration feature without creating / joining a domain ?

Or Can I make one host a DC and Hyper-V host and other machine as member server ?

I am in the process of getting a 2012 cluster set up with 4 blade servers. Each blade has two fibre connections to our two fabric switches (4 connections to each switch). My question is two-fold. First, do all 4 switch connections get zoned as one or should they be zoned as individual just as any physical host would be? After that do all 4 blades connect to the same LUN on the SAN or do they all have there own LUNs and storage groups to make this work? I think the easy part might be getting clustering/failover working with 2012.