Les points suivants sont nécessaires pour une installation avec FAI.
l'ordinateur doit avoir une carte d'interface réseau. Un disque dur local est aussi nécessaire, sauf pour une installation sans disque. Aucune disquette ni CD-ROM n’est nécessaire. Le clavier ou la carte graphique ne sont pas obligatoires.
les clients ont besoin d'un de ces démons pour obtenir l'information de boot. Mais vous pouvez aussi mettre toute cette information sur la disquette de boot.
le démon TFTP est utilisé pour transférer le noyau aux clients. C'est nécessaire uniquement en boutant à l'aide d'une carte réseau disposant d’un boot PROM.
c'est un répertoire pouvant être monté, qui contient le système de fichiers complet pour les clients, pendant l'installation. Il sera créé pendant l'installation du paquet FAI et est aussi appelé nfsroot.
l'Accès à un miroir Debian est nécessaire. Un miroir local incluant tous les paquets Debian ou un apt-proxy[ (8)] est recommandé si vous installez plusieurs ordinateurs.
une image de noyau qui supporte la carte réseau et monte son système de fichiers racine via NFS. Le paquet Debian fai-kernels fournit un noyau par défaut pour FAI.
Cet ensemble de répertoires qui contiennent les données de configuration est monté via NFS par défaut. Mais vous pouvez aussi obtenir ce répertoire à partir d'un système de gestion de versions comme CVS.
Le démon TFTP et le serveur NFS seront activés automatiquement lors de l’installation du paquet FAI. Tous les clients doivent avoir une carte réseau qui est reconnue par le noyau d'installation.
Le script mkdebmirror[3] peut être utilisé pour créer votre propre miroir Debian local. Ce script utilise le script debmirror[4] et le protocole rsync[ (1)]. Un miroir Debian 3.0 (Woody) partiel, pour l'architecture i386, sans les paquets source a besoin de 9.0GB d'espace disque. L'accès au miroir via NFS sera la méthode normale et la plus rapide dans la plupart des cas. Pour voir plus de messages lors de l’exécution du script, tapez mkdebmirror --debug. Vous n'avez pas besoin d’utiliser le compte root pour créer et maintenir le miroir Debian. Pour utiliser l'accès HTTP au miroir Debian local, il faut installer un serveur Web et créer un lien symbolique vers le répertoire local où vous avez placé le miroir :
# apt-get install apache
# ln -s /files/scratch/debmirror /var/www/debmirrorCréez un fichier sources.list[ (5)] dans /etc/fai qui donne accès à votre miroir Debian. Un exemple est disponible dans /usr/share/doc/fai/examples/etc. Ajoutez aussi l'adresse IP du serveur HTTP à la variable NFSROOT_ETC_HOSTS dans /etc/fai/make-fai-nfsroot.conf si le client n'a pas d'accès au DNS.[3][4]
Avant l'installation de FAI, vous devez installer le paquet fai-kernels, qui contiennent les noyaux d'installation par défaut pour FAI. Vous pouvez installer les deux paquets en utilisant packageinstall.
Si vous voulez installer tous les paquets qui sont utiles pour FAI, utilisez la commande suivante :
# apt-get install mknbi dhcp3-server tftpd-hpa rsh-server wget syslinuxVous pouvez aussi obtenir la dernière version de FAI et des fai-kernels sur la page de téléchargement de FAI et installer les paquets en utilisant la commande dpkg.
La configuration pour le paquet FAI (pas les données de configuration pour les clients) est définie dans /etc/fai/fai.conf. Les définitions qui ne sont utilisées que pour la création de la nfsroot se trouvent dans /etc/fai/make-fai-nfsroot.conf. Comme FAI n'utilise pas encore debconf, éditez ces fichiers avant d’exécuter fai-setup.
Les variables importantes suivantes sont définies dans /etc/fai/make-fai-nfsroot.conf :
Pour construire le nfsroot, il y a une commande appelée debootstrap[ (8)]. Cela nécessite l’adresse d'un miroir Debian et le nom de la distribution (WOODY, SARGE, SID) pour laquelle le système Debian doit être construit.
Si vous utilisez un accès HTTP ou FTP vers le miroir Debian, ajoutez son nom et son adresse IP à cette variable. Pour un noeud maître de cluster Beowulf, ajoutez-y les noms et adresses IP des deux réseaux. Cette variable n'est pas nécessaire si les clients ont accès à un serveur DNS.
Cette variable est maintenant périmée. Utilisez le fichier /etc/fai/sources.list à la place.
Vous devez spécifier le paquet – construit avec make-kpkg[ (8)] – qui inclut le noyau par défaut pour démarrer les clients. Le paquet Debian fai-kernels contient le noyau d’installation par défaut, qui supporte les protocoles DHCP et BOOTP.
Cette variable contient une liste des paquets complémentaires qui seront ajoutés au nfsroot.
Pour quel(s) protocole(s), de DHCP et/ou BOOTP, le serveur doit-il créer des installations (quand make-fai-nfsroot est lancé). Par défaut, il doit créer l'installation pour les deux protocoles.
Les variables importantes suivantes sont définies dans /etc/fai/fai.conf :
C'est le nom d'hôte et le répertoire distant de l'espace de configuration, qui sera monté via NFS. Sa valeur par défaut est /usr/local/share/fai mais certains préfèrent utiliser /home/fai/config ou /var/fai/config. Rappelez-vous que ce répertoire doit être exportée à tous les clients, pour que tous les fichiers puissent être lus par root.
Si vous avez un accès NFS à votre miroir local Debian, cette variable spécifie le système de fichiers distant. Il sera monté sur $MNTPOINT, qui doit aussi être défini. Ce n'est pas nécessaire si vous utilisez l'accès via FTP ou HTTP.
Le contenu de /etc/fai/sources.list et la variable FAI_DEBMIRROR sont utilisés par le serveur d'installation, mais aussi par les clients. Si votre serveur d’installation dispose de plusieurs cartes réseau avec des noms d'hôte différents pour chaque carte (comme dans le cas d’un serveur Beowulf), utilisez le nom du serveur d'installation connu par les clients.
FAI utilise apt-get[ (8)] pour créer le système de fichiers nfsroot dans /usr/lib/fai/nfsroot. Il faut environ 230Mo d'espace libre sur le disque. Avant l'installation de FAI, vous aurez besoin du programme imggen[5], si vous voulez démarrer sur une carte réseau 3Com. Cet exécutable convertit des images netboot créées par mknbi-linux[ (8)], il est alors possible de bouter sur les cartes réseau 3Com. Mettez l'exécutable dans votre path (par exemple /usr/local/bin). Après avoir édité /etc/fai/fai.conf et /etc/fai/make-fai-nfsroot.conf, lancez fai-setup.
kueppers[~]# fai-setup Adding system user fai... Adding new user fai (101) with group nogroup. Creating home directory /home/fai. /home/fai/.rhosts created. User account fai set up. Creating FAI nfsroot can take a long time and will need more than 230MB disk space in /usr/lib/fai/nfsroot. Creating nfsroot for sarge using debootstrap dpkg: base-passwd: dependency problems, but configuring anyway as you request: base-passwd depends on libc6 (>= 2.3.2.ds1-4); however: Package libc6 is not installed. dpkg: base-files: dependency problems, but configuring anyway as you request: . . . Automatically converting /etc/network/interfaces succeeded. Old interfaces file saved as interfaces.dpkg-old. Creating base.tgz `/etc/fai/sources.list' -> `etc/apt/sources.list' Upgrading /usr/lib/fai/nfsroot Adding additional packages to /usr/lib/fai/nfsroot: module-init-tools dhcp3-client ssh file rdate hwinfo bootpc rsync wget rsh-client less dump reiserfsprogs usbutils dpkg-dev ext2resize hdparm smartmontools parted raidtools2 lvm2 dnsutils ntpdate dosfstools cfengine cvs jove sysutils dialog discover mdetect libnet-perl netcat libapt-pkg-perl grub lilo read-edid kudzu hwtools dmidecode hostname: Host name lookup failure /var/lib/dpkg/tmp.ci/preinst: line 7: lvscan: command not found Creating SSH2 RSA key; this may take some time ... Creating SSH2 DSA key; this may take some time ... starting OpenBSD Secure Shell server: sshd. `/etc/fai/fai.conf' -> `/usr/lib/fai/nfsroot/etc/fai/fai.conf' `/etc/fai/make-fai-nfsroot.conf' -> `/usr/lib/fai/nfsroot/etc/fai/make-fai-nfsroot.conf' `/etc/fai/sources.list' -> `/usr/lib/fai/nfsroot/etc/fai/sources.list' DHCP environment prepared. If you want to use it, you have to enable the dhcpd and the tftp-hpa daemon. Image Creator for MBA ROMs v1.01, Date: Nov 26, 2001 Design and Coding by Nick Kroupetski <NickKroupetski@hotmail.com> Usage: imggen [OPTION] inputfile outputfile -a, Add 3Com MBA/BootWare support -r, Remove 3Com MBA/BootWare support from image file -i, Show information on an image -h, Help screen In filename: /boot/fai/installimage Out filename: /boot/fai/installimage_3com Adding MBA support... MBA support has been succesfully added BOOTP environment prepared. make-fai-nfsroot finished. <= * Stopping NFS kernel daemon: mountd nfsd. Unexporting directories for NFS kernel daemon...done. Exporting directories for NFS kernel daemon...done. Starting NFS kernel daemon: nfsd mountd. You have no FAI configuration. Copy the simple examples with: cp -a /usr/share/doc/fai/examples/simple/* /usr/local/share/fai Then change the configuration files to meet your local needs. FAI setup finished. <= *
Un enregistrement complet de fai-setup est disponible sur le site de fai. Il est important de voir les deux lignes marquées avec un astérisque. Sinon, les choses se passeront mal. Si vous obtenez beaucoup de lignes blanches, il est probable que vous utilisez konsole, l'émulation terminal X pour KDE qui est boguée. Refaites alors un essai en utilisant xterm.
Les messages d'avertissement de dpkg sur des problèmes de dépendances peuvent être ignorés. Si vous avez des problèmes pendant fai-setup, ils proviennent en général de make-fai-nfsroot[ (8)]. Vous pouvez le redémarrer en appelant 'make-fai-nfsroot -r' (recover). Ajouter '-v ' vous donne une production plus verbeuse qui peut vous aider à définir exactement l'erreur. Si vous voulez créer un fichier de log, vous pouvez utiliser
sudo /usr/sbin/make-fai-nfsroot –r -v 2>&1 | tee make-fai-nfsroot.log Il peut être utile d'entrer manuellement dans l'environnement chrooté
sudo chroot /usr/lib/fai/nfsroot La routine d'installation ajoute quelques lignes à /etc/exports pour exporter le nfsroot et l'espace de configuration à tous les hôtes qui appartiennent au groupe réseau faiclients. Si vous exportez déjà un répertoire parent de ces répertoires, vous pouvez commenter ces lignes, puisque le nfs-kernel-server à des problèmes pour exporter un répertoire et un de ses sous-répertoires avec des options différentes. Tous les clients doivent appartenir à ce groupe réseau pour monter ces répertoires avec succès. Les groupes réseau sont définis dans /etc/netgroup ou dans la map NIS correspondante. Un exemple pour le fichier netgroup peut être trouvé dans /usr/share/doc/fai/examples/etc/netgroup. Pour plus d'information, lisez la page de manuel netgroup[ (5)] et le NIS HOWTO. Après avoir changé les groupes réseau, le serveur NFS doit recharger sa configuration. Utilisez une des commandes suivantes, en fonction du serveur NFS que vous utilisez :
kueppers# /etc/init.d/nfs-kernel-server reload kueppers# /etc/init.d/nfs-user-server reload
L'installation crée aussi le compte fai (défini par $LOGUSER) si il n’est pas déjà existant. Vous pouvez ajouter un utilisateur avant d’appeler fai-setup[ (8)] en utilisant la commande adduser[ (8)] et l'utiliser comme votre compte local pour sauvegarder les fichiers de log. Les fichiers de log de tous les clients sont sauvegardés dans le répertoire home de ce compte. Si vous boutez sur la carte réseau, vous devez changer le groupe primaire de ce compte, pour que ce compte ait la permission d’écrire dans /boot/fai de façon à changer les liens symboliques vers l'image du noyau qui est démarré par un client.
Après cela, FAI est installé avec succès sur votre serveur, mais n'a aucune configuration pour les clients. Inspirez-vous des exemples de /usr/share/doc/fai/examples/simple/ en utilisant la commande copy et lisez Détails de l'installation. Avant de pouvoir initialiser un démon DHCP ou BOOTP, vous devez rassembler des informations sur le réseau de tous vos clients. Reportez–vous à la section Création d'une disquette de boot.
Si vous faites des changements dans /etc/fai/fai.conf, /etc/fai/make-fai-nfsroot.conf ou si vous voulez installer un nouveau noyau dans nfsroot, l'arborescence nfsroot doit être reconstruite en lançant make-fai-nfsroot[ (8)].[5]
L'installation de FAI ajoute le compte fai, exporte des systèmes de fichiers et appelle make-fai-nfsroot.
Si vous appelez make-fai-nfsroot –v (verbose), vous verrez plus de messages. En utilisant un miroir local Debian, il est important que le serveur d'installation puisse monter le répertoire via NFS. Si ce montage échoue, vérifiez /etc/exports et /etc/netgroup. Un exemple peut être trouvé dans /usr/share/doc/fai/examples/etc/netgroup.
[3] Vous trouverez le script dans /usr/share/doc/fai/examples/utils/
[4] Disponible comme paquet Debian ou sur les site FAI
[5] Disponible sur la page de téléchargement de http://www.ltsp.org ou sur http://www.informatik.uni-koeln.de/fai/download.