
Thinstation - en ny generation tynd klient.
Hvad er en tynd klient?. Konceptet blev opfundet af SUN og Oracle midt i halvfemserne i et forsøg at lette administrationen og vedligehold af (især) windows-baserede workstations. Specielt halv-offentlige Windowsmaskiner (skoler, biblioteker osv.) har en meget kort levetid, før de skal ominstalleres. Det koster en masse tid og ærgelse.
Ideen er at al CPU arbejdet flyttes fra den lokale workstation til centrale servere. De lokale maskiner skal i virkeligheden ikke gør andet end styre grafikkort, netkort, mus og tastatur. Det betyder, der ikke er en harddisk i en tynd klient, hvilket igen betyder at der ikke kan/skal installeres noget på den lokale maskine. Det betyder igen, at den ikke kan få virus og at brugerne ikke kan installere uautoriserede programmer (spil, spyware!).
Det er vigtigt at forstå, at en tynd klient er et værktøj, ikke et legetøj. Hvis du synes det er skønt at pille ved og tweake din Linux box og prøve 117 programmer af, så er en tynd klient ikke noget for dig. En tynd klient er som en skruetrækker. Den skal bruges til at skrue skruer i med. Hvem gider sidde og pudse sin skruetrækker?
Især SUN og IBM er store spillere på tynd klient området med propriotære hardwareløsninger og klientsoftware. På Linux fronten har Linux Terminal Server Project (LTSP) oprindeligt stået for en fri løsning til PC hardware, der matcher SUN og IBM.
De fleste tynde klienter opererer med samme grundprincip: Med Etherboot eller PXE broadcast er de under boot efter en DHCP server, der tildeler dem et ip-nummer mm. Og giver dem navnet/adressen på en TFTP eller BOOTP server. Fra en af sidstnævnte download er de en Linux kerne (vmlinuz) og et RAM-disk (initrd). Med dette boot er klienten sig selv om i Linux, der så igen beder DHCP serveren om ip-nummer mm. denne gang som en alm. Linux maskine. Herfra er en tynd klient bare en Linuxbox.
The good
Tynde klienter giver nogle kontante fordele: hardwaren i klienterne kan være yderst begrænset hvor svært er det at styre et grafikkort? Der er ikke behov for en harddisk, hvilket reducerer støjniveauet, varmeudviklingen og el-regningen. Hardwaren kan være så "svag" at der ikke er behov for blæsere overhovedet - end ikke i strømforsyningen. Derfor kan tynde klienter i princippet være meget billige. Gamle PC'ere er også blevet et ganske populære som tynde klienter. En 100 MHz Pentium med 32 MB RAM er en OK arbejdsplads, når den er en tynd klient. Men som altid mere er bedre. En P-II 300 MHz med 64 MB RAM er perfekt.
En anden konkret fordel ved tynde klienter er, at de er "state less2 dvs. at brugerens situation ikke er knyttet til en bestemt hardware. Dør brugerens computer, kan han bare tage en anden, logge ind på samme server som før og arbejde uforstyrret videre. På en alm. Windows eller Linux workstation betyder en død computer mange timers uproduktiv venten, også selvom back-up'en imod forventning er i orden.
Da alle data alligevel ligger på serverne, er der intet behov for lokale drev. De fleste tynde klienter er derfor helt uden floppy/CD/USB. Igen en god beskyttelse mod vira, piratsoftware og uautoriseret installation.
Når programmer og data ligger centralt, er det let at have en kvalificeret back-up og sikkerhedspolitik. Man sikre også let, at alle medarbejdere har samme version af programmer og det bliver simpelt at organisere filstrukturen mellem grupper af medarbejdere.
The bad
Den økonomiske gevinst i anskaffelsen af nye tynde klienter er aldrig kommet. F.eks koster en ny Neoware tynd klient omkring 4000,- ex moms og skærm. Årsagen er nok at produktionsserierne er for små. Det er umanerligt svært at konkurrere mod et Taiwan-bundkort med en AMD og en stang noname RAM. Ironisk nok er de mest succesfulde tynde klienter i dag baseret på alm. PC teknologi. F.eks. VIA har en vis succes med deres mini-itx serie.
Et andet problem indtil 2004 var, at x86-servere ikke kunne tage mere end 3-4 GB RAM, hvilket ikke rækker til mere end ca. 30-40 brugere. Med de nye 64 bit CPU'er er det problem dog løst.
The ugly
Lige så blændende smarte tynde klienter er til kontorbrug, lige så ynkelige er de til multimedia ting, der kører på serveren. Bare en gemen Flash animation kan sende en tynd klient til tælling. Problemet er, at al grafik skal genereres på serveren, sendes over nettet og så endelig dekodes på klienten. Faktisk kan bare et kompliceret baggrundsbillede på server-desktoppen (ja, ja, så siger jeg det rent ud bikinipiger :-) sløve opdatering af desktoppen mærkbart ned.
Visse brugere, typisk folk, der aldrig har prøvet andet end Windows, har store problemer med at arbejde med en tynd klient. De kan/vil ikke leve med manglen på lokale drev. De kan ikke leve med at de ikke kan installere programmer selv (Nogle af mine Windows brugere vil fuldstædig refleksmæssigt installere en pirat winzip, selvom der allerede er et autoriseret zip-program).
Tynde klienter og Linux
Traditionelt har LTSP stået for Linux-enden af tynde klienter. LTSP ligner de kommercielle SUN/IBM løsninger på godt og ondt. LTSP er uhyre centraliseret, idet den kræver DHCPD, TFTPD og NFS og kræver installation på serveren af LTSP software. Fra klientsiden får man adgang til en Linux desktop og basta.
Men i de seneste to-tre år er der dukket en ny type tynde klienter op. De er naturligvis stadig baseret på Linux, men i modsætning til den gamle type, er de nye basalt set autonome. De kan selv og er ikke 100% serverbaserede, selvom større applikationer stadig køres fra servere. De er lidt nogle banditter i tynd klient verdenen.
Denne nye type tynde klienter repræsenteres af nu hedengangne Netstation (http://netstation.sourceforge.net/), PXES (http://pxes.sourceforge.net/), Diet-PC (http://diet-pc.sourceforge.net/) og Thinstation (http://thinstation.sourceforge.net/). Jeg vil i det følgende prøve at beskrive Thinstation nærmere.
Thinstation
Det er ingen simpel opgave at beskrive Thinstation kort, da den er utrolig fleksibel og kan tilpasses alt, stort set. Jeg vil tage udgangspunkt i ver. 2.1, selvom den "kun" er i Release Candidate 2 lige nu (marts 2005).
Som udgangspunkt kan den alt hvad de gamle tynde klienter kan, men det er jo ikke interessant, så lad os se på forskellene:
* Thinstation kan bootes fra CD, Compact Flash, HD (loadlin eller syslinux) og naturligvis net (Etherboot eller PXE)
* Thinstation kan bruge DHCP eller bruge hardwired IP info.
* Thinstation kan opkoble med: telnet (VT52, VT102, VT220), SSH, tn5250 (IBM AS360), VMSterm (DEC VMS), MS Windows servere (RDP), Citrix ICA servere, Tarantella servere, NoMachine NX og XDM (Unix klient) naturligvis. Der kikkes fortiden også på en ThinLinc klient, men den er i støbeskeen. Bruger man en WM kan man køre alle disse klientprogrammer i vinduer, samtidigt! Bruger man ikke en WM, kan man køre disse i fuldskærm i hver deres konsol samtidigt (skift med ctrl-alt-Fn)
* Thinstation kræver INGEN installation på serveren. Du kan lave en bootable Thinstation CD og koble dig op mod enhver server du har adgang til uden at skulle have fat i en administrator. Bare reboot en PC med denne CD. Et CD image er typisk ~10 MB, så en mini-CD er rigeligt stor. Lige til inderlommen.
* Client side devices: floppy, CD-ROM, USB storage, printere (LPT og USB). Disse kan ses fra serverne, så man kan fx lave tekstbehandling på serveren men gemme dokumentet på sin egen USB stick ude på klienten! Det er ret vildt for en tynd klient.
* To window managers (WM): Blackbox og iceWM. Hvis du savner Gnome/KDE, så husk lige på at tynde klienter er diskløse. Dels skal alt kunne være i RAM, dels kan de ikke swappe. Så der er kun plads til resource-lette løsninger.
* Særlige "client side" programmer: Mozilla Firefox m. Flash og xpdf understøttelse. Da Flash her kører direkte på klienten, er der absolut ingen ydelsesmæssige problemer som når Flash kører på serveren. Kræver 128 MB RAM på klienten. Sylpheed e-mail klient. XMMS audio player. Mplayer media player. Alle disse programmer kan køre helt autonomt på klienten. Ideen med at have disse multimedia programmer på klientsiden, er at omgå de tynde klienters traditionelle svag med multimedia. Når disse programmer bliver flyttet fra serveren til klienten, forsvinder den ydelsesmæssige flaskehals, nettet.
Dette screenshot er lavet som en provokation, for at vise at tynde klienter ikke nødvendigvis er funktionsfattige klienter.
Anvendelseseksempler:
* Generel kontormaskine.
* Et klassisk kontor-eksempel: Min boss var/er 100% overbevist om at han kørte Windows 2000 Server på en Pentium 133 MHz med 32 MB RAM! Jeg havde sat Thinstation op til at forbinde sig direkte til Windows serveren, så bortset fra Thinstations boot splash (som han alligevel ikke så) blev han kastet direkte ind i Windows. Ingen Linux desktop til ham. Man kan blive kastet direkte ind i alle Thinstations session-typer udenom en desktop.
* Firefox kiosk. I vores EDB-værksted har jeg sat en diskløs, gammel ramponeret pentium classic Thinstation Firefox kiosk op, der automatisk starter op med Big Brothers hjemmeside (et netværksovervågningsprogram) for vores netværk. Når folk så ringer og melder at "internettet er nede" (suk) kan vi bare kaste et blik på Thinstationskærmen og se om der er "grønt" over det hele. En Firefox kiosk kræver 96 MB RAM eller mere. Man kan også lave en kiosk med de to andre webbrowsere, Dillo og Links, og så er hardwarekravene de halve eller mindre.
* Sæt en Firefox kiosk op i din klub/forening. Så kan folk chekke bustiderne eller finde vej med Krak. En kiosk kan ikke hærges eller misbruges. Kun fysisk :-)
* Hjemme har jeg en Thinstation boot CD med Mplayer, som jeg bruger i min VIA Epia, der er tilkoblet fjernsynet. Så kan jeg se avi'er eller DVD' er (det hakker nu lidt i kampscener).
* I familier med mange medlemmer kan det blive dyrt at have N nye, gode, computere. Men mon ikke et par kun bruges til mail/surf? Sæt en eller to Thinstations op med Firefox og sylpheed på nogle gamle PC'er. NFS mount sylpheeds mailbox, så man kan komme til den fra alle klienter.
Fint nok, hvordan får jeg så fingrene i Thinstation?
Tjaeh, du kan jo hente hele skidtet på Sourceforge, ca 35 MB (http://thinstation.sourceforge.net/wiki/index.php/...). Der er en tar.gz fil, der bare skal pakkes ud som normalt ("tar xvfz Thinstation-.tar.gz"). Der er kun to konfigurationsfiler at pille ved:
I build.conf tilpasser du til den hardware du har (netkort, grafikkort osv.) og vælger hvilke servertyper du vil kunne forbinde dig til. Og hvilke faciliteter (printere, samba og den slags) du ønsker. Det foregår på vanlig Unix-maner ved at udkommentere linier med #
I thinstation.conf.buildtime sætter du defaults for tingene fra build.conf. Her er det et godt tip at starte med at kopiere thinstation.conf.example til thinstation.conf.buildtime. Så har du adgang til *alle* parametre i Thinstation. Lav en SESSION_0 i thinstation.conf.buildtime, der hedder blackbox eller icewm, så går det aldrig helt galt.
Og så er det på tide du læser FAQ'en (http://thinstation.sourceforge.net/faq.html) om alle de thinstation.conf-filer der findes. Man kan nemlig modificere egenskaberne i Thinstation under boot af den individuelle klient, så selvom to klienter har samme thinstation.conf.buildtime, kan de komme til at se vidt forskellige ud efter boot. Det lyder måske kompliceret, men som udgangspunkt skal du bare koncentrere dig om thinstation.conf.buildtime og så er du i gang.
Når du er tilfreds med dine valg kan du bygge klienten. Skriv "./build" i konsollen og følge om der kommer fejlmeddelelser. Hvis ikke, kan du finde dine images i "boot-images/". Der bliver genereret en hel stribe images: etherboot, initrd, PXE, ISO, loadlin, syslinux.
Det er en god ide at starte med at lege med en CD, men brug endelig en CD-RW. Det tager en del forsøg at ramme den perfekte opsætning.
Hvis du ikke vil hente de 35 MB eller ikke har en Linux-box (HOST!) kan du bruge TS-O-Matic. TS-O-Matic er en lille geni-streg: en web front-end til en offentlig Linux box med Thinstations build environment. Her kan du on-line bygge dit eget personlige Thinstation image og downloade imaget. Der er to danske TS-O-Matic servere. "Denmark 1" (http://struktur.kemi.dtu.dk/thinstation/TS/) er strengt kun for officielle versioner, "Denmark 2" (http://ts-o-matic.aaskov.dk/) fører også betaversioner. Alle versioner, der hedder noget med beta kan ikke anbefales til uskyldige begyndere, men hvis de hedder noget med RC er de normalt OK.
"Denmark 1" har en predefineret Firefox kiosk (Vælg "Start" og drop "preconfigured" boxen ned)
Thinstation har tre mailinglister. Hvis du vil bruge Thinstation, er det nok en god ide at abonnere på thinstation-general.