Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

We recently had our datacenter's power go. We are protected by an SLA and use DNS to redirect users when a failure is detected. DNS isn't designed to do this by design. Is this the most practical way for dealing with failing over between datacenter's? The datacenter's in question are located in different countries. UK and US.

Anyone have any advice to give on this particular scenario?

EDIT: Cost effective as possible without BGP or other complex systems that require adding dedicated hardware.


share|improve this question
What services are hosted on A and B ? Are they the same services with some kind of load balancing? Can users connect to A and B and obtain the same informations ? – Julien Vehent Sep 12 '10 at 16:28
The question can't be answered in its current form. OP doesn't mention which services need failover. There is no one-size-fits-all global failover solution. Please add more information -- services, is data replication part of the question, active-active (load sharing) DCs or active-passive failover... Hope this helps. :-) – Jesper Mortensen Sep 12 '10 at 16:52
up vote 1 down vote accepted

"Cost effective as possible without BGP or other complex systems" means exactly what you have now: DNS Failover (with a really low TTL on the records). -- Ghetto, Cheap and Reasonably Effective.

Absent additional information I would say BGP (possibly coupled with anycast) is probably the "best" solution, but this will require configuration and maintenance at both datacenters.

share|improve this answer
Thank you for your help – James Moore Sep 13 '10 at 20:36

BGP. Basically, you use the BGP protocol to announce a route for your IP network. Normal route goes to datacenter A. If datacenter A fails, BGP announces a new route that leads to datacenter B.

Since this is real time routing information, it's almost transparent, Unlike DNS that requires records propagation, TTL expirations and so on...

It does, however, requires that you manage your pool of IP addresses using your own BGP routers. You need to discuss that with your ISP.

share|improve this answer

Depending on how important uptime is to you, and how much money you can lose per second of downtime, you may be able to invest into an Anycast deployment. If it's not extremely important, using DNS will be fine.

Assuming you're sending both IPs with an A request, the clients should request the second IP sent if the first one fails, it will just add a bit more time to a request.

share|improve this answer

A very good low-cost solution is using Zoneedit: It detects server when the main server is down and switches the DNS to a backup server.

share|improve this answer

Your Answer


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