1

I manage a cluster of cPanel shared hosting servers and am considering utilising cPanel DNS only to run two (or more) dedicated DNS servers separate from the hosting servers. I'm hoping this will give me much more flexibility in moving hosting accounts between shared hosting servers.

I'd like some thoughts on a suitable specification for machines running cPanel DNS only.

Understandably what is required of a dedicated DNS server in terms of specs is, to an extent, dependent on the number of DNS records being served from it.

What I'm trying to get an appreciation of is what is required of a cPanel DNS only machine compared to a full cPanel machine.

The DNS only machine doesn't have a mail server, web server, database server and other related non-DNS applications that are present on a regular cPanel server. Therefore compared to what is required of a regular cPanel server, a cPanel DNS only server could be relatively lower powered in terms of CPU and RAM.

I don't have any experience using cPanel DNS only and so am unaware of how demanding, or not, cPanel DNS only is compared to a regular cPanel server. I'm thinking that RAM is much less of a concern but how little is needed, or what a realistic maximum may be, I can't say.

Does anyone have any experience in dealing with cPanel DNS only? How do the specs of your cPanel DNS only machines compare to your regular cPanel machines? Would something as low spec as a small VPS do the trick, or would going fully-dedicated be better and if so why?

Jon Cram
  • 309
  • 1
  • 4
  • 10

2 Answers2

4

I work with a huge cPanel DNSONLY cluster, 4 clustered servers with over 60-80 shared servers connected to them.

DNSONLY has made a lot of progress and is certainly impressive at the moment, I have never had any issues with it, it is plug and play, really. The documentation is very clear, cPanel is a lot more advanced and professional than the cPanel we knew years ago.

The specifications of my DNS servers are 4GB RAM, 300GB Velociraptors, Quad-core Xeons. Also, unlike what you said, RAM is one of the most important things to have on a DNS server because what named will do is cache the requests in the memory therefore requests will be much faster, instead of spinning up the hard drive. You probably don't have to go the 10K RPM HDD way but it's important to focus more on RAM than anything else, right now on my DNS servers, all the RAM is full of cache which is good.

I'd really suggest going a good VPS too because your DNS servers will become your point of failure in this case, and the difference is that if a DNS server stopped before, it would only be the clients on that server, now failure of all your DNS servers = catastrophic complete failure of everything. Don't cheap out on this, it'll bite you back.

There's on need to setup some weird method of rsyncing and having cronjobs, just use cPanel DNSONLY, it's free, it has a nice decent interface, and it just works with no problems.

To finish, put it on good hardware. Stack up on RAM. Don't cheap out, it'll be a large point of failure. Good luck. It took me ~1 day to create DNS servers (4) and then link all 60-80ish servers to them.

Let me know if you have any further questions, having worked with cPanel for the past 8 years, learned quite a few things. :)

Mohammed Naser
  • 197
  • 2
  • 3
1

A DNS only server can be much much smaller then a full cPanel server as all it will be running is the DNS server (bind?) a copy of Apache for the admin interface, and the cPanel background daemon.

If I remember rightly (it is some time since I last used cPanel) 64Mb was the stated absolute minimum RAM (with some recommending 128Mb) and the disk space requirements were so small that virtually no VPS would be too small in that regard. CPU requirements should be low too.

If you have a large number of domains then you will need more resources for bind of course. My second and third DNS servers (Debian based with their stock bind9, no cPanel) run happily in 48Mb, and I suspect they would be equally happy in 32Mb, though they only manage a few zones.

One thing to be careful of is to make sure you get a good quality service from the VS provider. Many providers offering very small servers have a great many on one host and that can result in significant IO and CPU contention even if all the RAM you have allocated is "guaranteed" rather than "burstable" and even considering the light load bind imposes on a modern machine when it isn't running many many zones.

Your best bet would be to setup a DNSOnly only copy and see how it goes. You can add it as a slave to your existing cPanel configurations without the rest of the world seeing it (because you'll have not yet changed your nameserver settings at the registrars). You can then see how much load RAM/CPU it is imposing while idle when configured with all the domains from your main servers. Once you've determined you have enough resources to cope when idle, simulate a pile of requests by running

dig@<newserver> <sub>.<doamin>.<tld>

in a loop at a reasonable rate ("resonable" being defined by the DNS traffic you would expect your cPanel servers to get) from a couple of locations to see if it copes under load (i.e. doesn't start swapping, and doesn't take ages to respond to s single manual request while the load test loops are running).

Back when I ran a couple of cPanel servers I had trouble getting DNSOnly to work properly so I instead resorted to setting up secondary DNS using a simple Debian+Bind setup, wrote scripts that rsynced the zone files from the cPanel servers and recreated the named.conf to match followed by restarting bind, and set those scripts to run every 10 minutes. This took a lot less time to setup and test than I'd already spent trying to get cPanel DNSOnly to work, worked reliably, and the up-to-10-minutes extra delay on DNS updates to the slaves was acceptable as was the bandwidth the rsync processes used. If you do this, make sure you have bind's announcements turn off (they won't break anything, but you'll end up with many unnecessary messages in your logs).

David Spillett
  • 22,534
  • 42
  • 66
  • Just for clarity: cPanel does not use Apache to serve it's admin interface, and the "DNS Only" version doesn't have Apache at all. – Matthew Clark Aug 01 '12 at 03:45