[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ next ]

FAI Guide (Fully Automatic Installation)
Chapter 1 - Introduction


1.1 Availability

The homepage of FAI is http://www.informatik.uni-koeln.de/fai. There you will find information about FAI, for example the mailing list archive. The FAI package is also available as a Debian package from http://www.informatik.uni-koeln.de/fai/download;. It's an official Debian package and is available from all Debian mirrors. To access the newest versions of the FAI packages, you can add the following line to your /etc/apt/sources.list file.

     deb http://www.informatik.uni-koeln.de/fai/ download/

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 containing the newest developer version of FAI 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: cvs.debian.org/fai/ (and fai-kernels).

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


1.2 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 installations 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 planning 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 installations of Solaris operating systems 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 re-installation of existing workstations. For example, I had to build a temporary LAN with four SUN workstations for a conference, which lasted 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 workstations 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 used 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.3 Overview and concepts

FAI is a non-interactive system to install a Debian GNU/Linux operating system unattended on a single computer or a whole cluster. You can take one or more virgin PCs, 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 who 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. Plan your installation, and FAI installs your plans, 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 and data 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 demohost, nucleus, atom01, atom02,...
configuration :
The details of how the installation of the clients should be performed. This includes information about:
nfsroot :
A (chroot) 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.4 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 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 a 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.5 Features


1.6 Quickstart - For the impatient user

So, you do not like to read the whole manual? You like to try an installation without reading the manual? OK. Here's how to succeed in a few minutes.

But now don't forget to read chapters Plan your installation, and FAI installs your plans, Chapter 5, Overview of the installation sequence, Chapter 4 and Installation details, Chapter 6 !


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ next ]

FAI Guide (Fully Automatic Installation)

FAI Guide version 2.5.2, 19 may 2005 for FAI package version 2.8

Thomas Lange lange@informatik.uni-koeln.de