Software installation can be a challenge as clusters grow in number
and in size.
Most software is installed on local disk
For best performance, software must be installed on local disk rather than on a
fileserver.
Manual installation is inefficient and can be inconsistent
Initially, each software package was installed manually on each node by a systems
staff person. With our original Velocity cluster alone, that was 64 installations
of each package! This inevitably led to software sometimes being installed slightly
differently on different nodes. It also was, of course, very time consuming for
staff. And with more resources being added frequently, clearly we had to streamline
the procedure.
Entire disks are imaged for node replication
We install the operating system and current software
packages on a single node, and then take an "image" of that node. This has worked
well for the batch nodes and collaboratory machines.
This strategy reduces the time to bring additional resources into production, allows
us to recover more quickly should we have a hardware problem with a particular machine
(saving staff time and reducing downtime), and ensures that nodes of one type are
identical.
Machines will occasionally receive a fresh image
Machines, including collaboratory machines, may be "reset" to the most recent image,
or receive a new image (with new software) as needed. Any files you have saved to
local disk, including temp space will be lost (the T: drive on Windows, /tmp on
Linux).
All data you want to save should be stored in your home directory.
When a new image is installed on a machine, note that Desktop Settings and other
local settings, such as those in Visual Studio, will be lost.
Individual application installations/updates (when possible)
When possible we can install new software packages or update existing packages without re-imaging the nodes.
On Windows, this is easily accomplished when a vendor supplies and MSI fie.
We can also use tools like InstallShield AdminStudio Repackager to create our own MSI files.
On Linux, installations and updates can often easily be made with Red Hat Package
Manager (rpm).