FAI is a non-interactive system to install, customize and manage Linux systems and software configurations on computers as well as virtual machines and chroot environments, from small networks to large-scale infrastructures like clusters and cloud environments.
It's a tool for unattended mass deployment of Linux. You can take one or more virgin PC's, turn on the power, and after a few minutes, the systems are installed, and completely configured to your exact needs, without any interaction necessary.
What is FAI? Main Features
- A tool for automated unattended installation. Lazy system administrators like it.
- Remote network installation of different Linux flavors
- Easy-to-use centralized management system for your Linux deployment.
- It's fast. It only takes a few minutes for a complete installation.
- Scalable. FAI users manage their computer infrastructures starting from a few computers up to several thousands of machines.
- Different hardware and different configuration requirements are easy to establish using FAI. You do not need to repeat information that is shared among several machines.
- Using the FAI class concept, you can group a bunch of similar machines.
- Installation targets: desktops, servers, notebooks, Beowulf cluster, rendering or web server farm, Linux laboratory or classroom.
- Linux rollout, mass installation and automated server provisioning are additional topics of FAI.
- FAI is lightweight. No special daemons are running, no database setup is needed. It's architecture independent, since it consists only of shell, Perl and Cfengine scripts.
- Easy creation of customized unattended ISO
- Besides initial installations, it is used for daily maintenance, and can set up chroot environments.
- Compared to tools like kickstart or cobbler for Red Hat, autoyast for SUSE or Jumpstart for SUN Solaris, FAI is much more flexible. You can tune every small part of your configuration to your local needs using hooks.
FAI Installation Steps
- Network boot via PXE
- Receive configuration data via HTTP, NFS, svn or git
- Run scripts to determine FAI classes and variables
- Partition local hard disks and create RAID, LVM configuration and the file systems
- Install and configure software packages
- Customize OS and software to your local needs
- Reboot freshly installed machine
- All this can also be done via an unattended CD installation