Preparing a machine to instantly deploy in case of a failure?

Posted by bacardi on Tue 22 May 2007 at 09:58

This must be a common problem, but I can't find the canonical solution. We have two identical machines running a few medium size websites. One is a production machine, the other is an identically setup machine used for development. We want to be able to deploy the development machine quickly in case of problems with the primary server - how should we go about that?

Currently, when features on the development server are adequately tested, they are pushed into production.

Due to a tight budget, we do not have a live redundant backup to our production server (other than its RAID 1). One thing we do have is hard drive space - so we've been trying to setup a process where live production data (mysql, apache) is backed up nightly onto the development machine, so if the production server goes down, we can flip the development server into production mode.

This seems to be an extremely dirty method, requiring manually changing a lot of configuration files, questions about whether the development server can actually acquire the production IP, and many other quirks.

I have not completed this process, but there must be a more efficient (standard?) way. I've only been involved with Debian for a little over a year, but have done enough Linux to pick things up quickly.. and after some browsing, haven't run into many cases of easily converting a development machine into production mode.

Any suggestions would be appreciated!


This article can be found online at the Debian Administration website at the following bookmarkable URL:

This article is copyright 2007 bacardi - please ask for permission to republish or translate.