Erste Schritte mit KVM

Nachdem Xen bei mir schon lange im Einsatz ist will ich, ausgestattet mit neuer Hardware, mir endlich auch mal KVM anschauen. 

Tag 1: Nichts leichter als das OpenSUSE 12.1 hat alles an Bord und mit ein paar Klicks läuft Windows 7 (64bit) als virtuelle Maschine. Allerdings bleibt nicht zu verschweigen, dass die Installation selbst einige Stunden gedauert hat. Das System verhält sich auch nach der Installation nicht unbedingt flüssig. Mit Xen bin ich andere Geschwindigkeiten gewöhnt, aber dafür mit viel mehr Problemen beim Aufsetzen des Systems. Ich glaube aber hier ist noch einiges an Geschwindigkeit herauszuholen bevor sich ein Leistungstest Sinn hat.

Etwas ärgerlich ist, dass auch das Wirtssystem träger reagiert.

Der nächste Schritt wird die Installation der virtIO Treiber sein, womit sich sicherlich einiges an der Geschwindigkeit ändern wird.

 

Treiber

Die Installation der virtio Treiber erhöhen den Datendurchsatz. Allerdings war das System immer noch sehr träge. Da ich seit vielen Jahren Erfahrungen mit einem Windows Server über Xen habe (und dieser sich über Remote Desktop anfühlt als wäre es eine lokale Installation) bin ich mir im klaren, dass dies besser gehen muss.

Die Installation der VM-Treiber für die Grafik (siehe hier) und Umstellung auf vmvga brachte deutliche Besserung. Auch wenn es noch nicht ganz das ist was ich erwarte (immerhin ist die Hardware im Vergleich zur alten Xen-Umgebung deutlich leistungsfähiger).

 

Relativierung der Geschwindigkeit

Ursache für das Geschwindigkeitsproblem war das darunter liegende Onboard-RAID 1. Während die geringere IO-Leistung des (Fake-)RAIDs im Vergleich ohne RAID im "normalem" Betrieb (auch Maven-Builds, Integrationstests) verschmerzbar war schlug dies bei den virtuellen Maschinen voll durch.

Nachdem ich den RAID-Verbund aufgelöst hatte bin ich vollstens zufrieden. Fazit: nie wieder onboad-fake-RAID-Controller für den Desktop.

QXL und Spice

Für den Zugriff auf den Desktop-Client bietet sich sich SPICE an. Im Gegensatz zu den reinen Netzwerk-Remote-Protokollen (rdesktop, VNC) kann man bei bedarf bequem USB-Geräte vom Gastsystem durchreichen.

USB-Redirection mit Spice

USB-Redirection funktioniert mit Spice. Auf meinem Linux stimmen jedoch die Dateiberechtigungen für die Datei /usr/bin/spice-client-glib-usb-acl-helper nicht, so dass zwar nach Root-Privilegien gefragt wurde aber dennoch die Fehlermeldung "spice-client-glib-usb-helper: Error setting facl: Operation not permitted" erschien.

Mit chmod u+s /usr/bin/spice-client-glib-usb-acl-helper lässt sich dies aber schnell beheben. Root-Privilegien werden dann zwar noch immer abgefragt, aber zumindest läuft der Spice-Client mit nicht privilegierten Rechten.