giovedì 31 maggio 2007

Ubuntu LTSP - Thin client per piccola azienda (1)

Per chi non lo sapesse i thin client sono dei terminali stupidi non dotati di sistema operativo. Il sistema operativo e tutti gli applicativi che servono al loro funzionamento gli vengono passati da un terminal server tramite rete. In pratica lavorando su un thin client si sta lavorando direttamente sul server. Qualunque computer, anche obsoleto, in grado di avviarsi da rete, da floppy o da cdrom può diventare un thin client. Non c'è nemmeno bisogno di avere un hard disk. E' sufficiente che abbia una piccola quantità di memoria (32 Mb in genere sono più che sufficienti), una scheda di rete a 100Mbit, un mouse e una tastiera. I vantaggi di una soluzione di questo genere sono molti. I più rilevanti sono la possibilità di riutilizzare hardware vecchio e la centralizzazione della manutenzione sul solo server. Ovviamente non mancano gli svantaggi: ad esempio è possibile collegare solo alcuni tipi di periferiche direttamente ai thin client, scordatevi l'ultimo palmare-navigatore-che-fa-anche-il-caffè attaccato ad un thin client. Come in tutte le cose l'opportunità di passare a questo tipo di tecnologia va valutata soppesando attentamente i pro e i contro anche se, come opinione personale, i thin client sarebbero adatti alla maggior parte degli utilizzi lavorativi.



Per quanto riguarda il mondo open source il progetto di riferimento è Linux Terminal Server Project (LTSP), attivo da parecchi anni, ormai maturo ed in grado di fornire soluzioni affidabili. Ubuntu sembra essere la distribuzione più attiva da questo punto di vista, proponendo nella lista dei pacchetti ufficiali una versione modificata del codice ltsp con caratteristiche decisamente innovative e di semplicissima installazione. Alcune varianti di Ubuntu (Edubuntu e Xubuntu) addirittura prevedono di default l'installazione di ltsp nella versione server.

Ho letto svariate volte di esperienze fatte con ltsp in ambito "educational", ma molto raramente in ambito aziendale. Di tutto ciò però in Italia poco o nulla. In autunno 2006 un cliente "illuminato", dopo aver assistito ad una demo casalinga, si è lasciato convincere ad installare il sistema ltsp nella sua azienda, un agenzia di turismo con una decina di postazioni di lavoro. Se non avesse fatto questa scelta avrebbe dovuto cambiare per obsolescenza quasi tutti i pc che aveva e acquistare nuove licenze software, sapendo che nel giro di qualche anno si sarebbe trovato di nuovo nella stessa situazione. Con un occhio al portafoglio gli ho fatto acquistare un server dotato di Pentium D 2,8, 2Gb di ram, due dishi SATA da 120Gb (configurati successivamente in RAID 1 software) e una unità DAT-72 integrata (circa 2000€, sfruttando le offerte e gli sconti di Dell online). Me lo sono fatto consegnare in ufficio e gli ho installato direttamente Edubuntu (Edgy), che includeva già ltsp nell'installazione di default. Finito di configurarlo per benino l'abbiamo trasportato da lui e nel giro di una mattina tutte le postazioni erano diventati dei thin client perfettamente funzionanti, con prestazioni decisamente superiori a quelle del loro sistema operativo originario. Tempo di inattività per gli utenti: circa 3 ore. Tempo per fargli capire i principi dell'interfaccia di Gnome: quasi nulla, una volta capito dove sono la posta, il browser e OpenOffice possono riprendere tranquillamente il loro lavoro quasi a pieno regime. Dopo questa esperienza credo di poter affermare che la transizione da windows a linux non è poi così traumatica come molti credono (se l'utente non è lobotomizzato, ovviamente).
Sono ormai 8 mesi che il sistema funziona egregiamente quasi senza intoppi. Il "quasi" significa che intoppi ne ho creati io aggiornando il sistema alla nuova release di Ubuntu, la Feisty, prima che venisse rilasciata come stabile. Durante l'aggiornamento un maledetto baco nel pacchetto initramfs-tools mi ha reso il server non più bootabile e ho veramente penato per rimetterlo in sesto. Altri piccoli problemi e instabilità in qualche applicativo sono durati per un po' di tempo. Dopo che Feisty è stata rilasciata come stabile i problemi sono a poco a poco scomparsi e adesso sembra essere tutto tornato nella normalità. In tutto ciò il cliente è decisamente contento, e anche gli utenti sembrano esserlo (un consulente si accorge subito da come lo guardano gli utenti se le cose vanno bene o male).
In un prossimo post descriverò in dettaglio tutte le fasi dell'installazione e configurazione del server e dei client, che differiscono leggermente da quelle reperibili sulle fonti ufficiali.

17 commenti:

  1. La tua esperienza è molto interessante. Io e il mio lug stiamo prendendo in considerazione di usare LTSP ed edubuntu per una scuola elementare ma la documentazione sulla configurazione del sistema LTSP è scarsa.
    Hai qualche dritta? Grazie e complimenti per il lavoro.

    RispondiElimina
  2. Mi correggo, ho trovato proprio ora un bel po di roba:
    http://help.ubuntu-it.org/7.04/edubuntu/handbook/it/index.html

    RispondiElimina
  3. Grazie per i complimenti :-)
    Se hai pazienza uno o due giorni riesco a scrivere un post un po' più specifico dove metterò qualche dritta che forse ti può risultare utile. In particolare per configurare il server dhcp, visto che ho usato un sistema più semplice e (secondo me) meno soggetto a errori e complicazioni.
    E comunque se ti serve qualcosa chiedi pure.

    RispondiElimina
  4. Anche io sto affrontando la transizione da Win2000 Server a Ubuntu, ma ho delle difficoltà a gestire il DAT-72 dell'HP. Tu come hai risolto il problema? Grazie per la risposta... :)

    RispondiElimina
  5. Scusa il ritardo nella risposta, ero in ferie e rigorosamente offline. Sto usando un dat-72 tranquillamente con ubuntu, anche se non è di HP. Se puoi essere un po' più specifico sul tipo di problema che hai magari posso darti una mano.

    RispondiElimina
  6. Perché Edubuntu e non Ubuntu Desktop?

    RispondiElimina
  7. Questo articolo era proprio quello che cercavo!

    Io sto per effettuare esattamente la stessa cosa in un ospedale qui in Kenya. Ho una copia di Ubuntu-Server 8.10, può andar bene? Ho letto che dispone di una versione modificata di LTSP... Mi consigli di usare Edubuntu?

    Per l'hardware server andrà bene un comune Pentium D (i client sono tutti Pentium4)? A che serve la dat72? Come si comporta Edubuntu e LTSP con i sistemi RAID?

    Grazie in anticipo e complimenti per l'articolo!

    RispondiElimina
  8. Ciao Alessandro, mi fa piacere se quello che ho scritto può risultare utile per una cosa importante come un ospedale. Purtroppo è da un pezzo che, per vari motivi, non seguo più LTSP. Ne ho ancora solo una installazione in produzione. Comunque quella installazione è proprio Ubuntu 8.10, anche se l'ambiente di boot per i thin client è rimasto alla versione 8.0.4, ma solo perchè avevo dei problemi con alcuni driver grafici. Per il resto credo che non avrai grosse difficoltà a mettere su l'ambiente. Il PentiumD va bene, dipende comunque da quanti client gli attacchi, molto importante è la quantità di ram. Il dat72 è solo un'unità a nastro per il backup, è assolutamente non necessaria alla configurazione di LTSP. Il backup poi deciderai tu come e se impostarlo. I sistemi Ubuntu in generale si comportano molto bene con i sistemi RAID, sia hardware che software, quindi anche qua nessun problema. Invece di usare Edubuntu (che installa molti pacchetti superflui) partirei con un comune Ubuntu installando solo i pacchetti necessari alla realizzazione del sistema LTSP.
    Ciao e in bocca al lupo!!

    RispondiElimina
  9. Ciao Enrico, grazie per le dritte!

    Sto attualmente installando Ubuntu Server 8.10 su un HP Proliant ML110 con sistema RAID.

    Raid hw fa un po' a cazzotti con Ubuntu quindi sto passando a quello sw.

    Se vuoi ti faccio sapere come procede poi per LTSP.

    Un saluto

    RispondiElimina
  10. Ciao Enrico, prosegue la configurazione di LTSP ma mi sto un po' perdendo...

    Ho bisogno che i vari clients (al momento un vecchio laptop compaq):
    - esegua il PXE Boot ed acceda ad un'utenza sul server (con o senza login)
    - che abbia solo qualche applicativo
    - nessuna connessione ad internet
    - la possibilità di eseguire una java-application con relativo DB MySQL (condiviso agli altri client)
    - la possibilità di salvare files sul desktop
    - utilizzare eventuali periferiche.

    Al momento mi riesce:
    - di avviare il PXE Boot previo spegnimento del laptop (altrimenti il DHCP smette di rispondere ad un secondo riavvio)
    - effettuare il login all'unica utenza administrator presente sul server che risulta essere la vera e propria utenza e non una copia come mi aspettavo.

    Avrei bisogno che ogni client viva indipendente sul server, ed in futuro configurare anche un eventuale client microsoft.

    Devo creare un utente sul server per ogni client?
    Devo creare una image per ogni client?
    Come faccio a decidere vita-morte-e-miracoli di ogni client?
    Quali sono le best-practices per quello che voglio fare?

    Spero avrai la forza di darmi una mano e ti ringrazio da ora.

    RispondiElimina
  11. Salve.
    Stiamo progettando una sistema per un'aula informatica di 10 terminali in una scuola elementare.
    Stiamo pensando di utlizzare Edubuntu con LTSP.

    Thin Client Alix1d (Geode 500 Mhz, 256 MB RAM - http://www.pcengines.ch/alix1d.htm).
    Server HP ProLiant ML 110 (Xeon Dual-Core, 2.8 Ghz, 3 GB RAM.

    Cosa ne pensate?
    Serve SWAP locale?

    Grazie!

    RispondiElimina
  12. Il server è ok, anche i thin dovrebbero andare. Però se per un prezzo paragonabile trovi dei veri pc, magari non modernissimi, ma un po' più carrozzati, ti funziona tutto meglio. Le versioni recenti di ubuntu richiedono comunque una certa dose di risorse (cpu, soprattutto) anche sui thin. Swap locale non ti dovrebbe servire comunque.
    Più in generale il grosso problema che ho notato ultimamente sull'architettura ltsp è la navigazione web su pagine contenenti delle parti in flash. Basta un thin client che stia navigando su un sito con molti flash per rallentare drammaticamente tutta la rete. E la cosa divertente è che le connessioni sono su switch a Gigabit e che il server LTSP non mostra carichi eccessivi o segni di stanchezza, tranne per la presenza di processi firefox che ciucciano un po' di cpu in più. Basta chiudere le pagine in questione e tutto si rimette a funzionare bene. Purtroppo non ho avuto mai il tempo di indagare meglio, ma resta il fatto che flash, nelle sue ultime versioni, sembra essere un killer per le reti LTSP.

    RispondiElimina
  13. Grazie!
    Quel thin client mi costa meno di 100 euro.
    Io ne ho già due, non proprio quello ma un suo "fratello" con 3 schede di rete e senza VGA.
    Su uno ci faccio girare Zeroshell e su uno Debian con Asterisk.
    Sull' Alix1d ho caricato XP e gira senza problemi.
    Il discorso flash non mi spaventa in quanto l'utilizzo preponderante sarà per programmi di didattica.

    RispondiElimina
  14. Un'altra cosa.
    Ha senso utilizzare il server anche come workstation o viene troppo appesantito?
    Il server conviene installarlo senza interfaccia grafica?

    Ciao e Grazie!

    RispondiElimina
  15. Il server deve essere tenuto il più scarico possibile, quindi io non lo userei come workstation e non gli installerei l'interfaccia grafica.

    RispondiElimina
  16. Ho fatto dei test con la versione 9.10.
    La prima volta ho installato LTSP a mano, dopo aver installato la 9.10, e funziona, la seconda ho installato LTSP direttamente all'installazione della 9.10 ed i client non si loggano (ho visto in rete che c'è un baco).
    Avrei allora deciso di installare la 8.04.
    Quindi tu consigli di installare la versione server o la desktop senza interfaccia grafica?
    In sintesi, cosa devo installare?
    Il mio "traguardo" è un'aula di informatica per la scuola elementare con Edubuntu.
    Scusa se insisto nel chiederti consigli, ma sono neofita di Ubuntu/LTSP.

    Grazie e Ciao!

    RispondiElimina
  17. Adesso che ci penso la grafica ci vuole comunque perchè i thin client l'interfaccia grafica la prendono dal server, quindi da li non si scappa. Io installerei Ubuntu normale, con gnome e i pacchetti strettamente necessari, e poi i pacchetti per ltsp.
    Poi se vuoi puoi mettere il kernel versione server, io l'ho usato e va bene comunque, ma ormai anche il 'generic' è stabilissimo.
    Fossi in te rifarei l'installazione 9.10 che ha funzionato la prima volta, se non altro hai firefox 3.5 e Openoffice versione 3.1, su Ubuntu 8.0.4 invece hai versioni più datate.

    RispondiElimina