Open Source im professionellen Einsatz

RHEV Desktop

Ähnlich wie VMware und Citrix setzt auch Red Hats Enterprise Virtualization for Desktops [32] auf die Kombination aus Hypervisor, Management und einem komplexen Protokoll (Spice, Simple Protocol for Independent Computing Environments, [33]) für die Übertragung der Desktopsessions und die Optimierung des Traffic (Abbildung 14). Auch wenn den roten Hüten peinlicherweise immer noch ein Management-GUI für Linux fehlt [6], entwickeln sie die Features ihrer Virtualisierungsplattform ständig weiter. So soll mittlerweile die Live-Migration inklusive aller Zustände (States) des laufenden Desktops gelingen.

Abbildung 14: KVM-Hypervisor, Spice-Protokoll und Red Hats Enterprise-Virtualisierung ergeben zusammen RHEV-D.

Abbildung 14: KVM-Hypervisor, Spice-Protokoll und Red Hats Enterprise-Virtualisierung ergeben zusammen RHEV-D.

Eine zentrale Rolle für den Zugriff auf mit KVM/Qemu virtualisierte Instanzen spielt die Libspice mit dem Spice-Protokoll. Das steht als Open-Source-Projekt in Version 0.7 seit Dezember 2010 zur Verfügung und ist fast schon vorbildlich dokumentiert.

Laut Hersteller ist Spice das "erste vollständig als Open Source implementierte Protokoll fürs Rendering virtueller, entfernter Desktop Sessions". Spice kombiniert diverse Technologien, die in ähnlicher Form auch bei anderen in diesem Artikel vorgestellten Produkten vorkommen: Für 2-D-vektorisierte Primitiven setzt Spice auf Cairo, 3-D setzt es unter Windows über das GDI (Microsoft Windows Graphics Device Interface) um, unter Linux mit Open GL.

Wer es antestet, merkt jedoch schnell, dass die Windows-Variante deutlich besser arbeitet als ihr Linux-Pendant (Abbildung 15). Letzteres hat eben einen großen Haken: Open GL ist Hardware-abhängig und bereitet Probleme. Ohne Hardwarebeschleunigung geht's aber auch nicht, denn Aufgaben wie das Strecken von Videos auf die volle Bildschirmgröße erledigt am Besten der Client mit Hilfe der eingebauten GPU. Je mehr Aufgaben die Grafikkarte übernimmt, desto angenehmer und fließender erscheint die Benutzung für den Anwender, weil die lokale CPU (wie auch die CPU des Servers) Ressourcen frei hat.

Abbildung 15: Die Anmeldung mit Spice an einem Red-Hat-Virtualisierungscluster funktioniert unter Windows besser als unter Linux.

Abbildung 15: Die Anmeldung mit Spice an einem Red-Hat-Virtualisierungscluster funktioniert unter Windows besser als unter Linux.

Als Zwischenschicht verwendet Red Hat eine eigene virtuelle Grafik-Engine namens QXL. Seit wenigen Tagen gibt es auch Treiber für X11 [34], Qemu/KVM unterstützt es schon länger. Wie ein Anwender den Spice-Server und einen der vielen Clients mit einem KVM-Server in Betrieb nimmt, zeigen User Guide und Einsteigermanual auf [33].

Spice beinhaltet verschiedene Bildkompressions-Mechanismen, die alle schon bei der Initialisierung des Servers oder auch erst zur Laufzeit auswählbar sind. Quic ist die Spice-eigene, proprietäre Variante, sie setzt auf dem SFALIC-Algorithmus auf (Simple Fast and Adaptive Lossless Image Compression, [35]). Der Lempel-Ziv-Storer-Szymanski-Algorithmus (LZSS, [36]) steht als lokal komprimierende Option parat. Ebenfalls enthalten ist der proprietäre Global-LZ-Algorithmus (GLZ), der ein globales Musterverzeichnis (Dictionary of Patterns) zur optimalen Komprimierung verwendet. Alternativ gibt's einen Automatikmodus, der LZ/GLZ und Quic passend zum jeweiligen Bild kombiniert. Ersterer erweist sich meist besser bei Grafiken, letzterer bei Fotos.

Bilder komprimiert Spice verlustfrei, Videos dagegegen überträgt es verlustbehaftet (lossy), aber dafür mit Rücksicht auf die Performance. Dabei erkennt der Server selbstständig Regionen in Applikationen, die Videos enthalten und sendet diese als Videostreams mit hoher Updaterate und mit dem Mjpeg-Algorithmus komprimiert an den Client (Abbildung 16). Zu all dem kommen intelligentes Caching für Pixmaps, Paletten und Images. Spezielle IDs (Cache Hints) verhindern doppelte Übertragungen.

Abbildung 16: Youtube-Videos und Skype-Audio auf einem virtuellen Windows via Spice. Das Betriebssystem arbeitet auf einem Red-Hat-Virtualisierungscluster, den RHEL und RHEV antreiben.

Abbildung 16: Youtube-Videos und Skype-Audio auf einem virtuellen Windows via Spice. Das Betriebssystem arbeitet auf einem Red-Hat-Virtualisierungscluster, den RHEL und RHEV antreiben.

Wer die Enterprise-Virtualisierung mit Red Hat einsetzen will, muss tief in die Tasche greifen: Schon das Einsteigerpaket kostet 3000 Euro pro Jahr, auch hier ist noch eine Windows-Lizenz fürs Management erforderlich.

Frei oder Enterprise-ready?

Wer einen Server aufbauen will, der die Desktops seiner Clients virtualisiert, hat derzeit die Qual der Wahl. Das völlig freie Projekt X2go bringt viele Features und glänzt mit hoher Performance. Schade nur, dass gerade die Enterprise-Funktionen noch nicht fertig sind, denn damit hätte das Projekt viel Potenzial. Das verspielt Nomachine vielleicht gerade mit der Absicht, den Open-Source-Pfad zu verlassen. Das ist schade, aber die guten Highend-Produkte des Advanced Servers waren auch bisher nicht frei und nur gegen teures Geld zu erwerben.

Vielleicht zeigt Red Hat besser, wie eine ausgewogene Open-Source-Strategie aussieht. Mit dem offenen Spice-Protokoll haben die Entwickler aus Raleigh wohl den richtigen Weg eingeschlagen, auch wenn es unglaublich peinlich wirkt, dass es für RHEV nach mehreren Jahren Entwicklung immer noch kein funktionierendes Linux-Admin-GUI gibt.

Mit freier Software wenig am Hut haben Citrix und VMware, aber auch sie haben die Bedeutung von Linux in der Cloud erkannt und bieten Clients und Templates für virtuellen Images an. Wie bei Red Hat gilt auch hier: Vollständiges Management gibt es nur für Windows.

Teamviewer dagegen positioniert sich als reine Remote-Wartungssoftware, die sich auch für die Desktop-Virtualisierung einsetzen lässt. Dabei gefällt vor allem der pfiffige Verbindungsaufbau, der den Zugriff auch auf Rechner erlaubt, die sonst nur per VPN erreichbar wären.

Beim großen Trend Multimedia liegen die proprietären Hersteller vorne. Red Hat, Citrix und Teamviewer haben eigene Erweiterungen und Algorithmen entwickelt, die die Darstellung und Übertragung von Audio- und Videodaten beschleunigen. So soll auch der Heimarbeiter mit DSL wenig davon merken, dass das Youtube-Video gar nicht lokal läuft. Da kann X2go noch nicht mithalten, Nomachines NX ist zwar besser, aber auch nicht auf dem Niveau der Konkurrenz.

Vor- und Nachteile des Server-based Computing

+ Clients für viele Plattformen verfügbar, Unabhängigkeit von Desktop-Environments, Clienthardware und installiertem Betriebssystem

+ Zentrale Administration, Arbeit mit vorgefertigten Images (Provisioning) möglich

+ Geringe Hardware-Anforderungen (Client)

- Hohe Hardware-Anforderungen (Server)

- Multimediabeschleunigung und lokale Geräte funktionieren noch nicht perfekt mit Linux-Clients

- Enterprise-Features nur bei teuren Highend-Versionen erhältlich

- Offline-Fähigkeiten nur bei teuren Produkten über Desktop-Provisioning.

Infos

  1. Markus Feilner, "Doping fürs X": Linux-Magazin 10/07, S. 34
  2. Daniel Kottmair, "Windows, Mac und Linux fernsteuern": Easy Linux 01/11, S. 56
  3. Bastian Kames, "Reif für die Insel": Linux-Magazin 07/09, S. 79
  4. Markus Feilner, "Neu im Haus": Linux-Magazin 03/09, S. 42
  5. Thomas Drilling, "Von wegen tugendhaft": Linux-Magazin 06/10, S. 82
  6. Achim Fehrenbach, "Streaming und 3D sind die Zukunft der Games": http://www.zeit.de/digital/games/2011-01/ces-games
  7. Microsofts RDP: http://msdn.microsoft.com/en-us/library/aa383015.aspx
  8. Citrix ICA: http://en.wikipedia.org/wiki/Independent_Computing_Architecture
  9. Xen und Xensource: http://www.xen.org
  10. Charly Kühnast, Marcel Schynowski, Markus Feilner, Norbert Graf, "Wählerischer Platzhirsch": Linux Magazin 08/10, S. 70
  11. Markus Feilner, Michael Kromer, "Alternatives Türregime": Linux-Magazin 08/10, S. 74
  12. Nomachine 4 wird Closed Source: http://www.nomachine.com/news-read.php?idnews=331
  13. Download NX 4 Beta 2: http://www.nomachine.com/download.php
  14. Stefan Völkel, "NX Builder und Manager": Linux Technical Review 05/07, S. 36
  15. Markus Feilner, Heinz-Markus Graesing, "Sun-Blocker": Linux-Magazin 12/08, S. 56
  16. Michael Kromer, "Zugriff nach Bedarf": Linux-Magazin 10/10, S. 72
  17. X2go-Windows-Client: http://x2go.obviously-nice.de/deb/windows/
  18. X2go-Desktop-Sharing: http://x2go.obviously-nice.de/deb/pool-heuler/x2godesktopsharing/
  19. X2go-Plasmoid: http://x2go.obviously-nice.de/deb/pool-heuler/x2goplasmoid/
  20. X2go-Python-GUI: https://svn.das-netzwerkteam.de/x2go/pyhoca-gui/trunk/
  21. X2go-Git-Repository: http://wiki.x2go.org/berliosgit
  22. Teamviewer Lizenzen und Preise: http://www.teamviewer.com/de/licensing/index.aspx
  23. VMware View: http://www.vmware.com/products/view
  24. VMware View testen: https://www.vmware.com/tryvmware/?p=view45&lp=1
  25. PC over IP: http://en.wikipedia.org/wiki/PCoIP
  26. VMware View Open Client: http://code.google.com/p/vmware-view-open-client http://www.vmware.com/de/company/news/releases/view_open_client.html
  27. Teradici: http://www.teradici.com
  28. Citrix HDX: http://hdx.citrix.com
  29. Xen Desktop: http://www.citrix.de/produkte/xendesktop
  30. Xen Apps: http://www.citrix.de/produkte/xenapp
  31. Citrix Linux Clients: http://www.citrix.com/English/SS/downloads/details.asp?downloadID=3323
  32. Red Hat Enterprise Virtualization for Desktops: http://www.redhat.com/virtualization/rhev/desktop
  33. Spice: http://www.redhat.com/virtualization/rhev/desktop/spice,http://www.spicespace.org
  34. X11-Treiber für QXL: http://lists.freedesktop.org/archives/xorg-announce/2010-January/001235.html
  35. SFALIC: http://sun.aei.polsl.pl/~rstaros/sfalic/index.html
  36. LZSS: http://michael.dipperstein.com/lzss/

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook