Hello Amurray,
Perhaps the easiest way to do this is to download a copy of "System
Imager" by Brian Finley of "Bald Guy Software". This is free software
and works pretty good at our facility. Brian (and others) are also
quite responsive to constructive feedback (as well as good bug
reports). The home page is at
http//systemimager.org/
Plus, there is a step by step "how to" at
http://systemimager.org/manual/html/theactualstep-by-stephowto.html
I followed the step by step with only a few problems (due to our local
configuration). It is also an efficient set of tools.
This is part of a group of applications (System Configurator, System
Installation Suite) to manage a number of systems. Parts were used by
VA Linux to configure (and test) clusters - so it handles a number of
machines pretty easily.
I will summarize how I have used it for a cluster of Linux machines
and then describe how it can be adapted for your application.
[1] Download and install the applications. I use Red Hat (an RPM based
distribution) so I downloaded the RPM's. If you use Debian, you can
use aptget. If something else, there is also a compressed tar file
available. The step by step describes using PXE as one of the options
(mkbootserver - will set up the configuration you need on the server)
At this point, you should have the image server set up and can start
to set up a client. If you don't have enough space in /var to store
the master files, move these files to another partition and put a soft
link to that location. In my case I had a partition named /opt1 where
I put the client software.
[2] The documentation refers to a "golden client" - this simply
refers to a machine that you like the configuration for. In my case, I
picked one of the machines that was already set up. In your case, you
may be in the same situation or could simply install what you want
from the distribution. You can have as many golden clients as you like
[or have a generic client and use a post install script to customize
for a specific use].
[3] Install the client software on the "golden client". Then use the
utilities to create the copy on the server (updateclient).
[4] At this point, you should test the results with a new client. In
my case, I found a few bugs (fixed in the upcoming release) where...
- I didn't have a domain nor gateway set, you can fix the script in
/var/systemimager/scripts if needed.
- the "golden client" had two disks but the new client had only one.
The script died trying to format the [missing] second disk
- the default is to wait and beep at you instead of rebooting (or
perhaps in your case to shutdown). I was in another building so that
was not a happy discovery.
Based on what I learned, I suggest you sit and watch the install the
first time to make sure it does what you want.
At this point, your entry for further customization (e.g., choose one
of several configurations) is to modify the script used on the new
client. Again, it is in /var/systemimager/scripts. Perhaps a query
after the disk format & mount and before you run rdist (see the script
for details) to select one of several directories to bring down.
Another good place to put your own changes is after systemconfigurator
is run and before the disks are unmounted. I put some custom fixes for
our environment there. If you use Red Hat, you can bring down more RPM
packages from the image server. Debian has a similar technique.
Extending this to Windows should not be too difficult. The
partitioning is handled by the disk formatter. Restoring the disk
partition could be done using a disk image similar to how CD ROM or
floppy images are distributed. I would have to do a little more
research to describe how to get the data moved across the network.
I hope this answer meets your needs. If you get stuck at some point,
don't hesitate to ask for a clarification or ask Brian directly on the
mailing list. A final note, Brian is about to release a new version.
One called "2.99" is available for download - check the mailing list
and/or Source Forge site for details. After testing is done - version
3 will be available.
--Maniac |