====== 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) : * [[http://osl.birzeit.edu:8080/wiki2/index.php/Ltspinfo]] * [[http://www.k12ltsp.org/phpwiki/index.php/Technical:RemoteClientShutdown]] 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 * [[http://wiki.ltsp.org/twiki/bin/view/Ltsp/TroubleShooting]] * 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. ( 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 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 ===== À 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