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

I'm writing a spec for a high availability application. I need a low budget solution to be able to failover between two data centers. Replicating databases and content I'll be able to manage solutions for. What are some solutions for "cutting over" from one location to another?

share|improve this question
up vote 2 down vote accepted

Your problem is two-fold. One is how you replicate data; second is how you direct traffic to the currently active site.

1: This heavily depends on your requirements. Synchronous replication is expensive, really expensive, mostly hitting your network costs. Async can be done in many different, both simple and cheap, and complex and vendor-license-cost-bleeding ways, but won't give you the assurance of never losing any data. Talk to your business leaders, find out what they want to see, build something that answers those specific requirements.

2: Two standard approaches are modifying DNS records (which you seem to be aware of, judging by the question tags) or running BGP.

Most existing GSLB appliances use DNS: the hardware that's aware of your servers' status acts as the authoritative server for you domain, issuing responses that point the clients to the appropriate site. Your failover time depends on TTL set for the zone and the behavior of client software. This approach doesn't guarantee 100% success, but seems to be accepted by everyone as "good enough". You can do the same without dedicated hardware, just with some smart scripting (monitor the hosts, modify bind zone files and reload bind when necessary).

BGP is more clearcut: you advertise your IP block from the site that needs to receive all traffic, and within the convergence time (15 minutes or so) all traffic will go there. No dependency on broken DNS resolvers or name caches. More difficult to setup though - you do need BGP capable routers at both sites.

share|improve this answer

To handle real time data center failover (aka DR) for your databases you'll need some storage which can handle real time synchronous replication between the sites. All your big storage array's can handle this but they are pricey. Starwind software has some storage software which will turn any Windows server into a storage array.

Some more information as to what you are trying to do, what platforms you are looking at, etc would be most helpful.

share|improve this answer
DR doesn't mean "real time". Whether or not DR must have an up-to-date copy of the primary, is determined based on business requirements. There are cases where a day's worth of data can be lost; my neighbor, on the other hand, managed a project where nothing could be lost ever, and the failover had to take zero time. The former is done with rsync and doubling your hardware cost, the latter was a multimillion dollar project. – Max Alginin Oct 13 '09 at 7:21
This is true, it doesn't. In the context that I normally deal with it does so that how I've become used to dealing with it. – mrdenny Oct 13 '09 at 21:00

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.