Failover cluster is a feature of Windows Server that allows you to group multiple independent servers into a single failover cluster with high availability and scalability.
In this article, we will show you how to create a simple three-node failover cluster configuration running Windows Server 2016 Datacenter or Standard editions. These can be physical servers or virtual machines.
In previous editions of Windows Server, it is imperative to join all servers into one Active Directory domain. Starting from Windows Server 2016, this is no longer a requirement, you can organize a failover cluster even on servers in a workgroup (in this configuration, you can cluster only SQL server, File server or Hyper-V roles). If you plan to use Failover Cluster to provide fault tolerance for the Hyper-V virtual machines, the same CPU model must be used on all servers of the cluster (only Intel or only AMD), otherwise live VM migration between nodes of the cluster will become unavailable.
Each cluster node must be connected to at least two networks: a local area network (LAN) and a SAN (Storage Area Network). You must configure static IP addresses for all servers that you want to add to the cluster. You also need to ensure that all servers can access shared storage via FC, SAS, or iSCSI (iSCSI protocol version is not lower than iSCSI-3).
Open Server Manager and install the Failover Cluster feature. You can also install this feature using PowerShell command:
Install-WindowsFeature Failover-Clustering –IncludeManagementTools
This component must be installed on all servers that you want to add to the cluster.
After installing the role, open the Failover Cluster Manager console.
Select Create Cluster in the context menu.
Specify the names of all nodes that you want to add to the cluster (by name or IP address). In our case, these are the three servers: win-agnode01, win-agnode02, win-agnode03. Click Next.
Then specify the name of the cluster and the clusters’ IP address (this IP address should not be busy). This name and IP address will be used to manage and configure the cluster.
Next, it will launch the cluster configuration validation wizard and start the cluster creation process. You can read the detailed cluster creation log.
If all three cluster nodes are configured correctly, the wizard must successfully create a new cluster.
Now in the Failover Cluster Manager snap-in, a new cluster should appear with the name cluster1.
To ensure correct operation of the cluster, you need to configure the quorum. By default, each cluster node has one quorum vote. In addition, a quorum witness (if configured) has one additional quorum vote. You can configure one quorum witness for each cluster. Each item can cast one vote to determine if a cluster can be started. The presence of a quorum in a cluster for its proper operation is determined by the majority of voting members who are active members of the cluster.
You can configure the quorum witness mode by right-clicking the cluster name and selecting More Actions > Configure Cluster Quorum Settings.
If there is a number of nodes in the cluster, you will need to configure the quorum witness resource. In Windows Server 2016, you can use as a witness resource.
- File Share witness — (shared SMB folder);
- Disk Witness — shared disk (with simultaneous access to it from all nodes);
- Cloud Witness — cloud disk resource in Azure (blob storage).
In our case, there are 3 nodes in the cluster, therefore quorum witness can be not configured.
Select the Nodes section. As you can see, three servers have been added to the cluster, and all of them are available and working normally (Status – Up).
In the Storages section, you can add disks to the cluster.
Now, in the Failover Cluster Manager console, you can add the failover capability of one of the proposed roles, Hyper-V virtual machines, or shared disks.
By default, on Windows Server 2016, you can provide high availability for the following roles:
- DFS Namespace Server
- DHCP Server
- Distributed Transaction Coordinator (DTC)
- File Server
- Generic Application
- Generic Script
- Generic Service
- Hyper-V Replica Broker
- iSCSI Target Server
- iSNS Server
- Message Queuing
- Other Server
- Virtual Machine
- WINS Server