Server Based Computing unter Linux_V3
Transcription
Server Based Computing unter Linux_V3
Server Based Computing unter Linux Michael Wirz . Consultant . 16.12.2008 Server Based Computing „back to the roots“. Wir schauen über den Tellerrand von Citrix und Windows Terminal Server und erforschen die Möglichkeiten von Server Based Computing auf den Betriebssystemen, wo es ursprünglich herkommt: Unix & Linux. 1. Technik 1.1 SBC – Server Based Computing Beim Server Based Computing (SBC) wird nicht direkt auf dem eigenen Computer gearbeitet. Statt dessen wird das Programm auf einem Server gestartet und die grafische Ausgabe auf einem Client dargestellt. Diese Technologie bietet verschiedene Vorteile: Unter anderem sind dadurch alle Programme auf wenigen zentralen Servern konzentriert. Dadurch entfällt z.B. eine aufwändige Softwareverteilung auf viele Clients. Statt dessen müssen nur einige wenige Server gewartet werden. Die grafische Darstellung der Programme erfordert einen Bruchteil der Leistung, welche notwendig wäre, um die Programme auf dem Client lokal zu betreiben. Hierdurch können auch auf älterer Hardware aktuelle Programme mit höherer Hardwareanforderung benutzt werden. Dank SBC kann der Aufwand für die Wartung von Client PCs verringert und die Einsatzdauer der Client Hardware erhöht werden. Ebenso ist es möglich, sicherheitskritische Anwendungen wie z.B. ein E-Mail Programm oder einen Webbrowser auf einen zentralen Server auszulagern und dadurch besser zu kontrollieren. Ein E-Mail Programm, welches auf einem Linux Server betrieben wird und über NX an einen Windows Client weitergereicht wird, ist weniger anfällig gegen die heute bekannte Schadsoftware. Im Bereich Server Based Computing gibt es diverse Anbieter. Zu den bekanntesten zählen Citrix Metaframe, Windows Terminal Server von Microsoft sowie Tarantella von SUN. Mit NoMachine von der gleichnamigen italienischen Firma rückt ein neuer Kandidat ins Rampenlicht. NoMachine ist dafür gedacht, Linux- oder Sun Solaris-Programme auf unterschiedlichen Plattformen verfügbar zu machen. So können sämtliche Linux-Programme beispielsweise auf einem Windows PC benutzt werden. NoMachine baut auf dem X Windows System (X11) für Linux und Unix auf. X11 ist eine ClientServer-basierte Lösung und besteht somit immer aus einem X-Server und einem X-Client [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 1 / 9 1.2 X11 Der X-Server ist der Teil der X-Software, welcher die Ausgabe auf den Bildschirm zeichnet und die Eingaben wie Tastatur, Maus etc. entgegen nimmt. Im Gegensatz dazu ist der X-Client das eigentliche Programm, welches ausgeführt wird, und die Ausgaben über das X-Protokoll an den X-Server sendet. Hierbei spielt es keine Rolle, ob der jeweilige X-Server auf demselben Rechner wie der X-Client betrieben wird, oder ob der X-Server auf einem entfernten Rechner läuft. X-Client und X-Server kommunizieren immer über das X-Protokoll. 1. Abbildung X11 Schema 2. Abbildung X11 Weiterleitung von Host A auf Host B [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 2 / 9 1.3 NX NX von NoMachine verbessert die Geschwindigkeit bei der Übertragung des X-Window-Systems unter Unix und Linux bei der Darstellung von graphischen Anwendungen über Computernetzwerke. Gleichzeitig wird die Übertragung per SSH verschlüsselt übertragen. Obwohl das X-Window-System in seiner aktuellen Protokollvariante X11 von Haus aus netzwerkfähig ist, ist bei seinem Einsatz über Rechnergrenzen hinweg die oftmals geringe und dem Anwender "zäh" vorkommende Performance bei Verbindungen über schmale Bandbreiten mit hoher Latenzzeit (Modem, ISDN) zu beobachten. Dieses Problem versucht NX als eine Art Aufsatz für X11 zu lösen. NX wird dabei als Proxy-System zwischen die X11-Partner geschaltet (sowohl auf dem Clientrechner als auch auf dem Serverrechner läuft ein X11-Serverprogramm). Des Weiteren ist der NX Server in der Lage, NX Sessions an VNC Server oder Windows Terminalserver (per RDP) weiterzuleiten und diese nochmals zu komprimieren. Der NX Client fragt also bei einem NX Server an, der dann die Verbindung zu einem weiteren Terminal Server per VNC oder RDP aufbaut. Er wird also zwischengeschaltet [NX Client NX Server RDP/VNC Server], komprimiert den Datenfluss und beschleunigt auf diese Weise die Verbindung erheblich. 3. Abbildung X11 Weiterleitung mit NoMachine Komprimierung Durch diese Kompressionstechnik gelingt es NoMachine, die benötigte Bandbreite um ein Vielfaches zu verkleinern. Dadurch wird die gesamte Arbeit viel angenehmer und flüssiger. Durch den geringen Bedarf an Bandbreite ist es sogar möglich über eine ADSL oder UMTS Verbindung von unterwegs aus zu arbeiten, als sei man direkt im lokalen LAN. Mittels NoMachine können die Programme von SUN Solaris und Linux auf anderen Plattformen verfügbar gemacht werden. Die Clientsoftware gibt es nämlich für die gängigsten Plattformen (Windows, Linux, Solaris, MacOSX). Ausser der Client-Installation wird keine weitere Zusatzsoftware benötigt Eine Ausnahme bildet MacOS X; hier muss der X11 Server installiert sein. [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 3 / 9 2. NX Produkte Die Produkte von NoMachine sind nicht nur für den Einsatz als Terminalserver geeignet. Auch für den einfachen grafischen administrativen Zugriff auf einen Linux oder Unix Server, um z.B. eine Oracle Installation durchzuführen, können die Produkte eingesetzt werden. NoMachine bietet daher auch unterschiedliche Abstufungen ihrer Software an. Für den einfachen Zugriff auf einen Server oder einen Client mit nicht mehr als zwei parallelen Sessions gibt es die kostenlose NX Free Edition an. Daneben gibt es für einfache Desktop-Fernzugriffe die NX Enterprise Desktop Variante. Für den SBC Einsatz kommen die NX Serverprodukte zum Tragen. Hier gibt es Small Business-, Enterprise- und Advanced-Server. Für grössere Umgebungen sind vor allem die beiden Server Enterprise und Advanced interessant, da diese nur pro Server nicht aber pro Benutzter lizenziert werden. Gerade bei grösseren Umgebungen lassen sich so enorm Lizenzkosten sparen gegenüber den Konkurrenten. Die Server Varianten unterscheiden sich vor allem bei den Features. So bieten nur der Enterprise und der Advanced Server Unterstützung für eine Anbindung an einen Microsoft Active Directory Service. Auch vorkonfigurierbare Benutzer-Profile gibt es nur bei diesen Varianten. Wenn man eine hochverfügbare Lösung bauen möchte, kommt man um den NX Advanced Server nicht herum, da nur dieser wichtige HA-Features wie Load-Balancing oder eine Unterstützung für Multi-Node bietet. Die Featureliste auf der NoMachine Webseite sollte jedoch skeptisch betrachtet werden (LINK) Viele Features, die von NoMachine Angeboten werden, entpuppen sich bei genauerer Betrachtung als Features des jeweiligen Betriebssystems. So ist die Anbindung an ein Active Directory bei genauerer Betrachtung nichts weiter, als die normale Anbindung, die unter Linux so oder so funktioniert. Ebenso verhält es sich mit dem Feature, dass man NoMachine auch als RDP oder VNC Proxy verwenden kann. Hier wird letztlich nichts weiter getan, als rdesktop für rdp oder Vncviewer für VNC über eine NX-Session aufzurufen und dann den Output weiter zu leiten. Nichtsdestoweniger sollte man natürlich beachten, dass die Features nur in diesen Versionen von NoMachine auch über die Support Verträge abgedeckt sind! [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 4 / 9 2.1 NX im Einsatz 4. Abbildung In Abbildung 4 sind die Einsatzmöglichkeiten von NX schematisch aufgezeigt. Der NX Server kann entweder selbständig Linux Programme weiterleiten, oder diese von einem weiter Server beziehen, ebenso können Programme von einem Windows Server mittels RDP Protokoll oder von einem X-beliebigen Server mittels VNC Protokoll weitergeleitet werden. Durch diese Weiterleitungsfunktion, kann der NX Server als zentraler Einstiegspunkt in das komplette Firmennetzwerk genutzt werden. Anstelle, dass man alle Windows- VNC- und Linux Systeme kennen muss, reicht es aus, nur einen NX Server als Einstiegspunkt zu kennen, welcher dann die Weiterleitung übernimmt. Zudem wird client-seitig nur der NX Client und keine weitere Software wie RDP-Client oder VNC-Client benötigt! [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 5 / 9 5. Abbildung NX Cluster Bei Abbildung 5 handelt es sich um eine produktive HA-Umgebung mit NX. Mars & Jupiter Sind NX Server. Diese sind als NX Advanced Server lizenziert und dienen sowohl dem Management- als auch gleichzeitig als Applikationsserver. Europa, Ganymed & Kallisto Sind Applikations-Nodes: Diese Rechner haben keine zusätzliche Verwaltungslogik und dienen als reine Applikationsserver. Welcher dieser Nodes verwendet wird, entscheidet der NX Server anhand einer Abfrage auf alle Nodes wobei geprüft wird, welcher am wenigsten unter Last steht. Sämtliche Nodes sind an einem zentralen Storage angebunden. In diesem Beispiel über NFS. Darüber werden sowohl die Home-Directories der Benutzer geladen als auch die Software, welche auf diesem Node angeboten wird. Dadurch muss die Software nicht immer auf allen Server abgeglichen werden. Hierzu wäre auch ein SAN Anbindung mit einem Cluster Filesystem wie z.B. OCFS2 denkbar. Ein Client, welcher sich auf das NX Cluster einwählt, kann entweder nur eine spezifische Anwendung wie einen Mailclient oder einen Browser öffnen, oder aber den kompletten KDE oder GNOME Desktop vom Server beziehen. [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 6 / 9 3. Verwaltung von NoMachine 3.1 NX Builder Eine Lösung, die für alle NX-Produkte funktioniert, ist der NX Builder. Dies ist eine Webanwendung auf Basis von PHP, auf der man die Einstellungen für den Client speichern kann. Durch einfaches Anwählen des jeweiligen Links, kann sich der Benutzer die entsprechende Konfiguration direkt herunterladen und damit einen NX Client starten, ohne den Client konfigurieren zu müssen. Die Webseite ist so aufgebaut, dass auch benutzerspezifisch unterschiedliche Programme oder Server angezeigt werden können. NX Builder ist kompatibel zu NX von NoMachine und zum freien Derivat FreeNX. [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 7 / 9 3.2 NX Manager Zur Verwaltung der beiden Server Enterprise und Advanced gibt es den NX Manager. Mit dessen Hilfe kann der ganze Server sehr feingradig konfiguriert werden. Alle Einstellungen, welche ansonsten nur über die Konfigurationsdateien verfügbar sind, können hier ebenfalls eingestellt werden. Zusätzlich hat man hier die Möglichkeit, die Sessions zu überwachen und ggf. zu beenden. Auch die Benutzerverwaltung kann hier geregelt werden. Der NX Manager bietet alle Optionen, um zentral mehrere NX-Server verwalten zu können. Dies bezieht sich jedoch nur auf den NX Server selbst. Der zugrunde liegende Physikalische Server mit dem Betriebssystem kann nicht überwacht oder verwaltet werden. Es wäre zum Beispiel wünschenswert, über dieses Interface auch direkt Software auf alle Server verteilen zu können. Bei einer Multi-Node-Umgebung ist der Administrator daher immer noch selbst dafür verantwortlich, dass die Systeme gleich aufgesetzt sind und dass neue Software auf allen Systemen verfügbar ist. [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 8 / 9 3.3 NX Web Companion Das Tool NX Web Companion dient dazu, eine Applikation über einen Webbrowser zur Verfügung zu stellen. Hierzu wird jedoch kein lokaler Client benötigt, sondern Web Companion liefert den Client als Java-Applet welches im Browser läuft. 4. Fazit Das angestrebte Ziel von NX, zu einem echten Konkurrenten von Citrix oder Microsoft Terminal Server zu werden, hat NoMachine aktuell noch verfehlt. Zwar funktioniert die reine grafische Weiterleitung wunderbar und sehr schnell, die ganze Verwaltung von Peripheriegeräten, DateiDrucker- und Audioweiterleitungen muss aber noch stark verbessert werden. Zu wenig funktioniert einfach „Out of the box“. Seine Stärken zeigt das Produkt aber, in einer gemischten Umgebung, wo nur vereinzelt Linux Produkte eingesetzt werden. So kann NoMachine z.B. genutzt werden, um eine sanfte Migration durchzuführen, oder aber einzelne sehr sicherheitsrelevante Applikation von einem geschützten und überwachten Server zur Verfügung zu stellen. Die Fähigkeit, als Proxy zwischen den Welten zu dienen, prädestiniert NoMachine zudem als zentralen Einstiegspunkt in ein Firmennetzwerk, um von dort ohne Zusatzsoftware auf dem Client alle weiteren Server anzusprechen. Sicherheitstechnisch ist NoMachine hier mit der Verschlüsselung von SSH auf der Höhe der Zeit. Michael Wirz Trivadis AG Papiermühlestrasse 73 3014 Bern Internet: www.trivadis.com Tel: Fax: Mail: +41-31 928 09 60 +41-31 928 09 64 [email protected] Literatur und Links… www.trivadis.com www.nomachine.com www.pro-linux.de www.wikipedia.com [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 16.12.2008. Seite 9 / 9