Open Source im professionellen Einsatz
Linux-Magazin 10/2012
© Krzysztof Slusarczyk, 123RF.com

© Krzysztof Slusarczyk, 123RF.com

Spice – Red Hats Geschmacksverstärker für virtuelle Desktops

Virtuos gewürzt

Mit Spice, dem Simple Protocol for Independent Computing Environments, will Red Hat die Performance von Multimedia-Anwendungen auf Remote Desktops verbessern. Das Paket aus Terminalserver, Client und Protokoll ist zwar eigens für KVM entstanden, aber nicht mehr darauf beschränkt.

690

Virtuelle Desktop-Infrastrukturen haben ihre Tücken. Zwar gibt es gerade unter Linux zahlreiche Protokolle und Implementierungen, die es erlauben, auf die grafischen Oberflächen von entfernten Rechnern zuzugreifen [1]. Aber wo es früher bereits reichte, das GUI erfolgreich übers Netzwerk zu übertragen, sind Anwender und Admins heute deutlich anspruchsvoller und verlangen Features, die sie von lokaler Hardware gewohnt sind – und einiges mehr.

Gewachsene Ansprüche

Niedrige Bandbreiten sollten kein Problem sein, jeder Datenaustausch zwischen Server und Client muss abhörsicher sein – er könnte ja übers ungeschützte Internet stattfinden. Die zunehmend mobilen Anwender wollen Sitzungen unterbrechen und später von einem anderen Rechner aus wieder aufnehmen.

Doch auch das meistern Protokolle und Software wie Microsofts Remote Desktop Protokoll (RDP) oder Nomachines NX ohne Probleme. Selbst die Netzwerkfähigkeit von X-Window reicht, um aus jedem Linux- oder Unix-Rechner einen potenziellen Terminalserver zu machen – zumindest im schnellen LAN. Glücklich kann sich aber schätzen, wer lokale Soundkarten, Drucker oder USB-Sticks auch übers Netzwerk zur Verfügung hat. X2go schafft das noch durch eine intelligente Kombination von Fuse, SSH-FS und Pulse Audio.

Aber bei der Darstellung von 3-D-Effekten, schicken Transparenzeffekten, wie sie moderne Desktops bieten, oder beim ruckelfreien Abspielen von HD-Videos versagen alle klassischen Terminalserver-Tools. Erfolg versprechen hierbei nur noch zwei Verfahren: Citrix setzt auf sein kostenpflichtiges Produkt HDX (High-Definition User Experience, [2]), Red Hat auf das Spice-Protokoll sowie den passenden Server und Client [3] – und hat diese 2010 in weiten Teilen als freie Software verfügbar gemacht.

Das Simple Protocol for Independent Computing Environments verspricht dem Nutzer einer Cloud direkten Zugriff auf im Server verbaute Hardwarekomponenten und transparentes, performantes Durchreichen auf den Client.

Gewürze aus Israel

Spice ist eine Erfindung der Firma Qumranet und war zunächst wie so vieles aus der israelischen Softwareschmiede (siehe Red Hats Enterprise-Virtualisierung, [4]) kein Open-Source-Produkt, auch wenn Qumranet im Linux-Umfeld bereits mit seiner Implementierung von KVM (der Kernel-based Virtual Machine) für Aufsehen gesorgt hatte.

Die Spezialisierung auf virtuelle Desktoplösungen konfrontierte die Firma früh mit Problemen des performanten Videostreamings oder der USB-Weiterleitung. Schon 2007 veröffentlichte sie die erste Spice-Version. Ein Jahr später übernahm Red Hat Qumranet und verordnete die bis heute geltende Open-Source-Strategie. Das Spice-Protokoll untersteht einer BSD-artigen Lizenz, die meisten Teile der Implementierung unterliegen der GPL. Seit 2010 ist das Spice-Projekt auch Mitglied von Freedesktop.org [5].

Bis vor wenigen Jahren konnten Anwender das Protokoll nur für den Zugriff auf virtuelle KVM-Gäste nutzen, doch seit 2010 existiert auch eine Implementierung für den X-Server (Xspice, [6]). Hinter dem Sammelsurium Spice steckt eine ganze Reihe von Komponenten, die sich in vier Kategorien aufteilen:

  • Protokoll
  • Server
  • Client
  • Vermittelnde Komponenten

Je nach Aufgabe kommen unterschiedliche Vermittler zum Einsatz, beispielsweise virtuelle QXL-Grafikkarten [7] und/oder VDI-Agenten (Virtual Desktop/Device Interface, [8]).

Das Zusammenspiel der Komponenten mit den virtuellen Gästen zeigt Abbildung 1: Die Anwendung spricht zunächst mit der lokalen Grafikmaschine, beispielsweise dem X-Server. Dieser sendet die Anforderung mit Hilfe des entsprechenden Treibers zum QXL-Gerät. Von dort nimmt sie der Spice-Server auf, verarbeitet sie und schickt sie an den Spice-Client.

Sind die so genannten Spice-Agenten im Spiel, kommuniziert das Gast-Betriebssystem über VDI-Port-Geräte beziehungsweise -Treiber mit dem Spice-Server. Die Kommunikation zwischen Spice-Server und -Client ist in so genannte Kanäle aufgeteilt, die parallel arbeiten und von denen jeder für eine bestimmte Klasse von Daten zuständig ist. Der Hauptkanal ist dabei eine Art Verwaltungsinstanz, die andere Kanäle anlegt, konfiguriert, kontrolliert und wieder schließt. Tabelle  1 zeigt die Spice-Kanäle sowie ihren Verwendungszweck und welche Gast-OS-Komponenten bei ihnen eine Rolle spielen.

Tabelle 1

Spice-Kommunikationskanäle

Kanal

Verantwortlich für

Gast-OS-Gerät

Gast-OS-Software

Main

Verwalten der anderen Kanäle

Virtio-Serial

VDI-Agent

Display

Grafikkommandos, Bilder und Video

QXL-Geräte

QXL-Treiber

Input

Tastatur- und Mauseingaben

Tastatur, Maus, Tablet

Standard-OS-Treiber

Cursor

(Maus-)Zeigerposition und -form

QXL-Geräte

QXL-Treiber

Playback

Audioverarbeitung auf dem Client (Input vom Server)

Soundkarte

Standard-OS-Treiber

Record

Audioverarbeitung auf dem Server (Input vom Client)

Soundkarte

Standard-OS-Treiber

Das Spice-Protokoll regelt die Kommunikation zwischen Server und Client. Es definiert Nachrichtentypen für den Zugriff, die Steuerung und den Empfang von Eingaben nicht lokaler Geräten. Dabei spielt es keine Rolle, ob das Gerät lokal im Spice-Server oder im Spice-Client angeschlossen ist.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

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

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Virt-Manager 1.4.0 kann OpenGL mittels Spice

    Virt-Manager, das grafische Tool für die Verwaltung virtueller Maschinen unter KVM, Qemu und Xen bringt in der neuen Version Unterstützung für Spice mit.

  • Terminalserver

    In virtuellen Desktop-Infrastrukturen verwalten Admins die Desktops ihrer Anwender zentral und unabhängig von der Clienthardware auf leistungsfähigen Servern. Das Linux-Magazin testet sechs sehr unterschiedliche Produkte für den zentral verwalteten, Server-basierten Büroarbeitsplatz.

  • Cebit 2012: IGEL bringt ARM-Thin-Client mit Business-Features

    A04 heißt der erste ARM-basierte Thin Client von IGEL, den der Hersteller auf der Cebit präsentiert. Für nur 200 Euro bringt das kleine Gerät schon Features mit, die sonst nur im High-End-Bereich üblich waren. Möglich macht das die günstigere Hardware.

  • Proxmox VE 3.2 bringt Ceph Storage, Open Vswitch und SPICE

    Hochverfügbar, skalierbar, ohne Single Points of Failure - das verspricht der Hersteller der Open-Source-Virtualisierungslösung Proxmox für seine jüngst veröffentlichte Version 3.2. Dabei helfen sollen alte OSS-Bekannte.

  • Virt-Manager in Version 1.4

    Virt-Manager ist eine grafische Oberfläche für Qemu und jetzt in Version 1.4 erschienen. Dank Spice und Virgil kann der Host-Nutzer nun auch erste Open-GL-Möglichkeiten der VMs abrufen.

comments powered by Disqus

Ausgabe 09/2017

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.