A DNS cluster is a number of nameservers that share records. This allows you to physically separate your nameservers so that in the event of, for instance, a power outage, you still have DNS functionality. This way, visitors can reach websites on your server more quickly after the web server comes back online. The cPanel DNS cluster feature only provides redundancy for DNS. It does not place Apache or any other services in a cluster configuration.

First, you will need to enable DNS clustering via each server’s WHM interface.

Navigate to WHM’s Configure Cluster screen.

Click Enable Dns Clustering.

Click Change.

Click Return to Cluster Status.

DNS clustering is now enabled. Next, you will need to specify which server(s) you wish to cluster, or share DNS information with.

You do not need to link dedicated DNS servers to each other, or link dedicated web servers to each other.

You should not set a DNS server to sync data back to a web server, as this will put extraneous data on the web server.

Global cluster configuration options

These features are only available in cPanel 11.25.

These 2 new features work in tandem to notify you about and disable unresponsive DNS cluster members.

Set your cluster’s failure threshold

This section allows you to specify the number dnsadmin commands that are allowed to fail before a member of your cluster is disabled. Unresponsive cluster members are disabled in an effort to improve performance.

If you wish for all of the members of your cluster to remain online at all times, enter 0.

We recommend setting this value to 10.

Setup cluster failure notifications

By selecting this checkbox, you will be notified whenever cluster members are disabled due to being unresponsive. Notifications are sent during DNS queue processing.

About your DNS cluster configuration

Before you set up your DNScluster, it is worthwhile to consider how it will be configured.

Creating a cluster setup with direct links between servers can decrease CPU load, improving the performance of your servers. The more steps, or “hops,” between a web server and a nameserver, the slower the servers’ performance will be.

If at all possible, you should link your web server directly to the DNS servers, as shown in the diagram below. This is the ideal DNS setup.

Figure 1. A direct link between the web server and 2 nameservers is optimal.

In this example, webserver.example.com sends DNS information directly to ns1.example.com and ns2.example.com. This is accomplished by using the WHM Configure Cluster feature to create a link on each server (see the instructions below).

If necessary, you may place the primary nameserver between the web server and the secondary nameserver. For each intermediate server you add, the data transfer time is 3 times slower than for a direct link.

This configuration can be accomplished by setting the web server to sync the primary nameserver, and setting the primary nameserver to sync the secondary nameserver (see the instructions below).

The least optimal configuration is one that uses multiple “hops,” or steps, between the web server and nameservers. This increases processor load on the servers, as their nameserver software works to update the DNS information on each hop, slowing response time.

Each “hop” that is added to the DNScluster configuration will add to the time it takes to add, edit or delete a DNS zone from any point in the cluster, so the configuration should be kept as simple as possible.

In this example, for web1.example.com to communicate with ns2.example.com, the information must be passed through 2 intermediary servers, increasing the overall processing load. This method is not recommended.

Adding servers to the cluster from the nameserver

On your web server’s WHM interface, take the following steps:

On the Configure Cluster screen, under Servers in your DNS Cluster, locate the Add a new server to the cluster box.

The cluster is now set up. When you return to the WHM Configure Cluster screen, the web servers are listed in the Servers in your DNS Cluster table.

Specifying the nameserver’s DNS role

Finally, you will need to specify that you wish for this server to function as a standalone server — that is, a server that only receives DNS data from the other servers in the cluster.

In the Servers in your DNS Cluster table, under Dns Role, select Standalone next to each web server’s hostname and IP. This will allow the nameserver to receive information from the web server, but not send data to it.

Note: Setting a nameserver to synchronize data to a web server is not recommended, as it will create extraneous zones on the web server.

In most cases, a DNS-only server should never be set to synchronize to a Web server. The Web server should always be set to synchronize to the DNS ONLY server(s), and the DNS ONLY server(s) should always be set as standalone.