[ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]

FAI Guide (Fully Automatic Installation)
Chapter 1 Introduction


The homepage of FAI is http://www.informatik.uni-koeln.de/fai. There you will find any information about FAI, for e.g. the mailing list archive. The FAI package is also available as a Debian package from www.informatik.uni-koeln.de/fai/download. It's an official Debian package and is available from all Debian mirrors. Send any bug or comment to fai@informatik.uni-koeln.de. You can also use the Debian bug tracking system (BTS) http://www.debian.org/Bugs for reporting errors.

You can access the CVS repository from a Bourne shell using the following commands. The login password is empty, so only press return.

     > CVSROOT=:pserver:anonymous@cvs.debian.org:/cvs/debian-boot
     > cvs login
     > cvs co -P fai-kernels
     > cvs co -P fai

You can also use the web interface for the CVS repository at: http://cvs.debian.org/fai/ (and fai-kernels).

Now read this manual, then enjoy the fully automatic installation and your saved time.


1.1 Motivation

Have you ever performed identical installations of an operating system several times? Would you like to be able to install a Linux cluster with dozens of nodes single handedly?

Repeating the same task time and again is boring -- and will surely lead to mistakes. Also a whole lot of time could be saved, if the installation were done automatically. An installation process with manual interaction does not scale. But clusters have the habit of growing over the years. Think long-term rather than plan only just a few months into the future.

In 1999, I had to organize an installation of a Linux cluster with one server and 16 clients. Since I had much experience doing automatic installation of Solaris operating system on SUN SPARC hardware, the idea to build an automatic installation for Debian was born. Solaris has an automatic installation feature called JumpStart[1]. In conjunction with the auto-install scripts from Casper Dik[2], I could save a lot of time not only for every new SUN computer, but also for reinstallation of existing workstations. For example, I had to build a temporary LAN with four SUN workstations for a conference, lasting only a few days. I took these workstations out of our normal research network and set up a new installation for the conference. When it was over, I simply integrated the workstation back into the research network, rebooted just once, and after half an hour, everything was up and running as before. The configuration of all workstations was exactly the same as before the conference, because everything was performed by the same installation process. I also use the automatic installation for reinstalling a workstation after a damaged hard disk had been replaced. It took two weeks until I received the new hard disk but only a few minutes after the new disk was installed, the workstation was running as before. And this is why I chose to adapt this technique to a PC cluster running Linux.


1.2 Overview and concepts

FAI is a non interactive system to install a Debian GNU/Linux operating system on a single computer or a whole cluster. You can take one or more virgin PC's, turn on the power and after a few minutes Linux is installed, configured and running on the whole cluster, without any interaction necessary. Thus, it's a scalable method for installing and updating a cluster unattended with little effort involved. FAI uses the Debian GNU/Linux distribution and a collection of shell and perl scripts for the installation process. Changes to the configuration files of the operating system can be made by cfengine, shell, perl and expect scripts.

FAI's target group are system administrators how have to install Debian onto one or even hundreds of computers. Because it's a general purpose installation tool, it can be used for installing a Beowulf cluster, a rendering farm or a linux laboratory or a classroom. Also large-scale linux networks with different hardware or different installation requirements are easy to establish using FAI. But don't forget to plan your installation. How to plan your installation, Chapter 5 has some useful hints for this topic.

First, some terms used in this manual are described.

install server :
The host, where the package FAI is installed. It provides several services for all install clients. In the examples of this manual this host is called kueppers.

install client :
A host, which will be installed using FAI and a configuration from the install server. Also called client for short. In this manual the example hosts are called bigfoot, ant01, ant02, nucleus, atom01, atom02,...

configuration :
The details, how the installation of the clients should be performed. This includes information about:

nfsroot :
A filesystem located on the install server. It's the complete filesystem for the install clients during the installation process. All clients share the same nfsroot, which they mount read only.


1.3 How does FAI work ?

The install client which will be installed using FAI, is booted from floppy disk or via network card. It gets an IP address and boots a linux kernel which mounts its root filesystem via NFS from the install server. After the operating system is running, the FAI startup script performs the automatic installation which doesn't need any interaction. First, the hard disks will be partitioned, filesystems are created and then software packages are installed. After that, the new installed operating system is configured to your local needs using some scripts. Finally the new operating system will be booted from the local disk.

The details, of how to install the computer (the configuration), are stored in the configuration space on the install server. Configuration files are shared among groups of computers if they are similar using the class concept. So you need not to create a configuration for every new host. Hence, FAI is a scalable method to install a big cluster with a great number of nodes.

FAI can also be used as an network rescue system. You can boot your computer, but it will not perform an installation. Instead it will run a fully functional Debian GNU/Linux without using the local hard disks. Then you can do a remote login and backup or restore a disk partition, check a filesystem, inspect the hardware or do any other task.


1.4 Features


[ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]
FAI Guide (Fully Automatic Installation)
Version 1.3.1 for FAI version 2.2.3, 15 november 2001
Thomas Lange lange@informatik.uni-koeln.de