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 trying to create a physically separate QA server of an existing install of CentOS, which has various software installed. It also has several files and configurations that I need to preserve.

Assuming I have another server identical in specs, what can I do to create a QA server that is more or less exactly the same as my production server?

share|improve this question
up vote 3 down vote accepted

You can use a tool like SystemImager to clone your existing server, and deploy the cloned copy to another server (needs DHCP+PXE for best results). SystemImager takes care of IP assignments, and you can change partition layouts and other things by digging in the SystemImager scripts.

Or, you can use blueprint to "reverse engineer" your existing servers configuration, and create puppet/chef recipes. Deploy the new server with those recipes. This is a better approach in the longer term, if you have to maintain many servers regularly.

share|improve this answer

If it's identical, you can clone the disks with dd or any other similar tool. You could also just restore whatever backup you have from your production server to your QA server. If the configuration is the same, there's not much to think about.

If you're going to be doing this a lot, you should look into chef or puppet to automate your builds so that you have guaranteed consistency in all new builds without the hassle of having to dd or restore backups.

share|improve this answer
how would dd work with network settings, in that in my internal network, my ip is different from the other box? – user1040625 Nov 15 '11 at 14:15
@user1040625 Normally, in a situation like this, the server admin makes a checklist of things that need to be changed on cloned machines. This generally includes things like hostname, IP configuration, etc. – MDMarra Nov 15 '11 at 14:16
puppet is by far the most efficient solution for this. The only downside is that it is more time consuming then a dd. The big advantage is that it keeps the configuration standard all along the way by checking it periodicaly – Antoine Benkemoun Nov 15 '11 at 19:38

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.