1. Introduction

1.1. Sources

La page d'accueil de FAI est http://www.informatik.uni-koeln.de/fai. Vous y trouverez toutes les informations sur FAI, par exemple les archives de la liste de diffusion. Le paquet FAI est aussi disponible comme un paquet Debian sur le site http://www.informatik.uni-koeln.de/fai/download. C'est un paquet Debian officiel et il est disponible sur tous les miroirs Debian. Pour accéder aux nouvelles versions de paquets FAI, ajoutez la ligne suivante dans votre fichier /etc/apt/sources.list.

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

Envoyez vos rapports de bogue ou commentaires à . Vous pouvez aussi utiliser le système de recherche de bogue de Debian (Bug Tracking System = BTS) http://www.debian.org/Bugs/ pour rapporter les d’erreurs.

Vous pouvez avoir accès au dépôt CVS contenant la dernière version en développement de FAI en utilisant les commandes suivantes en mode console. Le mot de passe d'établissement de la connexion est vide, appuyez simplement sur « Entrée ».

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

Vous pouvez aussi utiliser l'interface web du dépôt CVS à l’adresse : cvs.debian.org/fai/ (Et fai-kernels).

1.2. Origine et objectifs de FAI

Si vous êtes lassés d’exécuter des installations identiques d'un système d'exploitation de façon répétitive. Vous souhaitez être capable d’installer de façon simple un groupe de machines Linux identiques.

La répétition de la même tâche est ennuyeuse et source d’erreurs. Il est donc possible d’économiser beaucoup de temps en réalisant l'installation automatiquement.

En 1999, l’auteur, Thomas LANGE, a dû réaliser l’installation d'un cluster Linux avec un serveur maître et 16 clients. En se basant sur son expérience de l’installation automatique du système d’exploitation Solaris, sur du matériel SUN SPARC, l'idée de réaliser une installation automatique pour Debian est née. Solaris disposait d'une fonction d'installation automatique appelée JumpStart[1]. En s’appuyant sur les scripts d’auto-installation écrits par Casper Dik[2], il a pu économiser beaucoup de temps, non seulement pour chaque nouvel ordinateur SUN, mais aussi pour la réinstallation des machines existantes. Par exemple, lors de la mise en place provisoire d’un réseau local avec quatre stations SUN pour une conférence, qui a duré seulement quelques jours. Il a pris ces stations dans le réseau de recherche normal et a préparé une installation spécifique pour la conférence. Lorsque tout a été fini, il a simplement réintégré les stations dans le réseau de recherche, redémarré une fois les machines et une demi-heure plus tard, tout fonctionnait comme auparavant. La configuration de tous les postes de travail était exactement la même qu'avant la conférence, parce que tout avait été exécuté suivant le même processus d'installation. La même procédure d'installation automatique est aussi utilisée pour réinstaller un poste de travail après le remplacement d'un disque dur endommagé. Il a fallu deux semaines pour recevoir le nouveau disque dur, mais seulement quelques minutes après la mise en place du nouveau disque pour que le poste de travail fonctionne comme auparavant. C’est ce qui l’a décidé à adapter cette technique à un cluster de PC sous Linux.[1][2]

1.3. Vue d'ensemble et concepts

FAI est un système non-interactif pour installer le système d'exploitation Debian GNU/Linux sans surveillance sur un ordinateur isolé ou sur un cluster complet. Vous pouvez prendre un ou plusieurs PC vierge, mettre sous tension et après seulement quelques minutes, Linux est installé, configuré et opérationnel sur tout le cluster, sans aucune interaction nécessaire. C'est aussi une méthode évolutive pour installer et mettre à jour un cluster sans surveillance et de façon simple. FAI utilise la distribution Debian GNU/Linux et un ensemble de scripts en shell et en perl dans la procédure d'installation. Les changements dans les fichiers de configuration du système d'exploitation peuvent être faits par cfengine, shell, perl ou d'autres langages de scripts.

FAI s’adresse aux administrateurs système qui doivent installer Debian sur un grand nombre d'ordinateurs. Parce que c'est un outil d'installation généraliste, il peut aussi être utilisé pour installer un cluster Beowulf, une ferme de calcul, un laboratoire Linux ou une salle de classe. Il est également facile de construire avec FAI des réseaux à grande échelle avec du matériel hétérogène ou des besoins d'installation différentes. Mais n'oubliez pas de préparer votre installation. Le chapitre Préparez votre installation, FAI suivra vos instructions fournit quelques conseils utiles sur ce sujet.

Commençons par la description de quelques termes utilisés dans ce manuel.

Serveur d’installation

l'hôte sur lequel le paquet FAI est installé. Il fournit plusieurs services et les données pour toutes les machines « clientes » à installer. Dans les exemples de ce manuel cet hôte est appelé kueppers .

Client installé

une machine qui sera installée en utilisant FAI et une configuration préparée sur le serveur d'installation. Nous l'appellerons plus simplement client . Dans ce manuel, les clients exemples sont appelés demohost , nucleus , atom01 , atom02 ...

Configuration

Tous les détails sur la façon dont l'installation des clients doit être exécutée. Cela inclut les informations sur :

  • Le(s) disque(s) dur(s)

  • Les systèmes de fichiers locaux, leurs types, points de montages et options de montage

  • Les paquets de logiciels choisis

  • La configuration du clavier, du fuseau horaire, du NIS, de XFree86, du NFS, des comptes d'utilisateur, des imprimantes…

Nfsroot

C'est un système de fichiers (chrooté) placé sur le serveur d'installation. C'est le système de fichiers complet pour les clients pendant le processus d'installation. Tous les clients partagent le même nfsroot, qu'ils montent en lecture seule.

1.4. Comment fonctionne FAI ?

Le client qui va être installé en utilisant FAI, est démarré en boutant sur une disquette ou via la carte réseau. Il obtient alors une adresse IP et démarre un noyau Linux, puis monte son système de fichiers racine via NFS sur le serveur d'installation. Quand le système d'exploitation est opérationnel, le script de démarrage FAI exécute l'installation automatique, sans aucune interaction. D'abord, les disques durs sont partitionnés, les systèmes de fichiers sont créés et les paquets de logiciels sont installés. Ensuite, le nouveau système d'exploitation est configuré selon vos besoins locaux en utilisant quelques scripts. Finalement, le nouveau système d'exploitation va redémarrer en boutant sur le disque local.

Les détails sur la façon d'installer l'ordinateur (la configuration), sont stockés dans l'espace de configuration du serveur d'installation. Les fichiers de configuration sont partagés par les groupes d'ordinateurs qui ont une fonction similaire en utilisant le concept de classes. Donc vous n'avez pas besoin de créer une configuration pour chaque nouvelle machine. Il en ressort que FAI est une méthode évolutive pour l’installation d’un grand cluster avec un nombre important de noeuds.

FAI peut aussi être utilisé comme un système de dépannage en réseau. Vous pouvez démarrer votre ordinateur, mais sans exécuter d'installation. Au lieu de cela il démarrera un système Debian GNU/Linux complètement fonctionnel sans utiliser les disques durs locaux. Vous pouvez alors vous connecter à distance et sauvegarder ou restaurer une partition de disque, vérifier un système de fichiers, contrôler le matériel ou faire n’importe qu'elle autre tâche.

1.5. Fonctions

  • Exécution d’une installation entièrement automatisée.

  • Installation sans surveillance très rapide

  • Les hôtes peuvent bouter sur la disquette ou sur la carte réseau

  • Création facile de la disquette de boot (commune).

  • Les protocoles DHCP et BOOTP sont supportés, ainsi que la méthode de boot PXE.

  • Aucun disque virtuel initial n'est nécessaire, 8MO de RAM suffisent et celà fonctionne même sur une unité centrale à base de i386

  • Le noyau d'installation peut utiliser des modules

  • L’établissement d’une connexion via ssh est possible pendant le processus d'installation

  • Deux terminaux virtuels complémentaires sont disponibles pendant l'installation

  • Toute la configuration commune est partagée par tous les clients

  • Les fichiers de log pour toutes les installations sont sauvegardés sur le serveur d'installation

  • Les scripts Shell, perl, expect et cfengine sont supportés pour la mise en oeuvre de la configuration

  • Accès à un miroir Debian via NFS, FTP ou HTTP

  • Configuration du clavier paramétrable

  • Peut être utilisé comme un système de secours

  • Testé sur du matériel SUN SPARC sous Linux ou Solaris

  • Système flexible grâce au concept de classes

  • Classes Beowulf prédéfinies incluses

  • Supporte les clients sans disque

  • Ajout facile de fonctions personnalisées via un système de crochets (NdT : « hooks »)

  • Changement facile du comportement par défaut via des crochets

  • Support de LILO et GRUB

  • Support des système de fichiers ReiserFS, ext3 et XFS

  • Détection de matériel automatique

  • Le démarrage et l'installation à partir d’un CD-ROM sont en préparation.



[1] Solaris 8Advanced Installation Guide sur docs.sun.com