Lablog Online: Hypervisor »Kernel Based Virtual Machine«:
Aus dem Testlabor: Gute Windows-Performance mit freiem Hypervisor KVM

von Andreas Stolzenberger (ast@nwc.de), Werner Veith

02.03.2009

Es muss nicht immer »VMware Workstation« sein. Mit der »Kernel Based Virtual Machine« (KVM) gibt es eine gute Alternative, wie Network Computing im Labor festgestellt hat. Allerdings muss der Prozessor VT-Funktionen (Virtualization-Technology) mitbringen.

(Fortsetzung des Artikels von Seite 1)

In der Open-Source-Community gab es bereits vor Jahren Streit auf Grund der kommerziellen Pläne der Xen-Entwickler. Diese endeten mit der Übernahme von Xen durch Citrix. Seit 2006 arbeitet nun ein Open-Source-Entwicklerteam an der »Kernel Based Virtual Machine [1]« (KVM), einer alternativen Lösung zu Xen. Unterstützt wird das Projekt von Redhat. Der Linux-Hersteller hat letzten Herbst die Firma Qumranet übernommen, welche auf Basis von KVM und einer eigenen Management-Software mit Thin-Client-Protokoll eine professionelle Desktop-Virtualisierungslösung offeriert (Network Computing berichtete [2]).

Sowohl Windows als auch Open-Solaris 2008.11 arbeiten als virtuelle Maschinen gut unter dem Open-Source-Hypervisor »KVM« (Kernel Based Virtual Machine) auf einer Ubuntu-Maschine.


Der Hypervisor KVM braucht eine CPU mit VT-Kommandosatz und besteht aus zwei ladbaren Kernelmodulen. Eines sorgt für die Basisfunktion des Virtual-Machine-Managers (VMM). Das zweite passt die die Kommandos an den VT-Befehlssatz von Intel (kvm_intel) beziehungsweise AMD (kvm_amd). KVM ist schon seit längerem Teil des Kernel-Source 2.6 und damit praktisch auf jeder Distribution verfügbar.

Anders als Xen benötigt KVM keinen besonderen DOM-0-Kern und damit auch keine privilegierte Maschine für die Verwaltung. KVM lässt sich daher recht einfach ohne Neustart einrichten. Es genügt, die Kernel-Module einzurichten und zu laden. Die Memory- und CPU-Ressourcen für VMs (Virtual-Machine) erhält der Hypervisor direkt vom Linux-Kernel. KVM greift auf den Emulator »Qemu« zurück. Dieser übernimmt die Hardware-, I/O- und Bios-Emulation für die VM.

Im Labor startet Network Computing die ersten Setups mit XP- und Open-Solaris-Clients auf einer Dual- und einer Quad-Core-Athlon-64-Maschine mit Ubuntu 8.10 x64. Dazu installiert das Test-Team die Pakete »kvm«, »qemu« und »bridge-utils« über den Paketmanager »apt«. Anders als bei der Vmware-Workstation mit einem hübschen Menü ist bei KVM ein wenig Handarbeit auf der Kommandozeile gefragt.

Zunächst kreiert der Verwalter eine virtuelle Disk für die VM:

qemu-img create disk.qcow2 10G

Anschließend erstellt er eine 10 GByte-Disk im Format »qcow2«. Dieses steht für »Qemu Copy on Write Disk Version 2«. Das Format unterstützt Thin-Provisioning, Kompression, Verschlüsselung und speichert Snapshots. Mit Qcow2 lassen sich zudem differenzielle Images für geklonte VMs erstellen.

Über die Netzwerk-Definition des zu Grunde liegenden Linux richtet der Verwalter ein Bridgeinterface ein, an dem sich KVM-Maschinen später einklinken können. Unter Ubuntu sieht das beispielsweise in /etc/network/interfaces so aus:

auto eth0

iface eth0 inet manual

auto br0

iface br0 inet static

address 192.168.12.2

network 192.168.12.0

netmask 255.255.255.0

broadcast 192.168.12.255

gateway 192.168.12.254

bridge_ports eth0

Anschließend startet der Administrator die virtuelle Maschine mit eingebundenem CD-Image:

kvm -m 768 -soundhw all -net nic,macaddr=00:1d:92:82:96:36 -net tap disk.qcow2 -boot d -cdrom xp-prof.iso

Der Parameter »-m« legt die Größe des RAMs fest. »-net nic« erzeugt einen virtuellen LAN-Adapter. Die »macaddr« muss eine im LAN noch nicht vorhandene Adresse sein. Der Parameter »-net tap« bindet das virtuelle Interface an die Bridge. »-boot« weist die VM an, von CD-ROM zu starten, dessen Image der Parameter »-cdrom« festlegt. Die Angabe einer Soundkarte ist Optional. Beispielsweise weist das Kommando »alls« im System vorhandenen Soundkarten der VM zu. Diese Audio-Devices stehen dann aber nicht mehr für andere VMs zur Verfügung. Weitere Parameter können den VMs USB-Geräte zuordnen oder virtuelle Festplatten simulieren, welche auf Verzeichnisse im Host-Betriebssystem verweisen.

Fazit

Im Labor Poing arbeiten erste Windows-Maschinen erfolgreich und bei guter Performance unter KVM. Auch eine Testmaschine mit »Open-Solaris 2008.11« funktioniert mit KVM sehr gut. Der Hypervisor ist daher eine interessante und freie Wahl gegenüber Desktop-Virtualisierungsprodukten wie »VMware Workstation« und »VirtualBox« von Sun.

[1] http://kvm.qumranet.com/kvmwiki
[2] redhats-weg-aus-der-bedeutungslosigkeit-bei-virtualisierung/

Verwandte Artikel