Ceci est une ancienne révision du document !



LTSP (Linux Terminal Server Project)

Selon la définition même du site Linux Terminal Server Project, LTSP est un paquet additionnel pour Linux qui permet de connecter de nombreuses stations clientes légères sur un serveur Linux. Les applications s'exécutent comme d'ordinaire sur le serveur, les stations clientes envoient les signaux d'entrée de périphérique vers le serveur, et affichent en retour le résultat donné par les applications.

Edubuntu serveur est configuré par défaut avec un environnement LTSP.

C'est l'ancienne version du système ltsp. Depuis 2006, une nouvelle version existe, plus simple à installer (voir ci-après). Ltsp 4 conserve des adeptes car il est plus petit, un peu plus rapide et plus léger.

Installation d'Ubuntu

Pour commencer il faut bien entendu installer Ubuntu ! Il est conseillé d'utiliser une configuration Desktop ou Poste de travail, plutôt qu'une configuration réduite : même si vous utiliserez la machine comme serveur, vous apprécierez d'y retrouver toutes les applications d'un poste de travail, tout comme le système graphique X.

Veuillez vous reporter également au tutoriel Stations clientes légères pour plus d'information sur l'installation de LTSP avec la dernière version d'Ubuntu.

Il est également vivement recommandé d'installer SSH : tutoriel SSH

S'agissant d'un serveur, vous avez besoin d'une adresse réseau fixe :

gksudo gedit /etc/network/interfaces 

Afin de vous familiariser avec ce fichier, consultez la page du manuel en utilisant la commande suivante :

man 5 interfaces

Voici un exemple de fichier interfaces, que vous devez adapter à votre propre configuration de réseau :

# The primary network interface 
auto eth0
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1

Relancez maintenant le réseau pour que la nouvelle adresse IP soit effective :

sudo /etc/init.d/networking restart 

Installation de dhcpd, tftpd, et nfs

LTSP est en fait la combinaison de plusieurs protocoles existants, utilisés ensemble pour démarrer des stations clientes dépourvues de disque : dhcp, tftp, nfs, xdmcp. Toutes n'ont pas besoin d'être exécutées sur le même serveur; il est tout à fait envisageable de les répartir entre plusieurs serveurs dans le cas d'un réseau important. Je ne saurai trop recommander la lecture de la documentation officielle sur le procédé de démarrage : [WWW] http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-fr.html

Dans le cas présent, et pour faciliter les choses, nous installerons tout sur un seul et même serveur Ubuntu par la commande suivante :

sudo apt-get install dhcp3-server tftpd-hpa nfs-kernel-server 

Lancement de portmap

Pour une question de sécurité du poste de travail, le serveur portmap est configuré par défaut pour n'écouter que la machine locale. Le problème est que cela empêche les clients LTSP de se connecter à notre serveur nfs. Pour y remédier, tapez la commande suivante en console :

gksudo gedit /etc/default/portmap 

Commentez la seconde ligne comme suit :

# By default, listen only on the loopback interface 
# ARGS="-i 127.0.0.1"

Installation des outils ltsp

Les instructions ci-après sont issues du document [WWW] http://www.ltsp.org/ltsp-4.1.html

Commencez par télécharger et installer ltsp-utils via le tarball: [WWW] http://www.ltsp.org/ltsp-utils-0.10.tgz

tar xzvf ltsp-utils-0.10.tgz 
cd ltsp-utils
sudo ./install.sh

pendances complémentaires.

sudo apt-get install libwww-perl 

ltspadmin est maintenant fonctionnel, mais vous pouvez au préalable télécharger les autres paquets.

Optionnel : téléchargement du paquet ISO LTSP

Il ne semble pas exister de paquet Debian à jour pour LTSP (ltsp-4.1). Pourtant cela serait une avancée considérable, qui faciliterait l'installation, la maintenance et la mise-à-jour.

Il existe deux façons de télécharger les paquets LTSP :

* récupérer l'image ISO de 100Mo, ou

* laisser l'utilitaire ltspadmin récupérer les paquets en ligne.

La première méthode est la plus recommandée, les serveurs étant particulièrement lents, sans compter qu'avoir une copie des paquets chez soi peut être d'une grande utilité par la suite.

Vous pouvez ensuite soit graver l'image ISO, soit la monter avec le périphérique loopback :

sudo modprobe loop 
sudo mkdir /mnt/ltsp
cd /mnt/ltsp
sudo mount -o loop ltsp-4.1-0.iso .

Installation de LTSP

Il est temps de lancer ltspadmin :

sudo ltspadmin 

Si vous avez téléchargé les paquets ISO comme indiqué ci-dessus, sélectionner Configure the installer options (= configurer les options de l'installeur). A l'invite Where to retrieve packages from ? (= Où trouver les paquets ?), entrez le chemin vers la source de paquet montée, par exemple /mnt/ltsp

Pour l'installation, sélectionnez Install/Update LTSP Packages (= installer/mettre à jour les paquets LTSP). Un menu s'affiche alors avec la sélection des paquets : cliquez sur A pour tout sélectionner, puis sur Q pour quitter le menu. On vous demandera de confirmer, répondez "y" pour démarrer l'installation.

Il vous suffit maintenant de configurer LTSP en lançant Configure LTSP !

Déplacement du dossier tftpboot

Ubuntu s'attend à trouver les fichiers envoyés par tftp dans le dossier /var/lib/tftpboot/, alors que LTSP les enregistre dans /tftpboot/, ce qui pose un problème. Pour y remédier, il suffit de les déplacer et d'effacer le dossier vide /tftboot/ en utilisant les commandes suivantes :

sudo mv /tftpboot/lts /var/lib/tftpboot/ 
sudo rmdir /tftpboot

Configuration de la station cliente

Les clients individuels doivent maintenant être configurés à l'aide des fichiers suivants :

  • /etc/dhcp3/dhcp.conf
  • /etc/hosts
  • /opt/ltsp/i386/etc/lts.conf

Veuillez vous reporter à la documentation officielle : [WWW] http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-fr.html#AEN605

Erreur XKB sous WartyWarthog

LTSP 4.1 fonctionne sous xorg, tandis que Ubuntu 4.10 WartyWarthog fonctionne avec xfree. Ceci provoque une erreur XKB lors de la connexion à distance via XDMCP qui ressemble au message suivant :

Error activating XKB configuration. 
Probably internal X server problem.

X server version data: The X.Org Foundation 60801099

Si vous souhaitez reporter ce bug, faites-le en incluant les éléments suivants :

1- le résultat renvoyé par la commande :

xprop -root | grep XKB

2- le résultat renvoyé par la commande :

gconftool-2 -R /desktop/gnome/peripherals/keyboard/xkb

Ce bogue peut être corrigé à l'aide de deux liens symboliques :

sudo ln -s /etc/X11/xkb/rules/xfree86 /etc/X11/xkb/rules/xorg 
sudo ln -s /etc/X11/xkb/rules/xfree86.lst /etc/X11/xkb/rules/xorg.lst

Test d'une station de travail

Et pour terminer, faites un test avec les stations clientes.

Depuis 2006 (ubuntu Dapper) vous pouvez installer un serveur ltsp plus moderne: ltsp version 5.0 appelé aussi "Muekow". Il y a de nombreuses différences avec ltsp 4, mais pour ça, je vous renvoie au wiki LTSP. Retenez seulement que ltsp 5 utilise les paquets normaux d'Ubuntu, qu'il évolue très vite et qu'il vaut mieux par conséquent utiliser une version récente d'Ubuntu. NB: ltsp 4 a encore beaucoup d'adeptes, même s'il n'est plus développé.

L'installation de ltsp 5 est tout à fait différente de la version 4. Vous pouvez l'installer en installant la dernière version d'Edubuntu, c'est automatique. Vous pouvez aussi l'installer à partir de n'importe quel Ubuntu: Ubuntu, Kubuntu, Xubuntu, etc. Mais n'installez pas une version server, ça ne sert à rien et vous ralentit. Le noyau server est fait pour utiliser plus de 4 gigas de Ram, mais n'est pas optimisé pour le Desktop.

Installation résumée:

  1. installer une version d'Ubuntu, celle qui contient le Desktop choisit pour les clients légers (Gnome, KDE, XFCE, etc.).
  2. vérifier le sources.list et mettre à jour.
  3. installer un noyau optimisé pour votre architecture (mais pas un noyau server)
  4. installer ltsp-server-standalone
  5. lancer le script ltsp-build-client (éventuellement avec l'option –mirror pour qu'il utilise des serveurs proches de vous), ce script installe un environnement chroot dans /opt/ltsp et télécharge et installe les paquets nécessaire.
  6. aller faire un tour, c'est assez long.
  7. au besoin, créer et configurer /opt/ltsp/i386/etc/lts.conf dont il y a un exemple dans /opt/ltsp/i386/usr/share/doc/ltsp-client/examples/ (ça peut-être fait plus tard)
  8. configurez /etc/ltsp/dhcpd.conf pour le bon réseau et déclarez l'interface réseau sur laquelle seront connectés les clients légers dans /etc/default/dhcp3-server
  9. lancez /etc/init.d/dhcp3-server

Installez les paquets dont vous avez besoin avec apt-get. Faites-le avant ou après l'installation, peu importe, mais pas dans le chroot de ltsp.

références:


Contributeurs : Gauthier (traduction et adaptation), zéroheure (compléments sur LTSP 5), Ner0lph (mise en conformité avec le CR 2006-3)

Pour installer un serveur LTSP en même temps que Edubuntu 8.04, il suffit, lors du lancement du CDRom ubuntu 8.04, après avoir choisis la langue, de presser la touche F4 et sélectionner le menu "Installer un serveur ltsp". Suivre ensuite la procédure habituelle. A la fin de l'installation, démarrer une session et installer Edubuntu via le CDRom Edubuntu 8.04. Voila le serveur est déjà opérationnel et le service DHCP est activé par défaut, et peut être configuré via le fichier /etc/ltsp/dhcpd.conf.

Démarrer ensuite un client :

Si le BIOS le permet, démarrer l'ordinateur via le réseau et tout se configure automatiquement.


LTSP sur Edubuntu

L'installation d'un serveur LTSP Edubuntu permet de raccorder facilement des postes clients légers. Ces postes peuvent être de vieux ordinateurs, dépourvus de disque dur, le principal étant qu'ils disposent d'une carte vidéo et d'une carte réseau. En connectant ces ordinateurs au serveur LTSP, vous obtenez un parc de machines qui utilisent les ressources de votre serveur, et partagent les mêmes applications. Ainsi, les mises à jour se font uniquement sur le serveur, et non plus sur chacun des postes.

La procédure d'installation automatique d'Edubuntu a déjà installé et configuré le serveur LTSP pour vous. Nous allons cependant voir comment en affiner sa configuration.

  • Ouvrez une console, depuis le menu Applications→Accessoires→Terminal
  • Éditez le fichier /etc/ltsp/dhcpd.conf avec la commande suivante :
    gksudo "gedit /etc/ltsp/dhcpd.conf"
  • Vous obtenez le fichier suivant :
    authoritative;
    
    subnet 192.168.0.0 netmask 255.255.255.0 {
      range 192.168.0.20 192.168.0.250;
      option domain-name "example.com";
      option domain-name-servers 192.168.0.1;
      option broadcast-address 192.168.0.255;
      option routers 192.168.0.1;
      option subnet-mask 255.255.255.0;
    
      filename "/ltsp/pxelinux.0";
      option root-path "/opt/ltsp/i386";
    }
  • Vérifiez maintenant que les adresses IP correspondent à l'adresse que vous avez rentré lors de l'installation. Si vous avez utilisé une adresse en 192.168.0, vous avez bien fait. Sinon, utilisez Ctrl-R pour rechercher et remplacer les occurrences par celle que vous avez utilisé. Par exemple, remplacez 192.168.0 par 10.0.0.
  • Vous pouvez également personnaliser le domaine de votre école, en remplacant la ligne :
    option domain-name "example.com";

    par

    option domain-name "ltsp.monecole.com";
  • Si vous installez le serveur Edubuntu au sein d'un réseau existant, vous pouvez paramétrer les options domain-name-servers et routers en fonction de votre configuration interne.
  • Vous pouvez enregistrer et fermer ce fichier.
  • Si vous avez deux cartes réseau et que vous voulez que le serveur dhcp ne soit actif que sur une carte, ajoutez cette carte dans le fichier /etc/default/dhcp3-server et relancez le DHCP
  • Créez ensuite le fichier /opt/ltsp/i386/lts.conf /opt/ltsp/i386/etc/lts.conf avec la commande :
    gksudo "gedit /opt/ltsp/i386/etc/lts.conf"
  • Ce fichier permet de passer des options spécifiques aux postes clients légers lors de leur démarrage. Nous allons préciser ici que nous souhaitons utiliser par défaut un clavier français dans l'environnement graphique des postes clients légers. Ajoutez pour cela les lignes suivantes :
    [DEFAULT]
            XkbLayout = fr
  • Vous pouvez enregistrer et fermer ce fichier.
  • Il faut maintenant lancer le serveur DHCP, en charge de configurer les postes clients légers lors de leur démarrage. Dans votre console, tapez :
    sudo /etc/init.d/dhcp3-server start
  • Si vous n'avez pas fait d'erreur, la commande devrait renvoyer le message OK. Vous pouvez maintenant essayer de raccorder poste client léger et de le démarrer. Pour ce faire, si le bios de votre client léger ne propose pas l'option de démarrage sur le réseau (NETWORK), il vous faudra créer uen disquette de démarrage spécifique, fonction de la carte réseau présente sur ce poste. Vous pouvez créer cette disquette à partir du site suivant : http://www.etherboot.org.

Trucs :

Sélection d'un pilote pour une carte réseau PCI

Pour les cartes PCI, il faut, par contre, choisir le pilote correspondant exactement à l'identifiant PCI de la carte et de son fabricant.

La plupart du temps, on peut facilement récupérer ces informations, car elles sont imprimées sur la carte et correspondent à la description du pilote. Mais il arrive qu'on ne puisse pas les retrouver.

Dans ce cas, si le client léger est équipé d'un lecteur de disquette, on peut y insérer une disquette tomsrtbt (Tom's Root Boot). Ou bien, si le client léger dispose d'un lecteur CD-ROM, on peut démarrer avec un CD Linux, comme Knoppix. S'il n'est pas possible de lancer Linux sur le client léger pour découvrir le type de le carte réseau, le seul moyen restant est d'installer la carte réseau sur une machine où cela est possible.

Linux

Lorsque Linux est chargé, vous pouvez alors utiliser la commande lspci avec l'option -n.

[root@jamlap root]# lspci -n
0000:00:00.0 Class 0600: 8086:7190 (rev 03)
0000:00:01.0 Class 0604: 8086:7191 (rev 03)
0000:00:03.0 Class 0607: 104c:ac1c (rev 01)
0000:00:03.1 Class 0607: 104c:ac1c (rev 01)
0000:00:07.0 Class 0680: 8086:7110 (rev 02)
0000:00:07.1 Class 0101: 8086:7111 (rev 01)
0000:00:07.2 Class 0c03: 8086:7112 (rev 01)
0000:00:07.3 Class 0680: 8086:7113 (rev 03)
0000:00:08.0 Class 0401: 125d:1978 (rev 10)
0000:01:00.0 Class 0300: 1002:4c4d (rev 64)
0000:06:00.0 Class 0200: 8086:1229 (rev 09)

Dans l'exemple ci-dessus, lspci affiche une ligne pour chaque carte PCI installée dans la machine. La seule ligne qui compte concerne les composants de classe Class 0200.

0000:06:00.0 Class 0200: 8086:1229 (rev 09)

Les identifiants PCI recherchés sont 8086:1229. Le premier champ 8086 correspond à l'identifiant du fabricant. Dans cet exemple, il s'agit d'Intel Corporation. Le deuxième champ, 1229 est l'identifiant de la carte, et il s'agit ici d'une EtherExpress 100 card. NDLT : Voir aussi lspci avec l'option -v.

Pour pouvoir copier le bootrom sur une disquette, choisissez l'option Floppy Bootable ROM Image. Ceci va insérer un en-tête de 512 octets dans dans le bootrom. Lorsque le client léger démarre, cet en-tête charge le bootrom en mémoire, où il est exécuté.

Une fois sauvegardé sur le disque dur, il faut ensuite copier le bootrom sur une disquette. Insérez une disquette dans le lecteur et lancez la commander suivante :

dd if=Etherboot_Image of=/dev/fd0 
  • Si vous avez besoin d'écrire l'image disquette à partir d'un poste Windows, vous pouvez utiliser RawWrite : http://grpnov.unige.ch/divdocs/Doc-Aepli/RawWrite.html.
  • Si votre client léger n'a pas encore de carte réseau, achetez une carte capable de démarrer directement en PXE. Exemple : DLINK DFE-554CP PXE BOOTROM F/DFE-550TX ou 3com 905CX-TX-M (attention, beaucoup de cartes ont le support ROM BOOT, mais il faut le rajouter ; dans le cas de la Dlink précédemment citée, le module DFE-550TX est ainsi vendu sparément ; la 3com est complète).
  • ltsp.1242374245.txt.gz
  • Dernière modification: Le 15/05/2009, 09:57
  • par Manu_Ubu