Automatic Installers Review / F1
Cluster computer consists of a group of interconnected computers working together as a single computer. Beowulf is a special type of cluster where the access to all nodes is done through server node. Server node has set of set specific software packages, while nodes have identical software installed. For installation of OS and software packages on client nodes specific systems are used. These systems are called automatic installers. Automatic installer is a system used for automatic deployment of software on remote computers. Beside for cluster installation, automatic installers are used for installation of large number of workstations (e.g. classroom computers). Typical automatic installer architecture is following. All software packages are placed on server machine. Client nodes then use some type of network boot procedure. After boot, packages are fetched and installed on nodes.
In order to choose optimum automatic installer system for cluster we evaluated set of systems. All evaluated systems are used for installation of different flavors of Linux OS. As far as we know, there are similar systems for other platforms. Some of them are Remote Installation Systems for Windows and JumpStart for Solaris. Installers here reviewed are: Linux Utility for Cluster Installation, SystemImager, System Installation Suite, LCFG and Fully Automatic Installer.
Linux Utility for Cluster Installation (LUI)  was a project started by Rich Ferri, contributed by IBM Linux Technology Center. LUI is a resource based automatic installer, where the resources are RPM packages, disk partition tables, post install scripts, kernels, etc. Resources are placed in LUI database and assigned to the nodes. Installation process is following. Node is booted via network card. Once booted, client mounts NFS root on LUI server. After that, install script uses the information from LUI database to finish the installation. Major issues of LUI were unreliability and complexity of resource model. Project was finished in 2001.
SystemImager  is a project started by Brian Elliot Finley. SystemImager is an image based installation tool. On SystemImager Server image of system is held. Image of system is created using special node, called "first node". "First node" is template for all other nodes. Node installation process is following. Node uses network boot to fetch special Linux kernel – BOEL (Brian's Own Embedded Linux). After loading, the BOEL kernel fetches auto-install script from server that downloads the image. Major issue of SystemImager is inflexibility. Simple difference between client nodes requires building a new system image. Another problem is that "first node" has to be installed manually. SystemImager system is still used for installation of homogenous set of computers.
In spring of 2001. LUI was merged with SystemImager into System Installation Suite  . System Installation Suite solves issues mentioned above. System Installation Suite consists out of following three subsystems: SystemInstaller (former LUI), SystemImager and System Configurator. SystemInstaller uses much simpler resource model to build nodes images from a set of RPM packages. System Configurator is responsible for network, boot and ramdisk setup on client nodes. System Installation Suite is used as a part of OSCAR cluster distribution.
Fully Automatic Installer (FAI)  is an automatic installation tool for Linux Debian OS. Configuration of clients is held in configuration files on FAI server. Client installation procedure is similar to LUI's. Client is booted using network boot. Once booted, client mounts root file system via NFS from FAI server. After that, install script uses Debian mirror to install software packages.
Local Configuration System (LCFG)  is a project started by Paul Anderson at Edinborough University. Beside automatic software deployment, LCFG can dynamically configure and update remote machines. Software packages are kept in form of RPM packages on LCFG server. Client nodes are described with specific language in "source" files, which are held on LCFG server. Web interface is provided on LCFG server and it is used to display status of installed clients. Client installation process is similar to FAI. Once the client is up, LCFG Client service is started. Every time when configuration of node on server is changed, Server service notifies all necessary Client services. Client services then update the machine. Major issue of LCFG is complexity of source files. LCFG is used as deployment tool in DataGrid project.
Based on information we gathered, our conclusion is that following three systems have sastifying properties to be used for automatic installation: System Installation Suite, FAI and LCFG. System Installation Suite can be used for installation using various types of RPM packages (e.g. RedHat, Mandrake). FAI can be used for deployment of Debian packages. LCFG is chosen because of dynamic update and configuration features.
Emir Imamagić graduated from the Department of Electronics, Microelectronics, Computer and Intelligent Systems, Faculty of Electrical Engineering and Computing, University of Zagreb in May 2004. His research interests are high performance computing, distributed computing, computer clusters and grid systems.
Before graduation, he has worked on the AliEn Grid project at CERN, Switzerland in summer 2003 and on the MidArc middleware project at Ericsson Nicola Tesla in summer 2002. He is currently working as a researcher on the CRO-GRID Infrastructure project at University Computing Centre.