Xen vs. KVM: Die beiden Open-Source-Hypervisoren im Vergleich
Im Zeitalter des Cloud-Computings sind Hypervisoren wie KVM und Xen wichtiger als je zuvor – doch wie unterscheiden sich die beiden Virtualisierungstechnologien? Unser „Xen vs. KVM“-Vergleich zeigt ihre Unterschiede und Gemeinsamkeiten auf.
- Bestes Preis-Leistungs-Verhältnis – keine Virtualisierungskosten
- Migrationshilfe durch IONOS Cloud-Experten inklusive
- Ohne Vendor Lock-in & Open-Source-basiert
Der Xen-Hypervisor im Überblick
Der Hypervisor Xen ist eine Open-Source-Virtualisierungssoftware, die es ermöglicht, mehrere Gast-Betriebssysteme auf einem einzelnen Host-Rechner gleichzeitig auszuführen. Die Zuteilung der Hardware-Ressourcen des Host-Rechners wird vom Xen-Hypervisor übernommen.
Welcher Hypervisor-Typ ist Xen?
Als sogenannter Typ-1- oder Bare-Metal-Hypervisor wird Xen direkt auf das physische System installiert. Er kommuniziert über eigene Treiber mit der Hardware. Host- und Gastbetriebssysteme werden dann oberhalb des Xen-Hypervisors installiert. Xen ordnet die installierten Betriebssysteme den sogenannten Domänen dom0 und domU zu, um zwischen unterschiedlichen Privilegienstufen zu unterscheiden. Dabei gehört das Host-Betriebssystem zu dom0 und genießt somit die höchste Privilegienstufe. Alle Gast-Betriebssysteme gehören als „unterprivilegierte“ (engl. unprivileged) Systeme zu domU.
Jegliche Kommunikation zwischen dem Host-Betriebssystem und der Hardware erfolgt allerdings nicht direkt über die Treiber des Betriebssystems, sondern mittels einer speziellen Xen-API über den Hypervisor. Die tiefe Integration des Xen-Hypervisors sorgt für eine effizientere Nutzung der Hardware, weniger Overhead und eine geringere Angriffsfläche.
Xen: Effizienzsteigerung durch Paravirtualisierung
Eine Virtualisierungstechnik, die Xen zur Steigerung der Effizienz nutzt, ist die Paravirtualisierung. Hierbei werden Hardware-Komponenten nicht vom Hypervisor emuliert – dem Gast-System ist es also bewusst, dass es in einer virtualisierten Umgebung ausgeführt wird. Dafür ist die Kommunikation zwischen den Gast-Betriebssystemen und dem Xen-Hypervisor viel schneller, was für eine erhöhte Performance sorgt. Diese Technik stellt aber spezielle Ansprüche an die auf Xen installierten Betriebssysteme. Unter anderem sind die Unterstützung für Paravirtualisierung im Betriebssystemkern sowie spezialisierte Treiber erforderlich. Beide Anforderungen werden allerdings schon seit Jahren von gängigen Betriebssystemkernen wie Linux und BSD erfüllt.
Falls die Paravirtualisierung für ein Betriebssystem unmöglich oder nicht erwünscht ist, unterstützt Xen zusätzlich auch die vollständige Virtualisierung, wobei Hardware-Komponenten virtuell emuliert werden. Dies verlangsamt die Virtualisierung, bietet dafür aber eine höhere Kompatibilität. So können auch Betriebssysteme, die keine Paravirtualisierung unterstützen, unter Xen ausgeführt werden.
Abseits von KVM gibt es viele weitere Xen-Alternativen. In unserem weiterführenden Artikel stellen wir Ihnen einige davon vor.
Das zeichnet den KVM-Hypervisor aus
KVM (engl. Kernel-based Virtual Machine) ist ebenfalls ein quelloffener Hypervisor, mit dem man mehrere Gast-Betriebssysteme auf einem einzelnen physischen Rechner ausführen kann. Obwohl KVM und Xen grundsätzlich den gleichen Zweck erfüllen, sind sie nach unterschiedlichen Funktionsprinzipien aufgebaut und damit auch für unterschiedliche Anwendungsfälle geeignet.
Welcher Hypervisor-Typ ist KVM?
In der Vergangenheit wurde KVM oft als Typ-2-Hypervisor bezeichnet, da er früher nur über die Treiber des Host-Betriebssystems mit der Hardware kommunizieren konnte. Paravirtualisierung war also unmöglich und alle Hardwarekomponenten mussten von KVM für die Gast-Systeme emuliert werden.
Mittlerweile wurde KVM um die Option der Paravirtualisierung erweitert – allerdings funktioniert diese anders als bei Xen: Anders als Xen wird KVM nicht unter dem Host-Betriebssystem installiert. Stattdessen ist KVM direkt im Linux-Kern integriert und nutzt somit die Software-Komponenten des Linux-Systems, um virtualisierte Systeme und deren Prozesse zu verwalten. Jedes Gast-Betriebssystem verfügt unter KVM über seine eigene virtualisierte Hardware, inklusive Netzwerkschnittstelle, Festplattenspeicher, usw. Um diese vollständige Virtualisierung zu beschleunigen nutzt KVM die sogenannte Hardware-Assisted Virtualization (dt. hardwareunterstützte Virtualisierung), die in den meisten modernen Prozessoren bereits verbaut ist.
Doch nicht alle Komponenten werden unter KVM vollständig virtualisiert. Um ausgeführte Systeme und Anwendungen zu beschleunigen, bietet KVM einige paravirtualisierte Schnittstellen, die mittels der Virtio-API direkt mit dem Hypervisor kommunizieren können. Die KVM-Paravirtualisierung wird also hauptsächlich für Ein- und Ausgabe-Geräte angeboten, wie zum Beispiel für die Netzwerkschnittstelle. Bei KVM spricht man also eher von einer partiellen Paravirtualisierung.
- Kostengünstige vCPUs und leistungsstarke dedizierte Cores
- Höchste Flexibilität ohne Mindestvertragslaufzeit
- Inklusive 24/7 Experten-Support
KVM vs. Xen: Welcher Hypervisor bietet die bessere Performance?
Der größte Unterschied zwischen den beiden Hypervisoren ist, in welcher Ebene des Software-Stacks sie arbeiten. Als Bestandteil des Linux-Kerns nutzt KVM die hardwareunterstützte Virtualisierung, um viele Hardware-Komponenten ohne entscheidenden Performance-Nachteil vollständig zu virtualisieren. Dabei werden die wichtigsten IO-Schnittstellen paravirtualisiert, was für die meisten Serveranwendungen auch der wichtigste Faktor sein dürfte. Xen auf der anderen Seite wird als Typ-1-Hypervisor klassischerweise unter dem jeweiligen Betriebssystem installiert. Der Hypervisor verwaltet die Verteilung der Hardware-Ressourcen dementsprechend selbst. Das sorgt dafür, dass Xen theoretisch eine effizientere und performantere Kommunikation mit der Hardware bieten kann. Allerdings weisen Xen und KVM durch KVMs Virtio-Treiber und hardwareunterstützte Virtualisierung ähnliche Performance auf.
CPU-Pinning
Natürlich performen die beiden Hypervisoren nicht bei allen Anwendungen gleich. Vor allem beim CPU-Pinning bietet KVM seinen Nutzenden mehr Power als Xen. Mittels CPU-Pinning kann KVM einem virtualisierten Prozessor einen physischen Prozessor (bzw. einen Prozessorkern) zuweisen, sodass nur dieses virtuelle System den Prozessor nutzen kann. Dies ist vor allem bei CPU-lastigen Anwendungen vorteilhaft und ist nur bei KVM möglich.
Netzwerk-Performance
In Sachen Netzwerk-Performance hat Xen die Nase vorn. Obwohl beide Hypervisoren paravirtualisierte Netzwerkschnittstellen anbieten, hat jedes unter KVM virtualisierte System sein eigenes Netzwerkgerät. Bei Xen teilen sich alle Gast-Systeme eine einzelne virtuelle Netzwerk-Schnittstelle, was für eine erhöhte Effizienz sorgt.
Fazit
Die Frage, ob Xen oder KVM der bessere Hypervisor ist, hängt von Ihren Anforderungen ab. Durch seine Position als Marktführer, die Integration im Linux-Kern und die Möglichkeit der vollständigen Virtualisierung ist KVM grundsätzlich leichter zu bedienen. Xen weist dafür durch seine komplette Paravirtualisierung eine höhere theoretische Performance auf. Entscheidend sind also einerseits die Anwendungen, die Sie virtualisieren möchten, andererseits Ihr Grad an Erfahrung.
Sie suchen eine Hypervisor-Alternative, um Ihre IT-Infrastruktur in die Cloud zu migrieren? Nutzen Sie die Cloud-Migration von IONOS und genießen Sie ein attraktives Preis-Leistungs-Verhältnis und das höchste Sicherheitsniveau.