Table des matières
Serveur de terminaux (LTSP)
Documentations
LTSP : htp:www.ltsp.org/documentation/ltsp-4.1/ltsp-4.1-en.html wiki : htp:wiki.ltsp.org/twiki/bin/view/Ltsp/WebHome Trouble Shooting LTSP : http://wiki.ltsp.org/twiki/bin/view/Ltsp/TroubleShooting
http://gentoo-wiki.com/LTSP_Configuration
Configuration du firewall :
http://www.troubleshooters.com/lpm/200305/200305.htm http://sourceforge.net/mailarchive/forum.php?thread_id=8972145&forum_id=2270
32 ou 48 Mo de RAM semblent suffisants (ne fonctionne pas avec 16 Mo de RAM) .
À installer sur le serveur
ltsp-utils
Ce package installe :
- /usr/bin/ltspinfo
- /usr/sbin/ltspadmin
- /usr/sbin/ltspcfg
ltspadmin
LTSP Administration Utility
Install/Update LTSP Packages Configure the installer options Configure LTSP
Comme l'indique le menu ci-dessus ltspadmin permet :
- de télécharger le package LTSP (plusieurs centaines de Mo)
- de choisir un (ou changer le) serveur à partir duquel on veut télécharger le
package LTSP
- de lancer ltspcfg
ltspcfg
Permet
- d'afficher l'état (status) de tous les services nécessaires au
fonctionnement de LTSP
- de les configurer
Conseil : le lancer chaque fois que l'on veut vérifier l'état d'avancement de la configuration de LTSP.
ltspinfo
cf. (par exemple) :
Permet de contrôler le client à partir du serveur. Contrairement aux 2 outils précédents on peut dans un premier temps l'ignorer : il est sans intérêt pour l'installation et la configuration de LTSP.
dhcpd
Installer dhcp-server # urpmi dhcp-server
Ce service est nécessaire pour fournir une adresse IP aux clients et lui indiquer à partir de quel serveur récupérer tout ce qui est nécessaire (kernel, Xorg …) à son fonctionnement.
NB : dhcpd et ltsp sont indépendants : ils peuvent parfaitement, si on le désire, être installés sur des serveurs différents.
tftpd
Installer tftp-server. # urpmi tftp-server
tftpd (simple serveur ftp) est indispensable : il permet au client de télécharger à partir du serveur le kernel fourni par LTSP.
NFS
Généralement installé par défaut et démarré d'office dans la plupart des distributions (dont MDV). Exception : MDV 2007 / x86-64 ! # urpmi nfs-server
A configurer, voir ci-dessous.
XDMCP
Généralement aussi installé par défaut et démarré dans la plupart des distributions (dont MDV). A configurer, voir ci-dessous.
À installer sur les clients
Consulter “Chapter 3. Setting up the workstation” sur http://www.ltsp.org/documentation/ltsp-4.1/ltsp-4.1-en.html (ou équivalent dans la doc française)
Etherboot
permet de démarrer le client et d'établir la connexion avec le
serveur dhcp.
Le plus simple pour les tests est de mettre une image d'Etherboot sur une disquette ou un CD à partir duquel on démarrera le client.
La doc conseille le site www.Rom-O-Matic.net où l'on peut compiler quasi-automatiquement le driver Etherboot correspondant à la carte réseau du client utilisé. Le problème est qu'il est souvent difficile de déterminer le modèle de carte réseau.
Je conseille plutôt de récupérer sur http://etherboot.anadex.de/ une image contenant tous les drivers connus et de créer une disquette de boot “universelle” avec la commande :
d if=eb_on_hd.ima of=/dev/fd0
(sous DOS créer la disquette avec rawrite, sous windows avec rawritewin).
Elle détecte automatiquement la carte réseau installée sur le client et permet de le démarrer sans plus se compliquer la vie.
Configuration du serveur dhcp
On configurera ensuite le serveur dhcp
- Lancer sur le serveur
# tail :tail -f /var/log/messages
le serveur dhcp n'affiche en effet aucune erreur à l'écran : les messages d'erreur (ou autres) vont dans /var/log/messages.
- Vérifier que le serveur dhcp est démarré
Pour connaître son état (démarré / arrêté) # service dhcpd status dhcpd (pid 5511) is running…#
Démarrer /redémarrer : service dhcpd start | restart En cas de problème regarder ce qui s'affiche dans /var/log/messages.
- Afficher l'adresse MAC de la carte réseau du serveur avec : # ifconfig
- Démarrer un client avec la disquette etherboot.
L'adresse MAC de la carte réseau apparaît dans les logs du serveur. L'utiliser pour configurer /etc/dhcpd.conf.
- Configurer dhcpd sur le serveur (fichier /etc/dhcpd.conf).
À l'installation de dhcp-server un fichier /etc/dhcpd.conf a été automatiquement créé.
LTSP de son côté crée en s'installant un fichier /etc/dhcpd.conf.sample : on peut l'oublier, il est incompréhensible et n'apporte aucune information intéressante (à mon avis en tout cas).
Éditer plutôt /etc/dhcpd.conf et entrer les valeurs correspondant à son réseau (le fichier est déjà rempli avec des valeurs qui sont pratiquement bonnes pour un réseau “domestique” en 192.168.0…). On laissera les valeurs par défaut pour les paramètres que je n'indique pas et on modifiera si nécessaire :
subnet-mask broadcast-address routeurs : il s'agit en fait du gateway ou passerelle vers l'extérieur domain-name-servers domain-name
Option root-path : attention ! indiquer ici l'adresse du serveur et le path où est installé LTSP, par exemple :
option root-path "192.168.0.10:/opt/ltsp/i386";
Faire très attention pour la suite : voici par exemple ce qu'on peut mettre pour un réseau domestique en 192.168.XXX.YYY. avec un serveur d'adresse 192.168.0.10 et un client “toto” dont on veut fixer l'adresse à 192.168.0.20 :
subnet 192.168.0.0 netmask 255.255.255.0 {
next-server 192.168.0.10; # adresse du serveur sur lequel se trouve LTSP # cette ligne est _indispensable_ pour Etherboot (bug probable) # mais par contre inutile pour d'autres clients dhcp use-host-decl-names on; option log-servers 192.168.0.10; # adresse du serveur de log host toto { # paramètres pour le client "toto" next-server 192.168.0.10 # _indispensable_ pour LTSP : c'est l'adresse # du serveur où le client trouvera LTSP hardware ethernet 00:01:02:cf:1d:f2; # adresse MAC de la carte réseau du client fixed-address 192.168.0.20; # on fixe ici l'adresse IP du client filename "/tftpboot/lts/vmlinuz-2.6.9-ltsp-3"; }
Attention : dans “filename” indiquer l'adresse du kernel que le client devra récupérer sur le serveur “next_serveur” déclaré 3 lignes avant
Attention : l'adresse filename dépend aussi du paramètre “server_args” du fichier de configuration de tftp (/etc/xinetd.d/tftp), voir ci-dessous.
On déclarera bien évidemment autant de “host” (clients) que nécessaire. On pourra aussi faire de l'allocation dynamique (je n'ai pas encore testé).
Configuration du serveur tftp
Éditer /etc/xinetd.d/tftp
LTSP installe tftpboot dans / alors que tftp s'attend à le trouver dans /var/lib/tftpboot (cf paramètre de démarrage de tftpd “server_args”).
Le plus simple est de mettre en commentaire la ligne :
# server_args = -s /var/lib/tftpboot
(si on laisse un argument à passer au serveur tftp, modifier en conséquence la ligne “filename” dans /etc/dhcpd.conf).
Voilà le plus dur est fait : la connexion client-serveur devrait fonctionner.
Si ce n'est pas le cas, voir :
- /var/log/messages souvent très explicite
- paragraphe “Messages d'erreur” plus loin
Configuration de NFS
Suivre les indications de http://wiki.ltsp.org/twiki/bin/view/Ltsp/NFS#NFS_Server_not_responding Très bien expliqué.
XDMCP
Appelle le “display manager” du serveur pour afficher un écran de login sur le client.
En général c'est GDM ou KDM (mdkkdm) qui est appelé. Pour des raisons de sécurité la connexion de clients est par défaut interdite. Pour l'autoriser :
GDM
- éditer /etc/X11/gdm/gdm.conf
- chercher [xdmcp] et changer “Enable=false” en “Enable=true”
KDM
- éditer /etc/kde/kdm/kdmrc
- chercher[Xdmcp] et remplacer Enable=false par Enable=true
Pour un autre “display manager”, voir la doc sur http://www.tldp.org/HOWTO/XDMCP-HOWTO/
Relancer X. (<Alt><Ctrl><Backspace> par exemple)
Configuration de LTSP et des terminaux
- Lancer ltspcfg pour voir si tout est OK.
- Lire la doc : /opt/ltsp/i386/etc/lts.conf.readme
- S'en servir pour configurer /opt/ltsp/i386/etc/lts.conf
Bien lire lts.conf.readme : on y trouve de nombreux paramètres pour modifier le comportement des clients. Ajouter par exemple dans lts.conf :
xkbLayout = fr pour avoir un clavier français X_MODE_0 = 1024x768 pour la résolution écran, si supportée par la carte video du client.
L'écran de login devrait apparaître. Si ce n'est pas le cas : # tail -f /var/log/messages et aussi # tail -f /var/log/Xorg.0.log
Voir aussi :
- Chapter 7. Troubleshooting sur http://ltsp.org/documentation/ltsp-4.1/ltsp-4.1-en.html
et peut-être aussi
- Chapter 6. Troubleshooting sur http://ltsp.org/documentation/ltsp-3.0.0/ltsp-3.0-4-en.html#AEN514
ou les explications sur les problèmes que l'on peut rencontrer sont plus complètes.
Messages d'erreur divers rencontrés
L'option root-path dans /etc/dhcpd.conf est indispensable, sinon : ERROR! No root-path; Check your DHCP configuration …. Kernel panic ….
Dans le cas où l'adresse Mac du client n'est pas déclarée dans dhcpd.conf les messages d'erreur suivants s'affichent :
Côté serveur dans /var/log/messages :
Feb 10 19:00:31 <NomClient> dhcpd: DHCPDISCOVER from 00:0e:0c:65:59:23 via
eth0: network 192.168.0/24: no free leases
Côté client sur l'écran :
No IP address
syslogd: cannot write to remote file handle on 192.168.0.254:514
Éditer /etc/sysconfig/syslog Ajouter -r dans la ligne : SYSLOGD_OPTIONS=“-m 0 -a /var/spool/postfix/dev/log” : ⇒ SYSLOGD_OPTIONS=“-m 0 -r -a /var/spool/postfix/dev/log”
Puis redémarrer syslogd $ ps aux | grep syslogd sudo kill -HUP <pid syslogd>
À faire
- Configurer le firewall
- dhcpd : tester les allocations dynamiques
Installation de la version LTSP 4.2
Documentation : http://wiki.ltsp.org/twiki/pub/Ltsp/Documentation/ltspguide.pdf
Téléchargement : http://wiki.ltsp.org/twiki/bin/view/Ltsp/LTSP-42#Installation_of_LTSP_4_2
Télécharger ltsp-utils-0.25-0.tgz $ tar -xvf ltsp-utils-0.25-0.tgz # ./ltspadmin Suivre les instructions.
Pré-configuration
Continuer en préconfigurant ltsp avec : # ./ltspcfg Choisir C - Configure the services manually
Passer en revue les 11 points et installer si nécessaire les services manquants (ltsp, nfs, etc.)
Au point 11, noter l'emplacement du fichier de configuration (/opt/ltsp/i386/etc/lts.conf par exemple)
Quitter ltspcfg
Configuration de dhcpd
Continuer comme ci-dessus