LTSP

20
LTSP Linux Terminal Server Project INFN - Napoli 1 INFM - UDR Napoli 2 Workshop CCR 2003 – Paestum Rosario Esposito 1 Francesco Maria Taurino 1,2 Gennaro Tortone 1

description

Linux Terminal Server Project

Transcript of LTSP

Page 1: LTSP

LTSPLinux Terminal Server Project

INFN - Napoli1

INFM - UDR Napoli2

Workshop CCR 2003 – Paestum

Rosario Esposito1

Francesco Maria Taurino1,2

Gennaro Tortone1

Page 2: LTSP

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

Page 3: LTSP

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

Page 4: LTSP

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

Page 5: LTSP

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

Page 6: LTSP

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”

Page 7: LTSP

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!

Page 8: LTSP

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

Page 9: LTSP

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

Page 10: LTSP

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*

Page 11: 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";

}

}

Page 12: LTSP

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

Page 13: LTSP

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

Page 14: LTSP

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

Page 15: LTSP

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}”

Page 16: LTSP

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”

Page 17: LTSP

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

Page 18: LTSP

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

Page 19: LTSP

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

Page 20: LTSP

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)