[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 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 archives. 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 etch koeln

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 subversion repository containing the newest developer version of FAI from a Unix shell using the following commands.

     # svn co svn://svn.debian.org/svn/fai/trunk fai

You can also use the web interface for the subversion repository at: svn.debian.org/wsvn/fai/.

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 again and again is boring -- and will surely lead to errors. 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 perform 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 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 6 has some useful hints for this topic.

First, some terms used in this manual are described.

install server :

The host where the package fai-server is installed. It provides several services and data for all install clients. In the examples of this manual this host is called faiserver.

install client :

A host which will be installed using FAI and a configuration provided by 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 file system located on the install server. It's the complete file system 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 file system via NFS from the install server. After the kernel is loaded, the FAI startup script performs the automatic installation which doesn't need any interaction. First, the hard disks will be partitioned, file systems 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 file system, inspect the hardware or do any other task.


1.5 Features


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


FAI Guide (Fully Automatic Installation)

FAI Guide version 2.6.8, 7 December 2007 for FAI package version 3.2.1

Thomas Lange lange@informatik.uni-koeln.de