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


Leverage the FREE Hyper-V Server 2012 to provide an Enterprise-ready
Private Cloud Foundation!

Overhead at one of my recent IT Pro events:

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
           
      • One NIC or NIC Team for client network traffic to/from the VMs.  
        • Connect to your client network, configure default gateway and DNS info on this NIC or NIC team.
           
    • 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:

  • Fibre Channel (FC) SAN Arrays
  • iSCSI SAN Arrays
  • SAS JBOD Enclosures with SAS Expanders
  • SMB 3.0 Shared Folders on a Windows Server 2012 file server or, preferably, by a Windows Server 2012 clustered file services role for continuous storage availability.

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:

  1. Install the Failover Clustering feature on each Hyper-V Server 2012 host using the Install-WindowsFeature cmdlet:
     
    Install-WindowsFeature –Name Failover-Clustering –IncludeManagementTools
     
  2. 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.
     
    New-VMSwitch “KEMLABNET01” –NetAdapterName “Ethernet 2” –AllowManagementOS:$True 
     

  3. 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.
     
    Test-Cluster –Node KEMLABHV06,KEMLABHV07
     
    The output of the Test-Cluster cmdlet will be written to:
     
    C:\Users\[username]\AppData\Local\Temp\1\Validation Report [Date] at [Time].xml.mht
     
    Ultimately, we want to review this report and make sure that the cluster validation tests passed on each of our hosts.
     
  4. Now that we’ve validated our host configurations, we can create our new cluster with the New-Cluster cmdlet.  I’m going to name my new cluster KEMLABHVC01.
     
    New-Cluster –Name KEMLABHVC01 –Node KEMLABHV06,KEMLABHV07 –StaticAddress 192.168.249.40
     
    The output from the New-Cluster cmdlet will be logged to:
     
    C:\Windows\Cluster\Reports\Create Cluster Wizard [Cluster_Name] on [Date] at [Time].mht
     
    After creating your new cluster, it’s a good idea to review this report to ensure that no unexpected errors occurred.
     
  5. After our new cluster is created, our final step is to configure our file share witness with the Set-ClusterQuorum cmdlet:
     
    Set-ClusterQuorum –Cluster KEMLABHVC01 –NodeAndFileShareMajority \\CAFSC01\HVCWitness    

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

To test the status of our new cluster, we can use the Get-ClusterGroup cmdlet:

Get-ClusterGroup

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!

Now, you try it!

  • Download our FREE Hyper-V Server 2012 installation bits
  • 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. 

Along the way, you’ll be preparing for the new MCSA on Windows Server 2012 certification exams and be entered into a chance to win FREE MCSA Exam Vouchers in our December sweepstakes!

Are you ready to Cluster?

Did the article help you prepare for clustering Hyper-V hosts in your environment?  Be sure to leave your feedback, questions and comments below!

Keith
   

Comments (25)
  1. Anonymous says:

    Hi Trevor,

    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 ).

    Hope this helps!

    Keith

  2. Anonymous says:

    Hi Hassan,

    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.

    Hope this helps!

    Keith

  3. Anonymous says:

    Hi Keith,

    great to see such a useful article!

    Thanks!

  4. Anonymous says:

    Hi Sampath,

    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

    Hope this helps!

    Keith

  5. Anonymous says:

    Hi Brandon,

    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

    Hope this helps!

    Keith

  6. Anonymous says:

    Hi Djawad,

    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.

    Hope this helps!

    Keith

  7. Anonymous says:

    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

  8. Anonymous says:

    Hi Lee,

    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.

    Best regards,

    Keith

  9. Anonymous says:

    Hi B,

    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.

    Hope this helps!

  10. Anonymous says:

    Hi Yahya,

    Yes – for testing in a non-production lab environment you can use 1 physical NIC.

    Hope this helps!

    Keith

  11. Anonymous says:

    Hi KeithMayer  

    thanks for great article .

    But i have question ?

    For environment test can use 1 NIC for testing or we should at least 3 NIC .

    Best Regards

  12. Anonymous says:

    Hi Brian,

    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.

    Hope this helps!

    Keith

  13. Mitch Kumar says:

    Nice blogs and very informative.  

  14. Trevor says:

    Hi Keith

    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?  

    A physical machine for a DC I assume. Are there alternatives.

    Thanks

  15. Brian says:

    So this solution is really FREE as you have touted it since it requires having active directory in order to work and active directory definitely isn't free.

  16. Michael Cooper says:

    Hello All,

         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.

    Thanks Kieth awesome Article.

  17. Lee Ruff says:

    Hi Keith,

    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.

    Thanks Lee

  18. Brandon says:

    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).

  19. Joel Melashenko says:

    Thanks Keith!!

  20. Hassan Latif says:

    Hello Keith,

    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 ?

    Thanks

  21. djawad says:

    hi Keith,

    i'm a student and i have a mission to integrate à new virtualization infrastructure hyper-v 2012.

    i have 3 servers , two windows servers 2012 and an hyper-v server 2012, so i have a probleme to validation cluster configuration because this message (validate operating system installation option) .

    i need your help to know if all nodes must be windows server 2012 or i can use windows server and hyper-v serve in the same cluster ?

    thank's

    djawad

  22. bburns says:

    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.

  23. Anonymous says:

    Pingback from Server Virtualization with Windows Server Hyper-V and System Senter 2012 | Network Security Technologies

  24. Anonymous says:

    Keith Mayer and Andy Syrewicze continue their look into Hyper-V from the view of a VMware admin’s perspective

  25. Anonymous says:

    In lots of customer discussions, the one thing that comes out often – How does Microsoft Virtualization

Comments are closed.