Il progetto LTSP è un interessantissimo sistema per accentrare la potenza di calcolo di una rete di PC su un solo sistema centrale (Server LTSP) e permette l’utilizzazione di Linux su una serie di computer collegati nella rete locale mediante Thin Clients. La cosa che rende speciale questo sistema è che i clients non necessitano di hardware potentissimi e, soprattutto, non necessitano di hardisk con installato il sistema operativo; questo, infatti, viene caricato automaticamente, in fase di boot, direttamente dalla rete locale con una velocità abbastanza sorprendente.

L’utilizzo di una rete di PC Linux di questo tipo può essere utile per i laboratori di informatica delle scuole o addirittura all’interno di aziende e pubbliche amministrazioni che possono sfruttare la potenza di linux per il proprio lavoro. Nella maggior parte degli uffici viene solitamente utilizzato MS-Windows per scrivere documenti con Office. Spesso, in questi luoghi, viene utilizzato software commerciale con relativo dispendio di denaro, in altri casi, purtroppo, viene usato software commerciale non originale andando incontro ad eventuali sanzioni e, soprattutto, ledendo i diritti di chi ha creato tale software. Le operazioni più comuni, e spesso anche di livello superiore, si possono eseguire tranquillamente con una qualsiasi distribuzione Linux con una serie di benefici che altri sistemi commerciali non hanno: stabilità, sicurezza e soprattutto economicità. Un computer linux è stabile perché studiato per essere carino da vedere ma senza mettere in pericolo il suo funzionamento da eventuali blocchi, sicuro perché praticamente esente da virus e sempre aggiornato ed economico perché sia il sistema operativo, che la stragrande maggioranza delle applicazioni, si possono utilizzare senza dover pagare e, nel contempo, restare nell’assoluta LEGALITÀ!!

Naturalmente, tornando a LTSP, come in tutte le cose, abbiamo lati positivi e lati negativi. Vediamone alcuni:

LATI NEGATIVI

  • l’uso di questo tipo di sistema è limitato ad una rete locale per due motivi principali: il primo è per il fatto che il Network Boot funziona esclusivamente grazie alla auto configurazione, tramite DHCP, di una scheda di rete cablata ethernet, il secondo invece per la velocità limitante delle nostre connessioni internet.
  • in caso di guasto al server, che può naturalmente capitare in qualsiasi momento, l’intera rete di clients non può essere utilizzata. Fortunatamente, se si guastasse un computer server, linux è molto flessibile e basterà spostare il disco fisso su un altro PC funzionante e cambiare un paio di impostazioni per rendere nuovamente funzionante tutto il sistema. Per ridurre al minimo l’incidenza dei guasti agli hardisk, basterà predisporre dei sistemi di copia in tempo reale (RAID) oppure dei salvataggi periodici di tutto il contenuto del disco di sistema.

LATI POSITIVI

  • riutilizzo di vecchi hardware senza obbligatoriamente acquistarne di nuovi per essere al passo con i tempi informatici che, come ben sappiamo, portano l’utente a pensare che il proprio PC vada cambiato dopo  pochissimi mesi di utilizzo.
  • centralizzazione dell’installazione del sistema operativo, della sua manutenzione aggiornamento e della sicurezza. Ogni client collegato ad un server LTSP utilizza la stessa versione e gli stessi software installati di un altro client. In questo modo tutti avranno a disposizione le stesse risorse hardware e software. Non può succedere che un utente abbia una versione di Libreoffice diversa da un altro e si evitano eventuali incompatibilità nei materiali prodotti.

Quindi come funziona LTSP?

LTSP è una installazione di Linux indipendente dal sistema che lo ospita. I clients possono essere dei normali PC con la possibilità di effettuare il boot direttamente dalla rete, dei Thin Clients, che per definizione sono dei piccoli dispositivi con capacità hardware limitate, oppure dei computer virtualizzati con VirtualBox, VMWare o QEmu.
All’avvio del ThinClient viene interrogata la rete cablata (ethernet) alla ricerca di un DHCPd, il server che assegna la configurazione IP delle schede di rete in modo automatico. Una volta impostata la scheda di rete vengono richieste al server una serie di informazioni per poter accedere al filesystem del linux centralizzato e inizia lo scaricamento. Da questo punto in poi sembrerà di usare una installazione linux presente sul PC stesso.
Tutte le applicazioni in esecuzione saranno lanciate in una CHROOT, e quindi, non influenzeranno in alcun modo il funzionamento del sistema del server che ospita LTSP.
Le azioni di installazione software, manutenzione e aggiornamento, creazione degli utenti, ecc. vengono effettuate direttamente sul server, anche da remoto, e in pochi minuti saranno a disposizione di tutti i clients.

Come si installa LTSP su Ubuntu?

L’installazione è molto semplice e abbastanza veloce. Prima di tutto dovremmo impostare, se non è già stato fatto in precedenza, un indirizzo IP statico al server linux che ospiterà LTSP.
Il metodo migliore per effettuare questa operazione è editare manualmente il file
/etc/network/interfaces (nel nostro esempio l’IP del server sarà 192.168.1.5 e il router che ci collegherà ad internet sarà 192.168.1.1):

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1

Modificare anche la riga managed=false di /etc/NetworkManager/NetworkManager.conf sostituendo false con il valore true.

A questo punto, se l’indirizzo IP della scheda di rete è stato modificato, consiglio un bel riavvio del sistema.

Successivamente installare LTSP e creare il filesystem del Thin Client con i seguenti comandi:

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

Inoltre andrà configurato il server DHCPd modificando il file /etc/ltsp/dhcpd.conf inserendo al suo interno i dati della nostra rete e, soprattutto, il range di IP dinamici assegnabili. Anche il file /etc/default/isc-dhcp-server dovrà essere modificato indicando l’interfaccia di rete di default del server DHCP.

A questo punto dovremmo attendere lo scaricamento e l’installazione del sistema LTSP server che richiederà almeno una decina di minuti (o più, dipendente dalla potenza del server e dalla velocità della propria linea internet). Non è stato difficile no? Possiamo già verificare il funzionamento di LTSP facendo partire un Thin Client o un qualsiasi sistema di virtualizzazione (vedi successivamente come impostare un sistema di virtualizzazione per funzionare con LTSP).

Per installare software all’interno dell’LTSP server bisognerà attivare la CHROOT su di esso con i seguenti comandi:

sudo -s -H
chroot /opt/ltsp/i386

Aggiungiamo l’utente che amministrerà il server LTSP con i comandi:

useradd -m nomeutente -G sudo
passwd nomeutente

Ora installiamo l’ambiente grafico di Ubuntu (unity) e localizziamo in italiano le applicazioni principali con i comandi:

apt-get install ubuntu-desktop
apt-get language-pack-it language-pack-gnome-it
apt-get language-pack-gnome-it-base libreoffice-l10n-it

Al termine delle operazioni (anche in questo caso un po’ di tempo viene impiegato per effettuare tutto) digitiamo i seguenti comandi per uscire dal CHROOT e dai poteri di superutente:

exit
exit

e ricreiamo il file di immagine del nostro Thin Client con il comando:

sudo ltsp-update-image

NOTA BENE: I comandi sudo -s -H e chroot /opt/ltsp/i386 sono indispensabili ogni volta che vogliamo andare ad effettuare modifiche al filesystem del Thin Client. Mentre exit, exit e sudo ltsp-update-image sono indispensabili ogni volta che ritorniamo sul nostro server e vogliamo rendere disponibili le modifiche effettuate al filesystem del Thin Client anche a tutti i computer presenti in rete.

Come effettuare il Boot da scheda ethernet da un PC abbastanza recente?

Normalmente i PC di ultima generazione contengono al loro interno schede di rete ed il relativo software per connettersi ad un server LTSP (con il protocollo PXE). Entrare nel BIOS del proprio computer (premendo all’accensione il tasto CANC o F2 a seconda della versione del BIOS) e verificare la presenza dell’impostazione Ethernet Boot e della relativa voce ENABLED. Solitamente questa voce si trova all’interno del menu relativo alle periferiche installate direttamente onboard (INTERNAL…). È altresì consigliabile di controllare anche il menu relativo al boot, sempre nel bios, nell’elenco preferenziale delle periferiche che possono effettuare il boot mettendo in prima posizione il boot tramite scheda ethernet. Alternativamente, se il boot via lan lo si vuole effettuare solo a richiesta, subito dopo l’accensione del PC, controllare se esiste una voce BBS Setup che, una volta attivata, permette di scegliere da quale periferica effettuare il boot. Solitamente la scheda di rete è presente nella riga più bassa, dopo hardisk o chiavette USB.

Come effettuare il Boot da un PC non recente ma che permette di effettuarlo da chiavetta USB o CD?

In questo caso rimando direttamente al sito www.rom-o-matic.org che contiene tutte le informazioni (in inglese) relative alla masterizzazione di un CD-ROM di boot o alla creazione di una chiavetta USB di boot PXE compatibile. Controllare sempre nel BIOS del PC l’eventuale presenza del boot da USB o, in caso mancasse, impostare il CD-ROM come primo disco di avvio.

Come impostare una Virtual Machine?

Sia che si tratti di VMWare, Virtualbox o altri sistemi di virtualizzazione andrà creata una nuova macchina virtuale alla quale assegnare 512, o meglio ancora 1024, mega di memoria, un disco fisso di piccola entità (nel caso di VMWare che lo richiede, Virtualbox ne può fare anche a meno) e settare la scheda di rete in modalità Bridged. Nella sequenza di avvio inserire solo Network. Facendo partire la macchina virtuale, che dovrà comunque essere ospitata da un PC presente nella rete locale di LTSP, verrà effettuato direttamente il boot di LTSP.
Per quanto riguarda QEMU non ho ancora avuto modo di sperimentarlo ma ho notato, che digitando semplicemente il nome “qemu” da terminale, apparirà la finestra di emulazione che inizia a cercare un server di rete DHCP.

Utenti di LTSP

Gli utenti di LTSP saranno creati direttamente sul server (non nel CHROOT) utilizzando la riga di comando (se si lavora su un server senza interfaccia grafica) o con l’utilità di creazione utenti e gruppi di Ubuntu.

Nel caso si voglia utilizzare l’interfaccia grafica si consiglia di installare questo software:

sudo apt-get install gnome-system-tools

che ci permetterà di gestire non solo gli utenti ma anche i gruppi. Cercare la parola gruppi quando si ricercherà il software all’interno della dashboard di Unity.

Alternativamente si può creare un utente tramite interfaccia testo con i seguenti comandi (da eseguire per ogni utente creato):

sudo groupadd utente
sudo useradd -d /home/utente -m -s /bin/sh -g utente utente
sudo passwd utente

In questo modo assegneremo ad ogni utente una propria cartella di lavoro /home/uente e una sua password per l’accesso al sistema.

Per ora è tutto!! In un prossimo articolo tratterò come personalizzare i vari Thin Clients con opzioni ad-hoc per ognuno di loro e per l’utilizzazione e la condivisione di stampanti e scanner all’interno della rete.