Bobcares

cPanel multi server aka cPanel cluster – How it helps your webhosting business

by | Oct 28, 2017

Many see cPanel multi server (aka cPanel cluster) as a way to prevent business downtime. The logic goes that even if one server fails, the other servers can keep websites and mail online. But, how true is that?

In our role as Hosting support specialists for web hosting companies, Bobcares engineers manage hundreds of cPanel servers. We setup and manage several cPanel cluster infrastructure as a part of this cPanel server management services.

From this experience, we could see that though cPanel clusters cannot totally prevent a business downtime, they be used to minimize the impact of a downtime, and to simplify server administration.

 

cPanel multi-server cluster – Do you need it?

As of version 11.56, cPanel offers DNS Cluster for DNS high availability and Configuration Cluster for easier server management. If you already have cPanel servers, here’s how cPanel clusters can help you:

 

1. DNS cluster – How we configure them to prevent service downtime

cPanel creates 2 name servers for each website created in a server (say, ns1.website.com and ns2.website.com). By default, both these two name servers are created in the same physical machine.

This poses a couple of issues:

  • In the event of a server crash, DNS will stop working. This brings down both website and mail – even if the mail is hosted elsewhere (like Google Apps).
  • If a website needs to be moved to another server due to resource constraints or other reasons, the name servers need to be changed, leading to extensive downtime.

 

NS failure blocking backup MX access - cPanel multi-server cluster

DNS failure affecting mail services

 

  A single website downtime can affect your customer’s business. We help web hosts deliver quick resolution to these issues using our 24/7 US based phone support. Learn More.

To prevent such downtime, we setup central DNS clusters for our customers. The DNS of all websites would be hosted in 2 or more dedicated DNS servers.

This way every website will have the same set of name servers (eg., ns1.webhostingcompany.com, ns2.webhostingcompany.com), and even if one server fails, other servers will ensure that the services are up.

With these DNS clusters, we’ve been able to:

  • Prevent mail bounces using a secondary MX entry for domains, that routes mails to a backup mail server.
  • Avoid web or mail downtime during website migrations to other servers. Since name servers are the same for all domains, there’s no need for complex DNS changes and prevents associated downtime.
  • Reduce customer complaints and support tickets that happen during domain migrations.

 

NS cluster directs mail to backup MX - cPanel multi-server cluster

How DNS cluster ensures service uptime

 

Many of the name server clusters we’ve implemented were based on open source BIND servers. cPanel has a similar solution called DNSONLY. With this, cPanel servers can be setup to store DNS records in a remote DNSONLY cluster.

See how we add value to your business!

When we setup DNSONLY clusters, we maximize the cluster effectiveness and security by:

  • Setting up the name servers in separate geographical locations – This ensures that a network issue won’t bring down both servers.
  • Making all name servers “masters” – This helps to lower DNS update delays. When a DNS record changes, all name servers in the cluster are updated at the same time. This avoids propagation delay among name servers.
  • Securing the cluster against cache poisoning, and other attacks – An attack on the cluster can bring down all websites. We prevent it through a series of DNS security tweaks.
cPanel DNSONLY cluster - common pitfalls

cPanel DNSONLY cluster

 

2. Configuration clusters – How we use them to simplify server updates

New security threats emerge every day. Servers should be patched and updated frequently to prevent security issues. When you have multiple servers, logging into each of them and running updates can get pretty tiring, and it’s easy to miss updates.

In our role as Server Specialists for small to large web hosting companies, our engineers monitor all security alerts, keep track of server updates, test them for software conflicts, and apply them as soon as possible.

While manual updates minimize chances of error, there are a few situations where we perform mass server updates:

  • When widespread hacks are reported via a web app or system vulnerability, patches need to be applied ASAP. There isn’t enough time to login to each server and manually do the updates.
  • High priority security channel patches are best applied automatically as they do not conflict with functions.
  • Anti-malware, anti-spam and firewall databases need to be updated as soon as they are available, so as to minimize security issues.

[ Take care of your customers, before your competitors do. Get world-class cPanel specialists to support your customers. ]

 

We configure configuration management tools such as Ansible and Puppet to initiate emergency system updates from a central server. This way, we patch all servers in as little as 5 minutes, during a security emergency.

 

configuration cluster to centrally manage updates - cpanel multi-server cluster

Control server to manage server updates

 

For managed VPS hosting providers, we use a variant of this setup, where regular system updates (eg. RPM updates, kernel updates, etc.) are applied in hundreds of servers using a central control server. This helps us to spend valuable time on other critical tasks.

However, if adequate precautions are not taken, such mass updates can lead to software conflicts. To prevent such issues, we ensure these pre-conditions are met, before doing the updates:

  • All VPS instances are ensured to be of the exact same configuration (i.e. same OS, web server, mail server, etc.)
  • Users are not allowed to install server applications, which could conflict with or break the server configuration.
  • Update commands are performed only after conducting a series of tests and ensuring that they are passed.
  • Post update, we run a series to tests from the control server to make sure all VPSs work fine, and all sites load without errors.

[ Focus on your core business without interruptions. Our tech support experts are here to manage your customers 24/7. ]

 

cPanel provides a similar functionality by its configuration cluster solution. With it, you can setup one server as the “master”, and then ask other servers to use the same Update Preferences as the “master” server.

So, if you setup the “master” server to “Auto-update” Apache, all other servers will do the same. The cluster can be setup in the “master” server by going to WHM Home >> Clusters >> Configuration Cluster. 

Here, click on the “Create” button to add the IP, and Remote Access Key to all your cPanel servers (you can get the key from Clusters >> Remote Access Key of the other servers). It’ll look like this:

cpanel multi server configuration cluster

Configuration cluster

 

To finish up, go to WHM “Home >> Server Configuration >> Update Preferences”, and right at the bottom, enable the option “Send my settings to all configuration cluster servers”. Now, any change you make to the update preferences will be made in all component servers.

cpanel multi server update clustering

Setting Update preferences

Conclusion

cPanel provides DNS clusters for DNS high availability and configuration clusters to simplify server administration. While these do not provide high availability for web and database services, it can be configured to soften the impact of a downtime.

At Bobcares, we use cPanel clusters and several other methods to deliver high availability and secure server management. To know how these systems can be best adapted for your business, click here.

 

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

SEE SERVER ADMIN PLANS

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

3 Comments

  1. Jeff

    Great article. I am assuming your clustering is focused on clustering servers within one data center? But what about high availability in the event of a data center issue or Internet network outage at a point close to the data center?

    Seems like you would need some sort of floating IP setup so when one server goes down it routes to the server at the other data center.

    The simple solution would be to just host with someone like Google Cloud Services and let them take care of the high availability. But what if you are a DIY person not hosting anything very high traffic and trying to keep ongoing hosting costs to a minimum?

    Seems like you would need two separate WHM/Cpanel setups but with different IPs and then you would need realtime replication of the changing data (MySQL, Email, and Website files). What is the viable solution with least chance of headaches?

    Reply
    • Visakh

      Hi Jeff,

      Yes, that’s right, the article is about clustering in one datacenter.

      Multi-datacenter HA systems can be tricky because data synching over the internet can be unreliable.

      IF you get into an agreement with a multi-NOC provider like Softlayer, a private channel can be setup to get comparatively reliable data synching. Then IP switching can be enabled by renting a BGP router. But such a solution will be pretty complex and cost prohibitive for an average web host. I’m assuming you are talking about web hosting because cPanel is focused on web hosting.

      However, if you have apps to host, AWS has out-of-the-box high availability zones. I’d rather use a PaaS solution like Elastic Beanstalk, OpenShift or some other cloud enabled auto-scalable PaaS services. In such a case, you are shielded from the background complexities.

      Again, all of this depends on how much control you want over your infrastructure and your budget.

      Reply
  2. Armando

    When you create the cluster is the /home directory replicated into the new node ? or the node have to go to the master node to read the directory ?

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF