Guide to DNS Cluster Configuration
Introduction
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.
To optimally configure your
DNS cluster, you will need 2 spare servers, both preferably running cPanel
DNS ONLY. You will also need at least 1 web server with cPanel/WHM installed.
- cPanel DNS ONLY is software that allows you to run a dedicated physical nameserver. It should only be installed on nameservers with no previous content on them.
- You can download the cPanel DNS ONLY software here.
- All machines in the cluster must be running cPanel or cPanel DNS ONLY version 11 or higher. Some features may not work with older versions of cPanel.
-
Note: Multiple DNS ONLY servers are permitted in a DNS ONLY cluster.
Enabling DNS clustering on each server
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 will need to sync each web server to its DNS servers.
- 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.
About your DNS cluster configuration
Before you set up your
DNS cluster, 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.
Figure 2. An intermediate nameserver between the web server and secondary nameserver is acceptable.
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.
Figure 3. Multiple hops between a web server and nameserver slows performance.
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.
- Enter the nameserver’s IP address in the Server Ip Address box.
- Click Configure.
- On the Create Trust Relationship screen, enter the nameserver’s remote access key.
- To retrieve the key from the nameserver, click the link at the bottom of the screen. You will need to enter the root password for the nameserver.
- Once the key appears, cut and paste it into the Server Remote Access Key box.
- Click Submit.
- Repeat these steps, adding each additional nameserver to the cluster.

The
cluster is now set up. When you return to the WHM
Configure Cluster screen, the nameservers are listed in the
Servers in your DNS Cluster table.
Specifying the web server's DNS role
Next, you will need to specify that you wish for this server to synchronize changes, or to write
DNS data onto the nameservers in the
cluster.

In the
Servers in your DNS Cluster table, under
Dns Role, select
Synchronize Changes next to each
nameserver’s
hostname and IP. This will cause the web server to send
DNS data to the
nameserver.
You do not need to link dedicated web servers to each other.
Remember: You will need to access WHM and configure the
DNS role on each web server in the
cluster.
Adding servers to the cluster from the nameserver
Next, you will need configure the
cluster from each
nameserver.
- On your nameserver’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.
- Enter the web server’s IP address in the Server Ip Address box.
- Click Configure.
- On the Create Trust Relationship screen, enter the remote access key.
- To retrieve the key from the web server, click the link at the bottom of the screen. You will need to enter the root password for the web server.
- Once the key appears, cut and paste it into the Server Remote Access Key box.
- Click Submit.
- Repeat these steps, adding each additional web server to the cluster.

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.
- You do not need to link dedicated nameservers to each other.
Remember: You will need to access WHM and configure the
DNS role on each
nameserver in the
cluster.