Create a Windows 2012 R2 Failover Cluster on ProfitBricks

Table of Contents


Windows Server Failover Clustering (WSFC) is a feature that can be used to create a highly-available, redundant cluster for various application and services. One of the primary Enterprise applications that makes use of WSFC is SQL Server 2014. Combined the two technologies allow you to build various types of SQL clusters -- AlwaysOn Failover Instances, AlwaysOn Availability Groups, etc.

This tutorial will walk you through how to setup and configure an existing two-node cluster deployed in your Data Center with WSFC. Before beginning this tutorial will need to have first completed the tutorial Setup DCD for a Two Node Cluster.


Before starting, you will need to ensure that you have first used Windows Update to update your Windows 2012 R2 Server instances. You can review the applicable updates here:


Overall, Windows Update should preclude you from needing to install any of the updates listed in the above KB article. If you are running a pure -- including your domain controllers -- Windows Server 2012 R2 environment then you should be good to go.

Shared Storage vs Non-Shared Storage

Some documentation you'll dig up on WSFC might indicate you are required to use shared storage to deploy a WSFC cluster. This is not the case. With the release of Windows Server 2012 and Windows Server 2012 R2 the requirement for shared storage has been removed. You can now create WSFC clusters with non-shared storage. The scope of this tutorial will walk you through how to do such a cluster.

Install Windows Features

Log onto the first node of your cluster. You will be installing the following features:

| Feature |
| --- |
| .NET 3.5 |
| Failover Clustering |

Launch PowerShell using elevated, administrator privileges. Since we're building a cluster, we can use PowerShell to install the required features on both the machine we're logged into and the other node remotely.

.NET 3.5

To install .NET 3.5 on the first node do the following:

Install-WindowsFeature -Name Net-Framework-Core

And on the second node:

Install-WindowsFeature -Name Net-Framework-Core -ComputerName SQL02

Failover Clustering

To install FC on the first node do the following:

Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools

And for the remote node, but still in your local domain:

Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -ComputerName SQL02

In our example we'll eventually end up building a SQL cluster. You will replace "SQL02" with your own hostname for node two of the cluster.

It is always a good practice to validate that the feature is indeed installed by doing the following:

Get-WindowsFeature *Cluster*

You should see output like this:

Display Name                                            Name                       Install State
------------                                            ----                       -------------
[X] Failover Clustering                                 Failover-Clustering            Installed
        [X] Failover Clustering Tools                   RSAT-Clustering                Installed
            [X] Failover Cluster Management Tools       RSAT-Clustering-Mgmt           Installed
            [X] Failover Cluster Module for Windows ... RSAT-Clustering-Powe...        Installed
            [ ] Failover Cluster Automation Server      RSAT-Clustering-Auto...        Available
            [ ] Failover Cluster Command Interface      RSAT-Clustering-CmdI...        Available


You can combine the above into a single statement if you're automating this:

Install-WindowsFeature -Name Net-Framework-Core
Install-WindowsFeature -Name Net-Framework-Core -ComputerName SQL02
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -ComputerName SQL02

Staging Active Directory

You will need to ensure you grant the appropriate rights so that there are no issues with the Cluster Name Object (CNO) being created when you create the WSFC cluster.

The user or group will need to have the "Create Object" permission. This ensures that when the cluster is being setup that all objects the cluster requires can be created. You could also simply set the cluster up using a domain administrator account.

Another option is to pre-stage CNO. Microsoft has a good write-up on how to do this correctly. It can be found here.

In our setup we're using the recommended Microsoft approach for staging AD. To summarize the MSFT site, you would create:

  1. An organizational unit (OU) where your cluster objects will reside.
  2. Within that OU create a Computer object for the cluster name. In our example we chose SqlCluster.
  3. Create a group in which you will place cluster administrators.
  4. Grant this group "Full Control" permissions over the Computer object.
  5. Grant the Computer object the "Create Computer Objects" permission on the OU where your cluster objects reside.

Create the Cluster

Now that you have staged Active Directory you are ready to create the cluster.

You will first need to run a test to validate that the environment can host the cluster without issue. At this point bring up the Failover Cluster Manager snap-in.

Click Validate Configuration in the Actions pane.

You will need to add all nodes that will participate in this cluster. In our case this is SQL01 and SQL02.

Go ahead and run all tests. Once this has finished you should see a Failover Cluster Validation Report. If everything validates you should be ready to now create the cluster. If you receive some validation errors you will need to correct those prior to creating the cluster.

NOTE: You may receive the following in your validation tests. This is fine since you will not be sharing disks between nodes. We are building a non-shared disk cluster. You may also see a warning for driver signing. This, too, is fine.

When you're ready click "Finish" to begin the creation process for the cluster. This will drop you into the Create Cluster Wizard. On the Access Point for Administering the Cluster step you will input the Computer object you created for the cluster. In our scenario this is SqlCluster01. Since both private networks will be used we ensure those are checked.

You will need to input the IP address for the cluster in both fields. In our example we'll be using and It is good practice to keep the IPs identical across each network. Click next.

Since we are not using shared storage clear the Add all eligible storage to the cluster checkbox. Click next and the cluster will begin to build.

Click Finish.

You should now be at a screen similar to this.

Now, browsing around in the interface you should notice that your two nodes show up under the Nodes element and that there are no roles under the Roles element. This is because you have not configured any roles for the cluster. We will be doing this in a different tutorial.

Configure Cluster Network

The final step in setting up a basic cluster is to configure the cluster's networking. This can be done by browsing the Networks node in the Failover Cluster Management interface. You should see three networks.

We use the following configuration:

| Network Name | IP Space | Cluster Use |
| --- | --- | --- |
| Cluster Network 1 | | Cluster Only |
| Cluster Network 2 | public IP space | None |
| Cluster Network 3 | | Cluster and Client |

If you want you can also rename the networks.


At this point you should have a Windows Server failover cluster online with two nodes as members. You are now ready to continue setting up the cluster for your needs. In our next tutorial we will show you how to add SQL Server 2014 a role to the cluster. You can read that here.