In Zeiten von Cloud-Computing sind Hy­per­vi­so­ren wie KVM und Xen wichtiger denn je – doch worin un­ter­schei­den sich die beiden Vir­tua­li­sie­rungs­tech­no­lo­gien? Unser „Xen vs. KVM“-Vergleich zeigt die Un­ter­schie­de und Ge­mein­sam­kei­ten auf.

Der Xen-Hy­per­vi­sor im Überblick

Der Hy­per­vi­sor Xen ist eine Open-Source-Software zur Vir­tua­li­sie­rung. Sie er­mög­licht es, mehrere Gast-Be­triebs­sys­te­me simultan auf einem phy­si­schen Host-Rechner zu betreiben. Die Zuweisung der Hardware-Res­sour­cen übernimmt dabei der Xen-Hy­per­vi­sor.

Welcher Hy­per­vi­sor-Typ ist Xen?

Als Typ-1- oder Bare-Metal-Hy­per­vi­sor wird Xen direkt auf der Hardware in­stal­liert und kom­mu­ni­ziert über eigene Treiber mit dem System. Host- und Gast-Be­triebs­sys­te­me laufen oberhalb des Hy­per­vi­sors. Xen un­ter­teilt die in­stal­lier­ten Be­triebs­sys­te­me in die Domänen dom0 und domU, um ver­schie­de­ne Pri­vi­le­gi­en­stu­fen ab­zu­bil­den. Das Host-System gehört zu dom0 und hat die volle Kontrolle, während alle Gast-Systeme als „un­ter­pri­vi­le­gier­te“ (un­pri­vi­le­ged) Systeme in domU laufen.

Die Kom­mu­ni­ka­ti­on zwischen Host und Hardware läuft nicht direkt über die Be­triebs­sys­tem-Treiber, sondern mittels einer spe­zi­el­len Xen-API über den Hy­per­vi­sor. Diese tiefe In­te­gra­ti­on sorgt für eine ef­fi­zi­en­te Hardware-Nutzung, reduziert den Overhead und minimiert die An­griffs­flä­che.

Xen: Mehr Effizienz durch Pa­ra­vir­tua­li­sie­rung

Xen nutzt Pa­ra­vir­tua­li­sie­rung zur Leis­tungs­stei­ge­rung. Hierbei werden Hardware-Kom­po­nen­ten nicht emuliert – das Gast-System weiß also, dass es vir­tua­li­siert wird. Dadurch erfolgt der Austausch zwischen Gast und Hy­per­vi­sor deutlich schneller, was die Per­for­mance hebt. Dies setzt voraus, dass der Be­triebs­sys­tem­kern Pa­ra­vir­tua­li­sie­rung un­ter­stützt und passende Treiber bietet. Gängige Kerne wie Linux und BSD bringen diese Features seit Jahren mit.

Sollte ein System keine Pa­ra­vir­tua­li­sie­rung un­ter­stüt­zen, er­mög­licht Xen auch die voll­stän­di­ge Vir­tua­li­sie­rung durch Hardware-Emulation. Das ist zwar etwas langsamer, bietet dafür aber maximale Kom­pa­ti­bi­li­tät für ver­schie­dens­te Be­triebs­sys­te­me.

Das zeichnet den KVM-Hy­per­vi­sor aus

KVM (Kernel-based Virtual Machine) ist ebenfalls ein quell­of­fe­ner Hy­per­vi­sor für den Betrieb mehrerer Gast-Systeme auf einem Rechner. Obwohl KVM und Xen dasselbe Ziel verfolgen, un­ter­schei­den sie sich in ihrem Aufbau und den idealen Ein­satz­ge­bie­ten.

Welcher Hy­per­vi­sor-Typ ist KVM?

Früher wurde KVM oft als Typ-2-Hy­per­vi­sor ein­ge­stuft, da die Kom­mu­ni­ka­ti­on mit der Hardware nur über die Treiber des Host-Systems möglich war. Pa­ra­vir­tua­li­sie­rung war nicht vor­ge­se­hen, wodurch KVM alle Hardware-Kom­po­nen­ten emulieren musste.

Heute bietet KVM ebenfalls Pa­ra­vir­tua­li­sie­rung an, al­ler­dings mit einem anderen Ansatz: KVM wird nicht unter dem Host in­stal­liert, sondern ist direkt in den Linux-Kernel in­te­griert. Es nutzt die vor­han­de­nen Linux-Kom­po­nen­ten, um virtuelle Systeme zu steuern. Zur Be­schleu­ni­gung der voll­stän­di­gen Vir­tua­li­sie­rung setzt KVM auf Hardware-Assisted Vir­tua­liza­ti­on, die moderne Pro­zes­so­ren stan­dard­mä­ßig un­ter­stüt­zen.

KVM vir­tua­li­siert nicht alles voll­stän­dig. Für mehr Speed bei An­wen­dun­gen gibt es pa­ra­vir­tua­li­sier­te Schnitt­stel­len, die via Virtio-API direkt mit dem Hy­per­vi­sor kom­mu­ni­zie­ren. Da dies vor allem Eingabe- und Aus­ga­be­ge­rä­te (wie die Netz­werk­schnitt­stel­le) betrifft, spricht man bei KVM von par­ti­el­ler Pa­ra­vir­tua­li­sie­rung.

KVM vs. Xen: Wer hat bei der Per­for­mance die Nase vorn?

Der zentrale Un­ter­schied liegt in der Ebene des Software-Stacks. KVM nutzt als Kernel-Be­stand­teil die Hardware-Un­ter­stüt­zung der CPU, um ohne große Einbußen zu vir­tua­li­sie­ren. Die wich­tigs­ten Schnitt­stel­len werden dabei pa­ra­vir­tua­li­siert. Xen hingegen sitzt als Typ-1-Hy­per­vi­sor direkt auf der Hardware und verteilt die Res­sour­cen selbst. Theo­re­tisch bietet Xen so eine ef­fi­zi­en­te­re Kom­mu­ni­ka­ti­on. In der Praxis liefern beide Systeme dank Virtio-Treibern und moderner Hardware eine sehr ähnliche Per­for­mance.

CPU-Pinning

Bei spe­zi­el­len An­wen­dun­gen gibt es Un­ter­schie­de. Besonders beim CPU-Pinning bietet KVM Vorteile. Dabei lässt sich einem vir­tu­el­len Prozessor ein fixer phy­si­scher Kern zuweisen, der exklusiv für dieses System re­ser­viert ist. Das ist ideal für re­chen­in­ten­si­ve Aufgaben und ein klares Plus für KVM.

Netzwerk-Leistung

Im Netz­werk­be­reich punktet Xen. Zwar nutzen beide pa­ra­vir­tua­li­sier­te Schnitt­stel­len, aber bei KVM bekommt jedes System ein eigenes vir­tu­el­les Gerät. Bei Xen teilen sich die Gäste eine Schnitt­stel­le, was die Effizienz steigert.

Fazit

Ob Xen oder KVM die bessere Wahl ist, kommt auf dein Vorhaben an. Als Markt­füh­rer mit direkter Linux-In­te­gra­ti­on und einfacher Voll­vir­tua­li­sie­rung ist KVM meist un­kom­pli­zier­ter im Handling. Xen überzeugt durch die theo­re­tisch höhere Leistung bei voller Pa­ra­vir­tua­li­sie­rung. Am Ende ent­schei­den deine An­wen­dun­gen und dein tech­ni­sches Know-how.

Tipp

Du suchst nach einer Lösung, um deine IT-In­fra­struk­tur in die Cloud zu bringen? Mit world4you setzt du auf Si­cher­heit und Per­for­mance aus Europa, damit dein Projekt glatt läuft.

Zum Hauptmenü