LTSP
description
Transcript of LTSP
LTSPLinux Terminal Server Project
INFN - Napoli1
INFM - UDR Napoli2
Workshop CCR 2003 – Paestum
Rosario Esposito1
Francesco Maria Taurino1,2
Gennaro Tortone1
CCR 2003 – Paestum 2
Dotare le sale utenti e i laboratori studenti di terminaliche permettano l'utilizzo delle risorse dei centri di calcolo
I terminali seriali e gli X-terminal (tipo Digital VXT) sono ormai obsoleti e non offrono prestazioni ritenute soddisfacenti
Il carico di lavoro sui sistemisti è solitamente molto elevato ed è possibile dedicare poco tempo alla manutenzione delle sale utenti
Affidare agli utenti, a volte occasionali, una postazione di lavoro Windows aumenta i rischi di intrusione / hackeraggio
Problema
CCR 2003 – Paestum 3
Possibili soluzioni
Nuovi sistemi X-terminal sono disponibili in commercio, ma a prezzi piuttosto elevati e caratteristiche hardware medio-basse
I terminali Windows prevedono l'utilizzo di serverMicrosoft ($$) e non consentono l'accesso a risorse Xwindows, se non nelle versioni più costose
PC standard con una installazione personalizzata di Linux(es.: LinuXterminal http://www.na.infn.it/compreso/Linuxterminal99/)
LTSP – Linux Terminal Server Project
CCR 2003 – Paestum 4
LTSP - Introduzione LTSP è un prodotto OpenSource che fornisce
un metodo molto semplice per utilizzare PC a basso costo come terminali grafici o testuali
Consente il boot di macchine diskless tramite una scheda di rete dotata di EEPROM (es.: 3com 905cTX) oppure PXE-compliant
Prevede l’utilizzo di un boot server su cui girano i servizi dhcp, tftp e nfs e su cui vanno installati i pacchetti di LTSP, reperibili su
http://www.ltsp.org
CCR 2003 – Paestum 5
LTSP – Altri utilizzi
Può essere utilizzato per creare chioschi informatici o internet cafè
Esistono pacchetti per trasformare un pool di terminali LTSP in una Linux farm con OpenMosix(es.: http://bofh.be/clusterknoppix/)
E' possibile consentire l'accesso ai floppy dei terminali per trasferire file da/verso i sistemi di public login
Sono disponibili alcune applicazioni per l'esecuzione in locale, come Netscape, rdesktop, il client ICA, ma e' necessario configurare un server NIS
CCR 2003 – Paestum 6
LTSP – Come funziona (1/2)
Il PC-terminale, dopo l'accensione ed il POST, rileva la presenza di una rom boottabile
Viene eseguito il codice di Etherboot, che effettua la richiesta DHCP
Il server DHCP risponde alla richiesta con i dati relativi all'indirizzo ip, la netmask, il path ed il nome del kernel da scaricare ed il percorso da montare come rootfs
Via TFTP viene scaricato il kernel da eseguire
Il kernel riconosce l'hardware della macchina ma invece di eseguire “init” esegue lo script “linuxrc”
CCR 2003 – Paestum 7
LTSP – Come funziona (2/2)
linuxrc, fra le altre cose, monta la directory root dal server nfs e lancia “init”
Init completa la configurazione della macchina ed imposta il terminale al runlevel specificato:
3 : shell (debug delle configurazioni) 4 : sessioni telnet 5 : sessione X, con richiesta XDMCP verso il
server specificato. A questo runlevel la scheda grafica viene configurata in modo automatico!
CCR 2003 – Paestum 8
Hardware supportato
PC x86 compatibili (esiste una versione sperimentale
per macchine PPC)
Tutte le schede di rete supportate da
Etherboot e dal kernel di Linux
Tutte le schede video supportate da XFree86
4.1, oppure 3.3.6 grazie ad appositi pacchetti
aggiuntivi
CCR 2003 – Paestum 9
LTSP – server (1/8)
LTSP è disponibile in formato sorgente, tgz, deb, e rpm per RedHat, Mandrake, Suse
Le slide si riferiscono all’installazione di unboot-server con Mandrake Linux
I pacchetti LTSP necessari sono 4 ltsp_core – mini-distribuzione per i client ltsp_kernel – kernel per i terminali ltsp_x_core – XFree86 4.1 ltsp_x_fonts – fonts per X-Windows
CCR 2003 – Paestum 10
LTSP – server (2/8)
Installare i pacchetti dhcp-server, tftp-server e nfs-server
# urpmi dhcp-server # urpmi tftp-server # urpmi nfs-utils
Installare i 4 pacchetti ltsp scaricati dal sito LTSP
# rpm -Uvh ltsp*
CCR 2003 – Paestum 11
LTSP – server (3/8)
Editare il file /etc/dhcpd.conf :ddns-update-style none;
option domain-name "na.infn.it";
option domain-name-servers 192.84.134.50, 192.84.134.55;
default-lease-time 21600;
max-lease-time 43200;
option root-path "192.84.149.101:/opt/ltsp/i386";
subnet 192.84.149.0 netmask 255.255.255.0 {
option routers 192.84.149.254;
option subnet-mask 255.255.255.0;
host lxt1 {
hardware ethernet 00:04:76:D6:EF:D6;
fixed-address 192.84.149.102;
filename "/lts/vmlinuz-2.4.9-ltsp-lpp-6";
}
}
CCR 2003 – Paestum 12
LTSP – server (4/8)
Editare il file /opt/ltsp/i386/etc/lts.conf, che contiene le
opzioni per i client e i settaggi specifici per le macchine
con hardware particolare:
[Default]
XDM_SERVER = 192.84.149.101
XSERVER = auto
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 2
CCR 2003 – Paestum 13
LTSP – server (5/8)
X_MOUSE_EMULATE3BTN = Y
USE_XFS = Y
XFS_SERVER = 192.84.134.1
LOCAL_APPS = N
RUNLEVEL = 5
DNS_SERVER = 192.84.134.50
SEARCH_DOMAIN = na.infn.it
[192.84.149.46]
X_MOUSE_PROTOCOL = "Microsoft"
X_MOUSE_DEVICE = "/dev/ttyS0"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 2
X_MOUSE_EMULATE3BTN = Y
CCR 2003 – Paestum 14
LTSP – server (6/8)
Avviare i server # service dhcpd start # service xinetd restart (tftp e' gestito da
xinetd)
Esportare la directory di ltsp via nfs In /etc/exports
/opt *(ro)
Avviare il server nfs # service nfs startLTSP non richiede alcun daemon specifico in esecuzione sul server
CCR 2003 – Paestum 15
LTSP – server (7/8)
Nella configurazione di default di LTSP i client fanno una richiesta XDMCP di tipo “query” all'host XDM_SERVER
Può essere conveniente modificare gli script LTSP edil login manager per effettuare richieste di tipo “indirect” per consentire agli utenti il login su più server
Modificare il file /opt/ltsp/i386/etc/rc.local e modificare, la stringa “-query ${XDM_SERVER}” in“-indirect ${XDM_SERVER}”
CCR 2003 – Paestum 16
LTSP – server (8/8)
Modificare il file di configurazione del login manager che gira sull’XDM server per accettare le connessioni di tipo indirect e inserire la lista degli host da contattare
Ad esempio per gdm (/etc/X11/gdm/gdm.conf) In [xdmcp] :
“Enable = true”“HonorIndirect = true”
Aumentare i parametri “Max*” in base al numero di terminali
In [chooser] : “Hosts = server1.domain, server2.domain,
server3.domain”
CCR 2003 – Paestum 17
LTSP – client (1/2)
Se i client sono dotati di floppy disk :
Scaricare dal sito http://www.rom-o-matic.net l'immagine di boot per floppy disk, in formato lzdsk, corrispondente alla scheda di rete installata
Copiare l'immagine su un floppy
Boot da floppy
Il client carica il programma e comincia la procedura di boot via rete
Dopo pochi secondi è disponibile la sessione X verso il server specificato
CCR 2003 – Paestum 18
LTSP – client (2/2)
Se i client sono dotati di scheda di rete con EEPROM:
Scaricare dal sito http://www.rom-o-matic.net l'immagine di boot per eprom, in formato lzrom, corrispondente alla scheda di rete installata
Programmare la EEPROM ed inserirla nella scheda di rete
Configurare il terminale per il boot via rete
Il client carica il programma dalla EEPROM della scheda e comincia la procedura di boot via rete
Dopo pochi secondi e' disponibile la sessione X verso il server specificato
CCR 2003 – Paestum 19
LTSP e PXE
E' possibile fare il boot di client LTSP via PXE
Dopo il POST, il PC esegue una richiesta di boot via rete
Il server DHCP indica al client di scaricare il bootloader pxelinux (http://syslinux.zytor.com/)
Pxelinux effettua il download del kernel LTSP
Vengono eseguiti gli step di LTSP per completare la configurazione “al volo” del terminale
CCR 2003 – Paestum 20
LTSP a Napoli
Nella sezione INFN di Napoli LTSP e' utilizzato per il boot di 68 terminali diskless da due server Linux
18 del centro di calcolo
10 Celeron 1000 - 256 MB
8 Pentium 200 - 32 MB
50 per i laboratori studenti del dip. di Fisica
20 Celeron 400 - 64 MB
30 PIII 1000 - 256 MB
Il Setup dei server ha richiesto meno di 2 ore (ciascuno)