Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have multiple webservers with the same content, hosted across different providers. However, I can't seem to find a nice, simple failover solution. Load-balancing software (Pound, HAProxy, etc.) are unnecessary, and I need the flexibility to manage over 100+ domains, so the paid DNS failover solutions I've found are too expensive.

So far the simplest solution I've thought of is just to set a very low TTL (30min - 1hr) in each zone entry on my nameservers (running BIND). Then, continuously monitor each server, and temporarily remove failed servers from zone entries. But this seems like something that should be currently available.

I only have root access to different VPSes running CentOS. Any suggestions? Thanks!

share|improve this question
up vote 1 down vote accepted

We do something similar with one of our systems. DNS is run from MyDNS so all the records are stored in MySQL making the updates nice and simple. The TTL records are also run very low as a even a 5 minute outage can be a pain.

System basically works by checking the heartbeats every few minutes and updating the records accordingly.

Not perfect as a host going down can cause an outage to uses who get that dns back or have stupid dns cache policies in their proxies. Only way around this is to cluster the hosts together in locations in a sort of HA setup.

share|improve this answer
+1 Cool, never knew about MyDNS. Thanks! – Lin Aug 24 '09 at 1:39

What you are looking for is called a global load balancer. It will basically do the same thing that you are doing, only in a more automated fashion.

share|improve this answer
Looks like a hardware solution though. Anything software related? – Lin Aug 24 '09 at 0:06
Not that I know of, but it probably would be hard to put something together at each site to monitor the other site, and if needed delete the record from DNS, either by editing the DNS file, or sending a dynamic DNS update to the authoritative DNS server. (make sure that you have writeable DNS servers at each site.) – mrdenny Aug 24 '09 at 0:54

Take a look at Perlbal

share|improve this answer
Looks like just another load-balancer/webserver in one. I use nginx which already has these capabilities. – Lin Aug 30 '09 at 17:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.