Gentoo - Guida LTSP
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 proprio server abbia un IP
192.168.0.254, che il proprio dominio sia yourdomain.com e che la propria rete
sia 192.168.0.0/24.
Installazione
Prima di tutto, bisogna avere un sistema Gentoo funzionante. Leggere i manuali
di installazione Gentoo per la propria archittettura su Documentazione Gentoo.
Cominciare con un semplice passo, installando il pacchetto ltsp:
Codice 2.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 le flag USE kde/gnome sono impostate, 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 in modo semplice i problemi, il logger di sistema deve essere
configurato per accettare connessioni remote. Per avere istruzioni in
merito leggere la documentazione del proprio logger per. Ad esempio, se si
utilizza sysklogd basta modificare il file /etc/conf.d/sysklogd ed
aggiungere "-r" alla linea SYSLOGD:
Codice 3.1: /etc/conf.d/sysklogd |
SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"
|
NFS
Il prossimo passo è la modifica del file /etc/exports, in modo da
permettere alle workstation di caricare il filesystem root. Per ottenere questo
bisogna aggiungere queste due righe alla fine:
Codice 3.2: /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:
Modificare il network/netmask inserendo i dati della vostra rete.
|
A questo punto avviare NFS.
Codice 3.3: Avviare nfs |
# rc-update add nfs default
# /etc/init.d/nfs start
|
xinetd/tftp
TFTP richiede un po' di configurazione per funzionare bene. Prima di tutto
modificare il file /etc/conf.d/in.tftpd per impostare le opzioni e
il percorso del demone tftp:
Codice 3.4: /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 ci sarà bisogno di includere il percorso
/tftpboot per esempio nella configurazione di DHCP.
Poi configurare xinetd per far partire TFTP e abilitare le connessioni da
remoto. Come impostazione predefinita TFPT non sarà caricato da xinetd, per cui
modificare /etc/xinetd.d/tftp e sostituire disable=yes con
disable=no. Se il file non esiste crearlo con i contenuti sotto indicati.
Codice 3.5: /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
}
|
Modificare /etc/xinetd.conf e commentare la linea only_from =
localhost anteponendoci un #. Infine avviare xinetd.
Codice 3.6: 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. Utilizzare quest'ultimo metodo.
Tutte le workstation devono essere inserite in /etc/hosts. Guardare
questo esempio:
Codice 3.7: /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 file di configurazione
valido (/etc/dhcp/dhcpd.conf) per DHCP. Questo è un esempio:
Codice 3.8: dhcpd.conf |
default-lease-time 21600;
max-lease-time 21600;
use-host-decl-names on;
ddns-update-style ad-hoc;
allow booting;
allow bootp;
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";
option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
filename "/lts/vmlinuz-2.4.26-ltsp-2";
next-server 192.168.0.254;
#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 {
range dynamic-bootp 192.168.0.1 192.168.0.16;
#host ws001 {
# hardware ethernet 00:E0:06:E8:00:84;
# fixed-address 192.168.0.1;
#}
}
}
|
Se le vostre workstation supportano PXE, bisognerebbe elencarle tutte come è
stato fatto con host ws001 (non dimenticare di decommentarla). Non dare
loro un indirizzo nel range dinamico, altrimenti potrebbe succedere che più
workstation abbiano lo stesso indirizzo IP (il che è un problema). Ricordarsi
di rimpiazzare ogni commento "//" con "##", se si fa copia-incolla del
precedente esempio, altrimenti dhcp fallirà all'avvio.
Per maggiore documentazione su questo punto leggere il "manuale ufficiale dhcp":
http://www.dhcp-handbook.com/
Avviare DHCP com'è stato fatto con NFS e xinetd:
Codice 3.9: Avviare 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
funzionare.
|
Configurazione LTSP
Ci sono molte opzioni per configurare le proprie workstation, visitare
http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-en.html#AEN1190
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 e modificarlo da lì. Si può quindi
provare a cambiare l'opzione SCREEN_01 per leggere SCREEN_01
= startx. Per usare un mouse USB su un client remoto, aggiungere le
seguenti linee e cambiare il valore di X_MOUSE_* come segue:
Codice 3.10: /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 bisogna modificare la configurazione del proprio display manager per
accettare anche connessioni remote.
Per prima cosa modificare il file /etc/X11/xdm/Xaccess,
decommentando la seguente riga:
Codice 3.11: /etc/X11/xdm/Xaccess |
#* #qualsiasi host può ottenere la finestra di login
|
Modificate quindi la configurazione del display manager utilizzato:
XDM: In /etc/X11/xdm/xdm-config decommentare
DisplayManager.requestPort: 0
KDM: In /usr/kde/3.1/share/config/kdm/kdmrc cercare la
sezione [Xdmcp] e cambiare Enable = false in Enable =
true.
GDM: In /etc/X11/gdm/gdm.conf cercare la sezione
[xdmcp] e cambiare Enable = false in Enable = True.
Ora si può far partire il display manager:
Codice 3.12: Avviare xdm |
# rc-update add xdm default
# /etc/init.d/xdm start
|
Avvertenza:
Al momento ci sono dei problemi con XDM e GDM. L'autore usa KDM per risolvere
questi problemi.
|
Ricordarsi che se il proprio display manager è già in esecuzione, riavviando l'X
server via CTRL-ALT-BACKSPACE non verrà riavviato il display manager.
Creare un floppy d'avvio
Se le proprie workstation non supportano il boot via PXE, allora si può creare
un floppy d'avvio che può essere utilizzato per avviare le workstation e
connetterle al terminal server. Andare al l'indirizzo
http://www.rom-o-matic.net/, selezionare l'ultima versione,
selezionare il proprio NIC, premere Get ROM e scrivere l'immagine sul
floppy:
Codice 3.13: Scrivere l'immagine del floppy |
# cat nicfile.zdsk > /dev/fd0
|
4.
Risoluzione dei problemi
Ci sono un po' di cose che possono essere fonte di problemi, ma ci sono anche
altre risorse che possono aiutare a risolverli:
5.
Domande frequenti
D: La mia workstation ha una CPU Pentium II, ma il mio server è
compilato con march=athlon-xp, può funzionare lo stesso?
R: Questo non è un problema, perchè tutte le applicazioni vengono
caricate sul server.
D: Quale CPU e quanta RAM dovrebbe avere il server?
R: C'è un buon documento con alcuni suggerimenti a
http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing.
D: Hai maggiori informazioni riguardo il supporto PXE?
R: Sì, date un'occhiata a
http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE.
D: E’ possibile utilizzare software con Accelerazione 3D sulle
workstation?
R: Se state utilizzando schede NVidia date un'occhiata qui
http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411.
D: In alcune applicazioni il font si vede male, cosa succede?
R: Bisogna configurare l'XFontServer, aggiungete USE_XFS=Y al
vostro lts.conf, modificate /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 sezione Files.
D: Posso utilizzare la scheda audio della mia workstation?
R: 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."
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|