-1

I want to solicit opinions and options on a way to improve setup time of our many computers. We are a small company, but we have lots of computers. Most of them are used for a certain role in our company, and they are pretty well utilized most of the time. We actually have 2 employees with this role at my location that probably have 15 computers each to work with.

Those employees often find themselves babysitting OS (usually Windows) installations or installing more software to get these set up to be productive, with occasionally some turnover with setting up a new computer to replace and older one, etc. There are maybe 3 different profiles of workstations we'd want to set up with different sets of software for this purpose.

Is there any way you can suggest to improve this process? I'm willing to accept suggestions from any direction. I'm not a system administrator, but again, we're a small company so I do lots of things. I'm sure it's impossible, but ideally we'd like to have system images that we can save, then load up on a given computer. It would include the OS, a set of software, and would work on different hardware as much as possible, and require the least amount of configuration once it was up and running.

We have some old computers and some new, with different hardware, but our newer computers do have a lot in common. We will probably never be able to do a block buy of 10+ computers at a time though so we'll likely always have different hardware around. Obviously hardware can be a problem depending on what the strategy is. But maybe there is a way to do some minimum of installation/configuration that handles the hardware specific stuff, and then from there we can load the rest using a standardized process. Then maybe software licenses could be done as a last step or something. Anyway it would probably be useful if we could work something out that helped to some degree, even if only for the newer computers.

The alternative is that we just make a backup image of every workstation we want to when it is in a full fresh configuration state. That actually still might be worth doing for us.

Some things I've thought of:

  • Disk images (such as Acronis, Macrium)
  • Virtual machines
  • Load some type of profiles over the network somehow??

How do larger companies do this? Do they have just a big inventory of exactly the same machines and they load up an image? Any help is appreciated!

2
  • 2
    Windows Deployment Services would be one way of doing this.
    – joeqwerty
    Jan 29, 2015 at 20:36
  • Larger companies use WDS (as told by joe) and things like MS SCCM. Others use things like Clonezilla and a good base of cloned images. Mar 5, 2015 at 9:34

1 Answer 1

0

You never mentioned which OS. Our approach with Linux is:

  1. Install to a dedicated template machine (or virtual machine)
  2. Install a second copy to a different machine.
  3. Identically configure both to match your needs in that role.
  4. Recursively compare the files of each to see what is the same and what is different.
    1. Some things will be different but are safe to clone from the template (like Yum caches)
    2. Other things will need to be configured differently (like network settings)
    3. The second installation is no longer needed after this step. Only the template remains.
  5. Provision a new server by cloning the template:
    1. Boot from a live CD
    2. Partition
    3. Format
    4. Mount
    5. A big special rsync with all the items from 4)b) above excluded (and /proc, /sys/ ...) excluded
    6. Adjust config files (identified in 4)b) as well) as needed
    7. Create excluded directories (/proc, /sys, ...)
    8. chroot and install grub to the boot files
  6. After booting, if the hardware has nVidia graphics and runs X, we then create an appropriate xorg.conf using "nvidia-xconfig".

Much of this is scriptable as well.

One final tip: Make sure to include all the types of kernel modules used for your disk controllers in /etc/modprobe.conf (or /etc/modprobe.d). Then you will end up with a template that can boot on all your types of hardware after cloning. To determine what to use for unknown hardware, just do a quick minimal install on it and see what the installer selected, then add the same modules to the template.

With all this done, the template machine is continually kept up-to-date and other machines can be (re)created as needed.

1
  • Mostly Windows. That sounds like a really interesting approach. Experiment and build template that is only based on commonality. Is that something that only works with Linux?
    – mikato
    Jan 30, 2015 at 18:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .