Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

My company has to image a large amount of machines by the end of the year. Each of the machines will have hardware RAID 1 and running CentOS 6.

What options do I have for automating the OS installation on these systems?
I have a little mini desktop I can set up as an install server, and we can get a switch to create an installation network, but I'm not sure how to go about actually performing the automated installs.

share|improve this question

5 Answers 5

You might not want to do the USB stick image approach with 500 machines, BUT, you may very well go with the image approach using CloneZilla, multicasting over network from a server. See

http://clonezilla.org/clonezilla-SE/

for details.

share|improve this answer

The Foreman is a great interface for managing DNS, DHCP, PXE, Kickstart and Puppet.

Edit: You are better off placing whatever software you choose for installation, on a dedicated server. (Maybe your office can spare one from on of the 500+ they have) Even if you do this once or twice a year, this provisioning infrastructure belongs with the rest of your "important" infrastructure, not on a desktop.

share|improve this answer
    
Would you have any idea if there is a difference between Cobbler and Foreman? –  Igor Oct 2 '12 at 18:17
1  
@Igor Both can do DNS, DHCP, PXE and Kickstart. Foreman also has deeper integration with Puppet. It can show puppet reports, let you assign 'Roles' and act as a 'External Node Classifier' for puppet. In a diverse Network, both tools take some effort to install and properly configure. But after that, some may find Foreman easier to use. If you use puppet, there are many benefits, and you may not need to keep re-imaging all servers. If you don't use puppet, there is not much advantage either way, as both are great tools. –  Not Now Oct 2 '12 at 18:48

While I fully support what @NickV is saying, do not underestimate the power of simplistic complete image approach with, say, a USB stick/disk storage. Especially if you are not accustomed with the workings of DHCP, HTTP servers, kickstart, TFTP and the rest. What I found out is that by the time you get all these up and going you could possibly get a system installed get a complete bootable disk image (with one of the many software that can do this) copy this image to as many USB devices you want and boot from it on as many systems you wish and be half done.

Now if you are setting this as a permanent distribution then the extra work described by @NickV will certainly benefit you in the long run.

share|improve this answer
1  
You do NOT want to do this with 500 machines. –  Michael Hampton Oct 2 '12 at 1:32
    
Why not? If it is a one time or even a one in several years necessity. We do it for 200+ machines and works like a charm. It is pathetic to repeat yourself several hundred times but it works very nicely without having to maintain the extra infrastructure. –  ank Oct 2 '12 at 7:14
    
Because of all the time you're wasting. –  Michael Hampton Oct 2 '12 at 11:53
    
@ Ank. Although for my team we will probably provision 500-2k worth of servers, we will probably make one for IT to save them time on their builds too for new hires. I agree that simplicity is a key but going forward this would be a best solution overall. Thank you :) –  Igor Oct 2 '12 at 18:20
    
Kickstart has other advantages -- like if someone hoses their desktop you can drop their port into the Kickstart vLAN (using your managed switch), have them reboot, and when they come back from Lunch they'll have a desktop reinstalled and ready to work. Configuring this kind of magic takes a little more time and effort, but for large organizations it's totally worth it. –  voretaq7 Nov 21 '12 at 4:09

HowToForge has a great article to get such a process started here

Basically, the following is a high-level list of activities that would be required:

  1. Establish a DHCP server that can support the number of clients (VLANs and such)
  2. Create an HTTP server that can host the installation
  3. Create a kickstart script for the installation. The kickstart can be based off the ks-anaconda.cfg file created when the OS is installed for the first time in the root home directory (normally located at /root/)
  4. Integrate the kickstart script and HTTP server with a TFTP server, to support PXE booting.
  5. Reboot target machines and PROFIT!
share|improve this answer
    
That howto looks pretty complete (but I've only glanced at it). Kickstart is THE way to do this on RedHat/CentOS systems. There is even a document from CentOS describing the process –  voretaq7 Nov 21 '12 at 4:05

Cobbler was designed for this.

share|improve this answer
    
Have you ever used Foreman? Any idea on the difference between the two? –  Igor Oct 2 '12 at 18:23

Your Answer

 
discard

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.