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 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 |
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";
#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, 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."
|