Déploiement de clients légers avec LTSP

Rédigé le 08 juin 2015
1679 mots
Tags : Réseau, Linux

Selon la définition même du site Linux Terminal Server Project, LTSP est un paquet additionnel pour GNU/Linux qui permet de connecter de nombreuses stations clientes légères sur un serveur GNU/Linux. Les applications s’exécutent 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.

Topologie LTSP

Le serveur doit proposer plusieurs services :

  1. Serveur DHCP et DNS
  2. Serveur de fichiers qui va fournir à travers le réseau
    • d’abord l’image du noyau nécessaire au démarrage du client
    • ensuite un système de fichier
  3. Serveur graphique pour afficher les applications

Cela représente de nombreux paquets à installer et à configurer, heureusement il existe une distribution qui intègre nativement une distribution LTSP complète : Eole/Eclair.

Configuration matérielle du serveur LTSP

Avant de commencer, voici quelques précisions importantes issues de la documentation Eclair

Le serveur doit être assez performant pour exécuter rapidement pratiquement toutes les applications lancées depuis les clients légers (excepté les applications embarquées). Les capacités du serveur doit donc correspondre au nombre de clients légers à servir simultanément et du type d’utilisation. Il n’y a donc pas de règle universelle mais quelques remarques s’imposent :

  • prévoir une machine multi-processeurs (multi-cœurs). Cela évite d’avoir tous les clients bloqués à cause d’un processus ou d’un client particulier ;
  • ne pas descendre en dessous de 4Go de mémoire RAM sur le serveur (sauf à avoir peu de clients légers simultanés), (~256 Mo de RAM par client léger) ;
  • prévoir un espace disque assez grand puisque le serveur va contenir un bureau GNU/Linux complet ainsi que les applications nécessaires ; ne pas descendre en dessous de 100Mb/s pour la carte réseau.
  • La solution avec 2 cartes réseau est prévue pour fonctionner en coupure, c’est-à-dire que le réseau dédié aux clients légers est séparé de votre réseau existant (ces deux réseaux peuvent communiquer ou non entre eux, cela dépend de la solution retenue. Par défaut, les deux réseaux communiquent). Il est possible d’installer un serveur Eclair sur une machine avec une seule carte réseau mais cela implique que vous n’ayez pas de serveur DHCP sur votre réseau existant afin de pouvoir utiliser celui d’Eclair.

Voici une configuration matérielle utilisée dans une école[^3], qui comporte 1 serveur LTSP et 15 PC clients.

  • Processeur Intel core i7
  • 16 Go de RAM
  • un disque dur rapide
  • 2 cartes réseau gigabit

Pour notre test sous Virtualbox, nous allons choisir

Serveur Eclair

  • 1 ou 2 Processeur(s) avec PAE/NX activé
  • 2 Go de RAM
  • 15 Go de disque dur (taille dynamique)
  • 2 cartes réseau
    • Carte 1 sur le réseau d’établissement : Accès réseau par pont
    • Carte 2 sur le réseau privé avec les clients légers : Accès réseau par réseau interne (nom : intnet)

Configuration matérielle du client léger

Les clients légers n’ont finalement que peu de tâches à réaliser :

  • faire transiter les informations entre le client et le serveur ;
  • réaliser l’affichage.

La configuration minimum recommandée est un P2 300mhz avec 256 Mo de RAM.

Pour notre test sous Virtualbox, nous allons choisir une configuration matérielle vraiment minimale, voyez plutôt :

  • 1 processeur avec PAE/NX activé (Ressources allouées 25%)
  • 256 Mo de RAM
  • PAS de disque dur !
  • 1 carte réseau : Accès réseau par réseau interne (nom : intnet)

Installation d’un serveur LTSP Edubuntu

Le moyen le plus simple d’installer un serveur LTSP est sans doute de passer par la distribution Edubuntu.

Dans la suite, on utilise la version edubuntu-14.04.2-dvd-i386.iso téléchargeable sur le site officiel

Après avoir inséré l’image iso dans le lecteur de la machine virtuelle, le système démarre

installEdubuntu01

Le moment important est celui où on choisit d’activer LTSP et où on décide de l’interface réseau à utiliser pour le réseau de clients légers.

installEdubuntu02

L’installateur propose ensuite d’ajouter des paquets pédagogiques additionnels classés par niveau. Rien n’est obligatoire ici.

La dernière étape consiste à choisir le partitionnement du disque. Pour un serveur dédié uniquement à la tâche qui lui incombe, il semble naturel d’utiliser tout le disque en choisissant la première option.

Une fois l’installtion terminee, la machine redémarre. Elle est prête à faire fonctionner des clients légers. Voir le paragraphe sur la mise en route d’un client léger.

Installation de Epoptes pour LTSP Edubuntu

Les deux commandes suivantes permettent de mettre à jour la liste des fichiers disponibles dans les dépôts officiels puis d’installer le serveur epoptes

    ~$ sudo apt-get update
    ~$ sudo apt-get install epoptes

Nous allons maintenant descendre dans l’environnement des machines clientes pour y installer le client epoptes après avoir mis à jour la liste des paquets

    ~$ sudo chroot /opt/ltsp/i386
    /# apt-get update
    /# apt-get install epoptes-client

Il reste à récupérer le certificat qui assure la communication entre client et serveur epoptes avant de revenir à l’environnement du serveur et régénérer l’image NDB

    /# epoptes-client -c
    /# exit
    ~$ sudo ltsp-update-image

Afin de permettre à un utilisateur «prof» de lancer l’interface de gestion epoptes pour visualiser des utilisateurs «eleve» en train de travailler sur des clients légers, nous créons deux utilisateurs et nous donnons les droits qui conviennent à «prof».

    ~$ sudo adduser eleve
    ~$ sudo adduser prof
    ~$ sudo gpasswd -a prof epoptes

Rendez-vous sur la page du site epoptes consacrée à l’installation pour des informations complémentaires.

Installation d’un serveur LTSP Éclair

Sur la machine serveur, on monte le DVD comme un CD-ROM virtuel comme on l’a déjà fait

Choisissez l’installtion de EclairNG

installEclair01

Une fois l’installation terminée, vous pourrez vous identifier avec le login root.

  • Pour scribe 2.2, le mot de passe est eole,
  • Pour scribe 2.3, le mot de passe est $eole&123456$.

Avant de nous lancer dans la configuration de notre serveur Eclair, notons ici quelques informations réseau dont nous aurons besoin pour configurer notre serveur :

| Type | IP | Exemple |:————————————|:—————–|:——————– | Adresse IP fixe de la carte eth0 | ` … . … . … . … | (ex. 192.168.0.106) | Masque de sous-réseau eth0 | … . … . … . … | (ex. 255.255.255.0) | Adresse réseau eth0 | … . … . … . … | (ex. 255.255.255.0) | Adresse de broadcast eth0 | … . … . … . … | (ex. 192.168.0.255) | Adresse de la passerelle | … . … . … . … | (ex. 192.168.0.1) | Adresse IP du ou des serveur(s) DNS | … . … . … . … | (ex. 192.168.0.1) | Le nom de la machine | … … … … … … | (ex. eclairng) | Adresse IP fixe de la carte eth1 | … . … . … . … | (ex. 192.168.2.1) | Adresse réseau eth1 | … . … . … . … | (ex. 192.168.2.0) | Masque de sous-réseau eth1 | … . … . … . … | (ex. 255.255.255.0) | Adresse de broadcast eth1 | … . … . … . … | (ex. 192.168.0.255) | Plage DHCP | … . … . … . … `| (ex. 192.168.2.10 à 200)

Mise à jour avec réglage préalable du proxy Amon :

    root@scribe:~# export http_proxy='http://192.168.1.254:3128'
    root@scribe:~# Maj-Auto -i

Saisissez la commande gen_config qui va lancer le générateur de configuration

    root@scribe:~# gen_config

La série d’écrans est à renseigner en étant très attentif.

Eclair02

Eclair03

Eclair04

Eclair05

Eclair06

Après avoir rempli les champs, on peut enregistrer ces paramètres qui vont constituer un fichier nommé zephir.eol dont le rôle est de donner les instructions au programme d’instanciation instance.

    # instance zephir.eol

Au cours de l’exécution du programme, il vous sera demandé de changer les mots de passe

  • de l’administrateur linux restreint nommé “eclair”
  • du super administrateur Linux nommé “root” : il a tous les droits sur le serveur;

Pour le stage nous utiliserons les mots de passe suivants

  • Le mot de passe eclair : 1a!2b$3c
  • Le mot de passe root : dog!cat$mouse

À l’issue des opérations, il ne nous reste plus qu’à créer des comptes «prof» et «eleve». Sur le serveur, il suffit de saisir les commandes suivantes et de répodre aux questions

    # adduser prof
    # adduser eleve

Rendez-vous sur http://eoleng.ac-dijon.fr/documentations/2.3/partielles/HTML/ModuleEclair pour des informations complémentaires.

Mise en route d’un client léger

Le serveur LTSP ayant déjà été démarré, il attend des connexions.

Lorsqu’on démarre le client léger, celui-ci est évidemment incapable de démarrer sur son disque dur pour la raison qu’il n’en ‘a pas !

En appuyant rapidement sur la touche F12, on accède à l’écran de sélection du périphérique de démarrage

    VirtualBox temporary boot device selection

    Detected Hard disks:

    No hard disks found

    Other boot devices:
     f) Floppy
     c) CD-ROM
     l) LAN

     b) Continue booting

En tapant la lettre l, on lance le démarrage sur le réseau.

pxe_client

Comme on le voit sur la figure précedente, le client demande une adresse, notre serveur DHCP (celui de la seconde carte du serveur LTSP) lui en fournit une. Ensuite Le client récupère via TFTP un noyau minimal pxelinux.0 situé sur le serveur dans le dossier ltsp/i386 situé sur le serveur dans /var/lib/tftpboot.

Remarque: TFTP est un protocole simplifié de transfert de fichiers.

Ensuite la configuration pxe est transmise par les fichiers du dossier pxelinux.cfg/ situé sur le serveur dans /var/lib/tftpboot/default.

Login

Connectez-vous avec le login «prof» ou «eleve» définis plus haut.

Sommaire