Hypervisoren im Vergleich

Virtualisierung – ist KVM das bessere Xen?

17.11.2010
Von Andrej Radonic

David gegen Goliath

Was KVM für die Community und die Betriebssystemhersteller so interessant macht, sind vor allem Aspekte der Architektur sowie der Wirtschaftlichkeit der Entwicklung. Xen begann 2006, den Weg für Server-Virtualisierung in der Linux-Welt zu ebnen. Sein Erfolg begründete sich auf dem Bare-Metal-Hypervisor, der mittels Paravirtualisierung eine performante Virtualisierung ermöglichte, und gleichzeitig auch vollvirtualisierte Gäste vermittels der damals neuen CPU-Virtualisierungsfeatures ermöglichte. Xen erreicht dies mit einem verhältnismäßig hohem Aufwand: Der Hypervisor benötigt für das Virtualisieren von Gästen (domU) eine privilegierte Linux-VM (dom0) mit einem speziell gepatchten Linux-Kernel. Aufgrund des hohen Pflegeaufwandes ist dieser Linux-Kernel auf einem eher alten Stand und Xen wurde nie in den Mainstream-Linux-Kernel integriert.

KVM setzt auf eine schlankere Strategie:

1. Der Name ist Programm: KVM als "Kernel-based Virtual Machine" ist als Modul direkt in den Linux-Kernel integriert. Ein separater Hypervisor und eine separate virtuelle "Partition" für den Betrieb virtueller Maschinen sind nicht erforderlich. Der Linux-Kernel selbst stellt Scheduling, Memory Management, Treiber usw. zur Verfügung. Im Gegensatz zu Xen (Typ 1 Hypervisor) ist KVM als "Hosted Hypervisor" vom Typ 2.

KVM-Architektur
KVM-Architektur
Foto: Radonic

2. KVM setzt direkt auf der CPU-Unterstützung für Virtualisierung (Intel VT und AMD SVM) auf und wurde von vorne herein im Hinblick auf moderne "virtualisierungsorientierte" Hardware konzipiert. Dadurch kommt es mit weniger Code aus. Zweiter Bestandteil von KVM neben den Kernelmodulen ist QEMU, eine wohlbekannte Emulationssoftware. Diese ist zuständig für die virtualisierte Bereitstellung von Geräten in den Gästen und bietet gleichzeitig die Ablaufumgebung der VMs.

KVM präsentiert sich somit weniger komplex als Xen und kann immer in Verbindung mit dem aktuellsten Linux-Kernel genutzt werden. Die Integration in den Mainstream-Linux-Kernel garantiert dabei eine gewisse Zukunftssicherheit des Produkts. Zudem kann die Hypervisor-Technologie mit deutlich geringerem Aufwand weiterentwickelt werden und profitiert gleichzeitig sehr stark von Weiterentwicklungen bei der Hardware.

Zur Startseite