Guide to DNS Cluster Configuration

For WHM version 11.40

(Home >> Cluster/Remote Access >> Configure Cluster)

Overview

A DNS cluster is a group of nameservers that share records, which allows you to physically separate nameservers that handle the DNS requests from your web servers. When you have two nameservers in different geographical locations and one goes down, you will still have DNS functionality and visitors can still reach the websites hosted on your server. DNS clusters also allow visitors to reach websites more quickly than if you had only one nameserver to process all of the DNS requests.

ALERT! Warning: Do not use WHM-to-WHM two-way sync configurations. These configurations may cause DNS errors on your servers.

note Notes:

  • The WHM Configure Cluster feature only provides redundancy for DNS. It does not add Apache or any other services to a cluster configuration.
  • If you set a server in a DNS cluster to the write-only role, WHM will not check whether a DNS zone exists before you create an account. Because of this, it is possible to create the same domain name on two or more of these servers. If this occurs, the servers will compete for updates to that domain.

DNS cluster requirements

To configure your DNS cluster, you will need two servers with cPanel DNSONLY installed. You must have at least one web server with cPanel & WHM installed. Multiple DNSONLY servers and cPanel & WHM servers in a cluster is also acceptable.
  • cPanel DNSONLY software allows you to run a dedicated physical nameserver. It is essentially the "bare-bones" version of cPanel that does nothing but replicate DNS zones for your other servers. It should only be installed on nameservers with no previous content on them. You can download the cPanel DNSONLY software for free.
    • note Note: All machines in the cluster must have cPanel & WHM or cPanel DNSONLY version 11 or higher installed. Some features may not work with older versions of cPanel & WHM.

ALERT! Important: To modify a DNS cluster, you must be signed in as root. If you are logged in as reseller, you will only be able to add a new server to the cluster.

DNS Clustering tools

Modify Cluster Status

To enable DNS clustering in WHM:
  1. Navigate to WHM’s Configure Cluster interface (Home >> Cluster/Remote Access >> Configure Cluster).
  2. In the Modify Cluster Status section, select Enable DNS Clustering.
  3. Click Change.
  4. Click Return to Cluster Status.

Image of 'Enable DNS Clustering' box.
Select "Enable DNS Clustering" to turn on clustering.

note Note: You will also follow these steps if you wish to add a replacement server to the cluster.

You have now enabled DNS clustering. Next, specify which server(s) you wish to cluster.

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

Global Cluster Options

This section allows you to specify the number of dnsadmin commands that are allowed to fail before WHM disables an unresponsive cluster member. We recommend you disable unresponsive cluster members since this can improve the performance of your server.

To configure the failure threshold for servers in the cluster:

  1. Select an option in the Global Cluster Options section.
    • 10 is the default setting that we recommend.
    • To enter a different failure threshold, select the second option and enter the number of failed commands you wish to allow.
    • Select Keep all cluster members online at all times if you wish to keep all of the servers in your cluster continuously online.
    • Select Recieve a notification when WHM disables an unresponsive cluster member if you wish for WHM to notify you when it disables an unresponsive member in your cluster.
  2. Click Change.

Image of Global Cluster Options box.
Disable unresponsive cluster members.

About DNS cluster configurations

Before you set up your DNS cluster, consider which structure will be the most efficient. How you link each server will determine how fast your DNS requests resolve.

Use direct links

Your severs will function more slowly if there are multiple steps between a web server and a nameserver. To improve the performance of your servers, link your web server directly to the DNS servers, as shown below. This will eliminate the steps each request must take and your DNS requests will resolve quicker.

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

In this example, webserver.example.com sends DNS information directly to ns1.example.com and ns2.example.com. Use the WHM Configure Cluster feature to create this setup.

Use the primary nameserver as an intermediary

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

An intermediate nameserver is acceptable.
Figure 2. An intermediate nameserver between the web server and secondary nameserver is acceptable.

To create this configuration, set the web server to sync the primary nameserver. Then, set the primary nameserver to sync the secondary nameserver.

Use multiple intermediary nameservers

The least optimal configuration uses multiple steps between the web server and nameservers.

Multiple hops slows performance.
Figure 3. If you configure multiple hops between a web server and nameserver, the servers' performance slows.

In this example, for web1.example.com to communicate with ns2.example.com, the information must pass through two intermediary servers. This increases the processor load on the servers, as the nameserver software works to update the DNS information on each step. This setup will slow the servers' response time considerably. We do not recommend this method.

Other functions

Add a new server to the cluster

To add a new server to the cluster:
  1. Navigate to the Configure Cluster interface. (Home >> Cluster/Remote Access >> Configure Cluster).


  2. Add new server to the cluster image


  3. Select the server type from the Backend Type menu in the Add a new server to the cluster section.
    • note Note: cPanel & WHM users can use SoftLayer and VPS.NET hosted DNS systems within the WHM interface. To enable DNS clustering with SoftLayer or VPS.NET, you must obtain an API username and key from VPS.net or SoftLayer. Once you have done so, choose SoftLayer or VPS.NET from the Backend Type menu.
  4. Click Configure. You will be directed to the cPanel DNS Remote Configuration interface.
  5. Enter the hostname or IP address of the nameserver you wish to link in the Remote cPanel & WHM DNS host field.
  6. Enter the WHM username for the nameserver (either reseller or root) in the Remote server username field.
  7. Enter the nameserver's public remote access key in the Remote server access hash field.
    • note Note: To generate and retrieve a public key, log into WHM on the nameserver and navigate to Manage SSH Keys. Once the public key appears, paste it into the Remote server access hash field.


    Image of the 'cPanel DNS Remote Configuration' interface


  8. Select Setup Reverse Trust Relationship for WHM to automatically configure the cluster on the remote server.
    • If you select this option, you will not need to log into the WHM Configure Cluster interface on the remote server. However, you may do so if you wish to modify the remote server's cluster configuration.
    • note Note: This option will automatically set the remote server's DNS role to Standalone.
  9. Select Debug mode if you wish for WHM to record DNS clustering transactions in the /usr/local/cpanel/logs/error_log file.
  10. Select an option from the DNS role menu to specify the server's DNS role.
    • The Standalone option is used for DNSONLY servers.
    • The Synchronize changes option causes the web server to synchronize any changes you make on a server throughout the cluster.
    • The Write-only option causes the web server to write DNS data to the nameserver.
  11. Click Submit to save your settings.

The cluster is now set up. When you return to the WHM Configure Cluster interface, the remote server will be listed in the Servers in your DNS Cluster table.

note Note: We do not recommend that you set up the nameserver to synchronize data to a web server, as this will create extraneous zones on the web server. This means that you do not need to log into WHM on the nameserver and set the web server's DNS role to Synchronize changes.

Delete a server from a DNS cluster

There are several reasons that it may be necessary to delete a server from your DNS cluster. For example, if you need to replace a server that is currently in your DNS cluster, you will need to delete the old server first.

ALERT! Important: You need to delete a server from a DNS zone before you add a replacement server to the cluster. You cannot have two servers with the same hostname in a DNS cluster.

To remove a DNSONLY server or cPanel server from a DNS cluster:

  1. Log into the server you wish to remove from the cluster.
  2. Navigate to the Configure Cluster interface (Home >> Cluster/Remote Access >> Configure Cluster).
  3. In the Modify Cluster Status field, select Disable DNS Clustering.
  4. Click Change.
  5. Click Return to Cluster Status.
  6. Log into the servers that remain in the cluster.
  7. Navigate to the Configure Cluster interface (Home >> Cluster/Remote Access >> Configure Cluster).
  8. Locate the server you wish to delete.
  9. Click delete.png under the Actions heading.

DNS_server_cluster.png

When you return to the Configure Cluster interface, the server will no longer appear in the list of servers in the cluster.

note Note: If you remove a server from a DNS cluster, the records will no longer sync with the other servers in the cluster. The records on the deleted server will also no longer be present on the servers that remain in the cluster.

Edit a server in a DNS Cluster

You can change a server's DNS role or edit the server's configuration settings at any time.

To edit a server's DNS role:

  1. Locate the server you wish to edit.
  2. In the DNS Role menu, select a new role for the server.
  3. Click save-me.png to save your changes.

To edit a server's configuration settings:

  1. Locate the server you wish to edit.
  2. Click edit-me.png under the Actions heading. You will be directed to the cPanel DNS Remote Configuration interface.
  3. Once you have made your changes to the server's settings, click Submit.

note Note: If you do not see any servers listed at the bottom of the Configure Cluster interface, there are no servers in your DNS cluster.

Topic revision: r34 - 03 Jan 2014 - 19:45:30 - Main.SarahHaney