There are certain inherent problems with image duplicating for NT box
propagation. While having identical hardware helps immensely with avoiding
wierd and unusual problems, this is no guarantee. I've had identical
machines with very small chip revisions in devices as insignificant as
IOMega Zip drives cause BAD systemic problems when machines are duplicated
with copying programs such as Ghost.
A year two Taylor University network administrators, Aaron Brooks and Joel
Martin, created a linux boot disk system which can build any of our lab
in about an hour and a half. The build process is a true NT install complete
with 75+ applications which serve the CSS and Science divisions which we
service. Did I mention that these machines dual boot to linux too and that is
part of the build? The components are the following:
* A boot disk containing only a DHCP kernel-autoconfig NFS root kernel
* an NFS server with the NT i386 image and a base unattend.txt file. This
NFS server doesn't necessarily need to be a Linux box. This could be an NT
box running WarNFS or something like that if someone wanted to do that.
* a series of perl scripts which, given the machine name and hardware
probe information, customize the unattend.txt file
* a perl script which sucessively launch installation of apps after the
initial NT build is complete
* a perl script which installs diffs from Microsoft's SysDiff program (we
have really augmented this process if you are rightfully having doubts
about the standard SysDiff process)
* a script which does DLL and other file conflict and version resolution
* a SaMBa server which houses the diffs of the applications
* a series of ScriptIt files to install apps that don't SysDiff well (MS
IE 5, MS Publisher 2000, MS NT SP 5 (6? not yet baby, not yet), sense a
theme. Typically these are things which perform OS upgrades (are apps
supposed to do that>??))
* Perl and ActiveState Perl run the system from the Linux and NT sides
This is the only way that our network is managable. Our hardware is
totally heterogeneous, our custom configurations is broad, we need some
machines to run all apps on the network, some machines need to run some
off of the network and others that need all apps to be local. The system
is entirely customizable. A full, proper installation is done, dual
booting linux, in about 1-2 hours depending on config. (It used to be
under an hour before we started installing MetroWerks Codewarrior and
Visual Studio locally for performance reasons.)
Things this system doesn't do right now or could do better:
* Run with little configuration for a novice NT/UN*X admin. This currently
requires some know-how. It turns knowledge into power, configuration, and
most importantly freed time. (Oh, yeah, and stability -- we control the
DLL versions... this really helps out a lot (see MSDN newsletter Jan/Feb
2000, article "The End DLL Hell")
* Resolve conficts of registry keys. This is a very rare occurance since
the registry, at least in some manner, compartmentalizes apps'
information. Generally we have to hand manipulate any shared path keys in
the diff. Rare but it would be nice to have done automatically -- does
require some level of programmable smarts.
* One word: Multicast -- unicast hurts us the most for performance. The
performance is still outstanding considering the sheer volume of apps that
we run but if you need a machine redone in 1/2 an hour this project
currently isn't for you.
This project is not necessarily tied to SaMBa but if you really want to
have an automated network you will want a Linux/UN*X box at the back end
and SaMBa