Gentoo - Guida LTSP

Contenuti:

1.Introduzione

Che cosa è LTSP? 

LTSP è l'abbreviazione di "Linux Terminal Server Project". Installato su un server può fornire molte workstation (chiamate anche thin-client) dello stesso ambiente. Tutte le applicazioni vengono eseguite sul server e grazie a questo possono essere usati vecchi PC e trasformati in Xterminal. Questo riduce costi e mantenimento specialmente in realtà dove c'è la necessità di avere un ambiente di lavoro uniforme su ogni computer, per esempio in scuole o aziende.

2.Installazione

Preliminari 

Tutti gli esempi in questo documento prevedono che il vostro server abbia un IP 192.168.0.254, che il vostro dominio sia yourdomain.com e che la vostra rete sia 192.168.0.0/24.

Installazione 

Prima di tutto, dovete avere un sistema Gentoo funzionante. Leggete i manuali di installazione Gentoo per la vostra archittettura su Documentazione Gentoo.

Quindi cominciate con un semplice passo, installando il pacchetto ltsp:

Esempio 1: Emerge LTSP

# emerge ltsp

Questo installerà i seguenti pacchetti come dipendenze:

  • XFree: Sono chiamati XTerminal
  • DHCP: DHCP è il protocollo per la configurazione automatica di computer che usano TCP/IP, è utilizzato da ltsp per la distribuzione di IP alle workstation.
  • NFS: NFS è un protocollo che permette l'accesso al disco rigido attraverso la rete, è utilizzato da ltsp per caricare un sistema di base per le workstation.
  • TFTP: TFTP è un semplice protocollo di trasferimento, è utilizzato da ltsp per trasferire il kernel alle workstation.
  • XINETD: Xinetd è un potente rifacimento di inetd, con funzionalità avanzate, utilizzato da ltsp per far partire tftp.

Nota: Se avete le useflag kde/gnome settate, verrà installato anche un sistema completo kde/gnome.

3.Configurazione

Dopo che il processo di emerge sarà completato tutti i servizi dovranno essere configurati:

Logger di sistema 

Per analizzare i problemi semplicemente, il logger di sistema deve essere configurato per accettare connessioni remote. Legggete la documentazione del vostro logger per sapere come è possibile fare questo. Ad esempio, se utilizzate sysklogd tutto ciò che dovete fare è editare il file /etc/conf.d/sysklogd ed aggiungere "-r" alla linea SYSLOGD:

Esempio 2: /etc/conf.d/sysklogd

SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"

NFS 

Il prossimo passo è di editare il vostro file /etc/exports, in modo da permettere alle workstation di caricare il filesystem root. Per questo dovete aggiungere queste due righe alla fine:

Esempio 3: /etc/exports

/opt/ltsp-4.1/i386            192.168.0.0/255.255.255.0(ro,no_root_squash,async)
/var/opt/ltsp/swapfiles  	  192.168.0.0/255.255.255.0(rw,no_root_squash,async)

Nota: Dovete modificare il network/netmask inserendo i dati della vostra rete.

Ora fate partire NFS.

Esempio 4: Starting nfs

# rc-update add nfs default
# /etc/init.d/nfs start

xinetd/tftp 

TFTP richiede qualche configurazione per farlo funzionare bene. Prima di tutto editate il file /etc/conf.d/in.tftpd per impostare le opzioni e il path del demone tftp:

Esempio 5: /etc/conf.d/in.tftpd

INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"

La flag -s specifica che TFTP verrà caricato in chroot mode (raccomandato). Questo significa che non avrai bisogno di includere la path /tftpboot per esempio nella configurazione del DHCP.

Ora configurate xinetd per far partire TFTP e abilitare le connessioni da remoto. Di default TFPT non sarà caricato da xinetd, quindi per cambiare questo editate /etc/xinetd.d/tftp e rimpiazzate disable=yes con disable=no. Se il file non esiste createlo con i contenuti sotto indicati.

Esempio 6: /etc/xinetd.d/tftp

service tftp
{
        disable = no
        socket_type = dgram
        protocol = udp
        wait = yes
        user = root
        server = /usr/sbin/in.tftpd
        server_args = -s /tftpboot
}

Adesso editate /etc/xinetd.conf e commentate la linea only_from = localhost anteponendoci un #. Per finire avviate xinetd.

Esempio 7: Avviare xinetd

# rc-update add xinetd default
# /etc/init.d/xinetd start

Risoluzione dei nomi 

Per fare in modo che le workstation trovino tutte le risorse, una corretta risoluzione dei nomi deve essere disponibile. Ci sono alcuni modi per ottenere ciò. Uno è di configurare un server DNS per la rete locale, un altro (e molto più semplice) è di avere lo stesso file /etc/hosts su tutti i sistemi. Utilizzate quest'ultimo metodo.

Tutte le workstation devono essere inserite in /etc/hosts. Date un'occhiata a questo esempio:

Esempio 8: /etc/hosts

127.0.0.1        localhost
192.168.0.254    server      server.yourdomain.com
192.168.0.1      ws001       ws001.yourdomain.com

Configurazione DHCP 

Questo è il passo più complicato in cui bisogna creare un valido config file (/etc/dhcp/dhcpd.conf) per il DHCP. Questo è un esempio:

Esempio 9: dhcpd.conf

(Qualche opzione generale)
default-lease-time            21600;
max-lease-time                21600;
use-host-decl-names           on;
ddns-update-style             ad-hoc;

(Opzioni di Bootp)
allow booting;
allow bootp;

(Opzioni di rete)
option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.254;
option domain-name-servers    192.168.0.254;
option log-servers            192.168.0.254;
option domain-name            "yourdomain.com";

(Opzioni di path di LTSP)
option root-path              "192.168.0.254:/opt/ltsp-4.1/i386";
filename                      "/lts/vmlinuz-2.4.26-ltsp-2";

(Se le vostre workstations hanno una scheda ISA NIC scommentate)
(le seguenti linee e adattate il driver e l'IO)
#option option-128 code 128 = string;
#option option-129 code 129 = text;
#option option-128 e4:45:74:68:00:00;
#option option-129 "NIC=ne IO=0x300";

shared-network WORKSTATIONS {
  subnet 192.168.0.0 netmask 255.255.255.0 {
    (Distribuisce IP dinamici alle workstations)
    range dynamic-bootp 192.168.0.1 192.168.0.16;
    (Specifica configurazione per le workstations con PXE)
    #host ws001 {
    #  hardware ethernet     00:E0:06:E8:00:84;
    #  fixed-address         192.168.0.1;
    #}
  }
}

Se le vostre workstation supportano PXE, dovreste elencarle tutte come è stato fatto con host ws001 (non dimenticate di scommentarla). Non date loro un indirizzo nel range dinamico, altrimenti potrebbe succedere che più workstation abbiano lo stesso indirizzo IP (il che è un problema). Ricordate, se copiate-incollate il precedente esempio, rimpiazzate ogni "//" commento con "##", oppure dhcp fallirà all'avvio.

Per maggiore documentazione su questo punto leggete l'"official dhcp handbook": http://www.dhcp-handbook.com/

Ora fate partire il DHCP come e' stato fatto con NFS e xinetd:

Esempio 10: start dhcp

# rc-update add dhcp default
# /etc/init.d/dhcp start

Nota: Il DHCPD ha bisogno del CONFIG_PACKET e CONFIG_FILTER attivati nel kernel per lavorare.

Configurazione LTSP 

Ci sono molte opzioni per configurare le vostre workstation, visitate http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903 per una completa descrizione di /opt/ltsp/i386/etc/lts.conf.

Come suggerimento per iniziare, si può voler copiare /opt/ltsp/i386/etc/lts.conf.example su /opt/ltsp/i386/etc/lts.conf ed editarlo da lì. Potete quindi voler provare a cambiare l'opzione SCREEN_01 per leggere SCREEN_01 = startx. Per usare un mouse USB su un client remoto, aggiungete le seguenti linee e cambiate il valore di X_MOUSE_* come segue:

Esempio 11: /opt/ltsp/i386/etc/lts.conf

MODULE_01          = usb-uhci
MODULE_02          = mousedev
MODULE_03          = usbmouse
X_MOUSE_PROTOCOL   = "IMPS/2"
X_MOUSE_DEVICE     = "/dev/input/mice"

Display Manager 

Ora dovete modificare la configurazione del vostro display manager per accettare anche connessioni remote.

Per prima cosa modificate il vostro file /etc/X11/xdm/Xaccess, scommentando la seguente riga:

Esempio 12: /etc/X11/xdm/Xaccess

#*		#qualsiasi host può ottenere la finestra di login

Ora modificate la configurazione del display manager che utilizzi:

XDM: In /etc/X11/xdm/xdm-config scommentate DisplayManager.requestPort: 0

KDM: In /usr/kde/3.1/share/config/kdm/kdmrc cercate la sezione [Xdmcp] e cambia Enable = false in Enable = true.

GDM: In /etc/X11/gdm/gdm.conf cercate la sezione [xdmcp] e cambiate Enable = false in Enable = True.

Ora si può far partire il display manager:

Esempio 13: Starting xdm

# rc-update add xdm default
# /etc/init.d/xdm start

Attenzione: Al momento ci sono dei problemi con XDM e GDM. L'autore usa KDM per risolvere questi problemi.

Ricordate che se il vostro display manager è già in esecuzione, riavviando l'X server via CTRL-ALT-BACKSPACE non verrà riavviato il display manager.

Creare un bootfloppy 

Se le vostre workstation non supportano il boot via PXE, allora potete creare un floppy di boot che può essere utilizzato per avviare le vostre workstation e conneterle al terminal server. Andate a http://www.rom-o-matic.net/, selezionate l'ultima versione, selezionate il vostro NIC, premete Get ROM e scrivete l'immagine sul floppy:

Esempio 14: Write floppy image

# cat nicfile.zdsk > /dev/fd0

4.Troubleshooting

Ci sono un pò di cose che possono essere fonte di problemi, ma ci sono anche altre risorse che possono aiutarvi a risolvere i vostri problemi:

5.FAQ

Q: La mia workstation ha una CPU Pentium II, ma il mio server è compilato con march=athlon-xp, può funzionare lo stesso?

A: Questo non è un problema, perchè tutte le applicazioni vengono caricate sul server.

Q: Quale CPU e quanta RAM il server dovrebbe avere?

A: C'è un buon documento con alcuni suggerimenti a http://ltsp.org/documentation/server_suggestions.html.

Q: Hai maggiori informazioni riguardo il supporto PXE?

A: Sì, date un'occhiata a http://ltsp.org/documentation/eproms.txt e http://ltsp.org/documentation/pxe.howto.html.

Q: E’ possibile utilizzare software 3D-Accelerated sulle workstation?

A: Se state utilizzando schede NVidia date un'occhiata qui http://ltsp.org/documentation/nvidia.txt.

Q: In alcune applicazioni il font si vede male, cosa succede?

A: Voi avete installato l'XFontServer, aggiungete USE_XFS=Y al vostro lts.conf, editate /etc/X11/fs/config e commentate no-listen: tcp, modificate XFS_PORT="-1" con XFS_PORT="7100" in /etc/conf.d/xfs e fate partire xfs: /etc/init.d/xfs start. Ora assicuratevi che /etc/X11/XF86Config (o /etc/X11/xorg.conf) contenga FontPath "unix/:7100" nella Files-section.

Q: Posso utilizzare la scheda audio della mia workstation?

A: E’ presente un pacchetto ltsp-sound in Gentoo, per maggiori informazioni leggete il file incluso README.

6.Glossario

LTSP "LTSP fornisce un semplice modo per utilizzare workstation a basso costo come terminali a caratteri o grafici su un server GNU/Linux."

PXE "Abbreviazione per Pre-Boot Execution Environment. Si pronuncia pixie, PXE è uno dei componenti delle spefiche di Intel WfM. Questo permette alle workstation di fare il boot da un server su una rete con maggiore priorità del boot del sistema operativo sul disco rigido locale. Una workstation PXE-enabled connette il suo NIC alla LAN attraverso un jumper, e rimane connesso alla rete fino a che non viene tolta energia."



Ultimo aggiorn.:
18 Ottobre 2004
Heinrich Wendel
Autore

Josiah Ritchie
Autore

Sven Vermeulen
Redazione

Bernardo Damele
Traduzione

Luca Mercuri
Traduzione

Team Italiano
Traduzione

Sommario:  Questa guida mostra come configurare un server LTSP con Gentoo.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.