Kapitel 9. Tynde klienter med Linux

Tynde klienter er maskiner der blot virker som en terminal og lader al væsentlig databehandling ske på en server.

Terminalen kan derfor være ganske begrænset udstyret. Fx. kan man benytte ældre pc'er af pentiumtypen med blot en 100 MHz CPU, 16 Mb RAM og uden disk, og få ganske rimelig ydelse ud af den. Man kan også købe nye maskiner med begrænset udstyr, såsom kun lidt RAM og ingen disk, og derved spare penge på hver arbejdsstation.

En anden fordel er at i større miljøer med mange arbejdsstationer, kan en maskinpark med tynde klienter betyde en væsentlig arbejdsbesparelse, nogen undersøgelser viser op mod 50 % besparelse i de totale driftsomkostninger (TCO) i.fh.t. almindelige fritstående Linux-maskiner med netværk, og op mod 75 % besparelse i.fh.t. almindelige Microsoft Windows fritstående maskiner i netværk.

En tredje fordel kan være et bedre miljø, idet den manglende disk og mindre behov for CPU-kraft kan betyde mindre støj og mindre varmeudvikling.

En løsning med tynde klienter kan således være aktuel i både større og mindre virksomheder, som arbejdsstationer på skoler, og hjemme, hvor en gammel pc måske kan gives et helt nyt liv.

Tynde klienter, som det omtales her, kræver et lokalnet, (mindst 10 Mbit, gerne 100 Mbit) for at fungere ordentligt. Tung grafik såsom film eller grafikintensive spil vil køre meget langsomt, mens de fleste andre anvendelser, såsom netlæser, kontorpakker vil køre ganske fortrinligt. Microsoft Windows programmer kræver særlig opsætning og formentlig køb af særligt programmel.

Tynde klienter kræver en server, der skal have den nødvendige kapacitet. Dette behøver ikke at være alverden: folk har været imponeret over ydeevnen på en server med en 650 MHz CPU og 200 Mb RAM, hvilket er en del mindre end de mindste maskiner der sælges i dag på markedet. Der skal også være nødvendig diskkapacitet, selve det system, der omtales nedenfor fylder under 300 Mb udover det basale Linux-driftssystem. Det vigtigste er at have meget RAM, 20-80 Mb RAM per klient, afhængigt af om der køres mange store programmer såsom kontorpakker, og aftagende med antallet af klienter. CPU-hastigheden er ikke så afgørende, 1 GHz er fint. Hertil skal man beregne diskplads til hver enkelt bruger ud fra deres forventede behov.

9.1. LTSP

Tynde klienter har været en mulighed under Linux og UNIX i mange år, via X Windows. En pakke, som gør det nemt at installere, er LTSP – Linux Terminal Server Project som findes på http://www.ltsp.org. Hovedmanden bag projektet hedder Jim McQuillan.

Det, LTSP giver dig er først og fremmest et system til at køre X Windows på en pc-klient. På serveren kan man bruge de fleste distributioner, for eksempel Red Hat, Mandrake, Debian, SuSE, og det er altså serverens system, de enkelte klienter vil komme til at køre.

De 4 pakker som skal installeres for at lave en X skærm kan hentes fra www.ltsp.org, hvor de findes i de forskellige pakkeformater der passer til den valgte distribution (.rpm, .deb, .tgz etc.) Pakkerne er:

Desuden findes der en masse anden information på http://www.ltsp.org om generel installation, postlister for diskussion, udvikling og annoncering, opsætning af lyd, floppy, kørsel af programmer på klientens CPU, støtte for gamle skærme mm. Der findes en dansk side om LTSP på http://www.klid.dk/sw/ltsp/.

9.1.1. LTSP virkemåde

LTSP har en række trin som gennemgås før pc'en kører som X-terminal.

  1. Klienten bootes via diskette, eller en bootprom på netkortet

  2. Klienten får en IP-adresse fra serverens DHCP

  3. Linux-kernen overføres via TFTP

  4. initrd RAM-filsystem overføres via TFTP

  5. klienten bootes fra RAM-disk og kerne

  6. Klienten får parametre til X-terminal fra LTSP

  7. Klient monterer diske på server via NFS

  8. Klienten kører X

  9. Klienten får login fra server

Når man logger ind, kører programmerne så på serveren. Man skal derfor have en konto for hver bruger der skal bruge serveren. Samme bruger kan godt være logget ind flere gange samtidigt.

9.1.2. Opsætning af server

  1. LTSP installeres fra de ovennævnte 4 pakker.

  2. Opsætningsfiler laves for DHCP, TFTP, NFS, se LTSP-vejledning.

  3. LTSP opsætningsfil opsættes i /opt/ltsp/i386/etc/lst.conf med info om skærm, tastatur, mus, lyd etc.

  4. Der skal opsættes DHCP per klient med IP-nummer ud fra Ethernet MAC-adresse og evt info om X-driver for ældre skærmkort der ikke kan køre XFree86 version 4.

  5. /etc/hosts skal have en indgang per klient

  6. NFS /etc/exports skal opsættes

9.1.3. Opsætning af klient

Der skal genereres en diskette, eller en bootprom. Dette kan gøres via netstedet http://www.rom-o-matic.net, der indeholder drivere fra Etherboot-projektet for en masse netkort, til at generere både en opstartsdiskette og kode til en bootprom. Brænding af bootprommer er et kapitel for sig, der findes info om dette på http://www.ltsp.org.

Desuden skal der laves opsætning på serveren for hver klient, som nævnt ovenfor.

9.1.4. Problemløsning i LTSP

Grafikkort virker som regel med udgave 4 af XFree86, men ved ældre grafikkort kan man blive nødt til at finde ud af hvilken X-driver der skal bruges, samt andre parametre for grafikkortet og skærmen. Det kan her være en hjælp at installere grafikkort og skærm på en fritstående Linux-maskine med disk og X installeret. Her kan programmet Xconfigurator være en stor hjælp.

Standardværdierne for netværk, gateway mm er måske ikke rigtige, de skal evt. rettes til i en række filer.

Der kan være problemer hvis man har mere end én DHCP-server på nettet, ved at klienten accepterer data fra den forkerte server. Man kan have flere DHCP-servere på samme net, men det må anbefales at integrere dem til én. Ofte er det dog ikke nemt at gøre, fx hvis man har en fritstående ruter med DHCP-server i forbindelse med et ADSL-abonnement. Fra Etherboot version 5.0.7 vil klienten ikke bruge opstartsdata fra en DHCP-server, hvis denne ikke giver nogen opstartsfil, og dermed ignoreres normalt simple DHCP-servere. Således kan man på driftsikker måde have en ekstra DHCP-server installeret, for eksempel på en Linux-maskine, der kun tager sig af de tynde klienter, via deres explicitte MAC-adresser.