LTSP

Da RELug :: Reggio Emilia Linux User Group.

Indice

Linux Terminal Server Project

Pagina provvisoria, da qualche aprte si deve pur partire :) --Davide 07:24, 22 mar 2012 (UTC)


LTSP in breve (in entrambi i sensi, per l'abbreviato e per la descrizione):

Sistema di rete formato da uno o piu` Server che si prendono in carico un numero imprecisato (dipende dalla potenza del server) di macchine (stupide) dette comunemente "Thin Client".

In rete e` possibile reperire una miriade di informazioni, e` sufficiente inserire "ltsp" in un qualsiasi motore di ricerca.

Funzionamento

Pre-Configurazione

E` stato predisposto un ambiente virtualizzato su di una macchina client facente parte di una rete (col suo server, la connessione internet, ecc.ecc.).

Le macchine virtualizzate:

Server (64bit)
RAM = 1024M
Processori = 2
HDD1 = 40G SCSI
HDD2 = 2G SCSI (swap)
ETH = 2 schede
Audio
ecc.ecc. ..
Client (32 e 64)
RAM = 512M
Processori = 1
Nessun HDD
ETH = 1 scheda configurata per il boot
Audio
ecc.ecc. ..

Nella virtualizzazione e` stata preparata una sottorete (virtuale) con un indirizzamento fasullo e senza DHCP, per collegare i thin clients al server senza interferire con altre reti.

Installazione

Molte fra le attuali distribuzioni semplificano molto l'installazione.

Nella Ubuntu per esempio, e` sufficiente utilizzare la versione "alternate", premere il tasto F4 in avvio selezionando installazione LTSP.

Debian

E` la distribuzione che ho scelto per questo primo approccio al sistema.

Una volta installato il sistema di default (sul pc Server, base + desktop) bastano pochi comandi per installare il server LTSP:

apt-get install ltsp-server-standalone
ltsp-build-client
ltsp-build-client --arch i386

L'ultimo per predisporre anche l'immagine del 386, visto che l'installazione server e` "amd64".

Adesso un po` di configurazione del Server, proprio il minimo indispensabile per veder funzionare un client, ma prima fate questo (che vi dice Debian durante l'installazione LTSP):

echo "/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)" >> /etc/exports
invoke-rc.d nfs-kernel-server restart

Che non funzionera`, non ancora, manca il resto ...

Configurazione

Minimo indispensabile

eth1

Dopo il login sul server configurate la seconda scheda di rete (la prima s'e` beccata l'indirizzo DHCP durante l'installazione ed e` gia` configurata, collegata e funzionante), ho scelto:

Address = Gateway = DNS = 192.168.11.1
Netmask = 255.255.255.0
Configurazione del DHCP

Modifiche al file "/etc/dhcp/dhcpd.conf", riporto sol alcune delle righe modificate, le altre non sono state variate:

# option definitions common to all supported networks...
option domain-name "ltsp.local";
option domain-name-servers 192.168.11.1, ltsp.ltsp.local;
#option ntp-servers 192.168.11.1;
option routers 192.168.11.1;
option broadcast-address 192.168.11.255;
option subnet-mask 255.255.255.0;

default-lease-time 600;
max-lease-time 7200;

#Aggiunta alla fine del file
include "/etc/ltsp/dhcpd.conf";

Si puo` notare che ho assegnato il nome della macchina "ltsp" e della rete "ltsp.local", oltre che questo server fara` da gateway/router/dns.

Ora tocca alla parte DHCP del nostro sistema LTSP, ho modificato cosi` il file "/etc/ltsp/dhcpd.conf":

#
# Default LTSP dhcpd.conf config file.
#

authoritative;

subnet 192.168.11.0 netmask 255.255.255.0 {
    range 192.168.11.20 192.168.11.250;
    option domain-name "ltsp.local";
    option domain-name-servers 192.168.11.1;
    option broadcast-address 192.168.11.255;
    option routers 192.168.11.1;
    next-server 192.168.11.1;
#    get-lease-hostnames true;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/amd64";
#    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/amd64/pxelinux.0";
#    option root-path "/opt/ltsp/i386";
##    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
#        filename "/ltsp/i386/pxelinux.0";
#    } else {
#        filename "/ltsp/i386/nbi.img";
#    }
}

Ho lasciato attivo solo per Thin Clients a 64bit, ho disattivato tutti gli "if" perche` i clients caricavano il file errato.

Mi sembra che non ci sia nient'altro, non per una configurazione di base perlomeno.

Ok, riavviamo tutto:

invoke-rc.d isc-dhcp-server restart
invoke-rc.d nfs-kernel-server reload
invoke-rc.d openbsd-inetd restart

E avviamo il nostro client ..

Personalizzazioni

Strumenti personali