In het tijdperk van cloud computing zijn hypervisors zoals KVM en Xen belangrijker dan ooit geworden. Maar waarin verschillen deze twee virtualisatietechnologieën van elkaar? In onze vergelijking tussen Xen en KVM bekijken we de overeenkomsten en verschillen tussen beide.

Xen in een oogopslag

Xen is open-source virtualisatiesoftware waarmee meerdere gastbesturingssystemen tegelijkertijd op één hostmachine kunnen worden uitgevoerd. Xen beheert de toewijzing van de hardwarebronnen op de hostmachine.

Wat voor soort hypervisor is Xen?

Xen is een Type 1 (of bare metal) hypervisor. Dit type hypervisor wordt rechtstreeks op een fysiek systeem geïnstalleerd en communiceert met hardware via zijn eigen stuurprogramma’s. Host- en gastbesturingssystemen worden bovenop de Xen-hypervisor geïnstalleerd. Om onderscheid te maken tussen verschillende privilege-niveaus, categoriseert Xen de geïnstalleerde besturingssystemen in twee verschillende domeinen: dom0 en domU. Het hostbesturingssysteem behoort tot het dom0-domein en geniet het hoogste privilege-niveau, terwijl alle gastbesturingssystemen worden geclassificeerd als niet-bevoorrechte systemen en tot het domU-domein behoren.

Het hostbesturingssysteem communiceert niet rechtstreeks met de hardware via zijn stuurprogramma’s, maar via de hypervisor met behulp van een gespecialiseerde Xen API. Deze diepgaande integratie zorgt voor een efficiënter gebruik van de hardware, minder overhead en een kleiner aanvalsoppervlak.

Hoe Xen paravirtualisatie gebruikt om de efficiëntie te verhogen

Xen maakt gebruik van de virtualisatietechniek paravirtualisatie om de efficiëntie te verhogen. Bij deze techniek emuleert de hypervisor geen hardwarecomponenten en zijn gastsystemen zich ervan bewust dat ze in een gevirtualiseerde omgeving werken. Dit zorgt voor een veel snellere communicatie tussen gastbesturingssystemen en Xen, wat leidt tot betere prestaties.

Deze aanpak is echter afhankelijk van gespecialiseerde stuurprogramma’s en specifieke ingebouwde mogelijkheden in de kernel van het besturingssysteem. Veel veelgebruikte besturingssysteemkernels, zoals Linux en BSD, ondersteunen al jaren paravirtualisatie.

Als u een besturingssysteem gebruikt waarop paravirtualisatie niet mogelijk of gewenst is, ondersteunt Xen ook volledige virtualisatie (waarbij hardwarecomponenten virtueel worden geëmuleerd). Hoewel dit de virtualisatie vertraagt, biedt het een hoge compatibiliteit, waardoor besturingssystemen die geen paravirtualisatie ondersteunen, onder Xen kunnen draaien.

Wat zijn de belangrijkste kenmerken van KVM?

Net als Xen is KVM (Kernel-based Virtual Machine) ook een open-source hypervisor waarmee gebruikers meerdere gastbesturingssystemen op één fysieke machine kunnen draaien. Hoewel beide hypervisors hetzelfde fundamentele doel dienen, is hun architectonische ontwerp verschillend, waardoor elke hypervisor geschikt is voor verschillende gebruikssituaties.

Wat voor soort hypervisor is KVM?

In het verleden werd KVM vaak aangeduid als een Type 2-hypervisor, omdat het alleen via de stuurprogramma’s van het hostbesturingssysteem met hardware kon communiceren. KVM moest alle hardwarecomponenten voor de gastsystemen emuleren, waardoor paravirtualisatie onmogelijk was.

KVM is sindsdien uitgebreid met paravirtualisatie. De manier waarop het werkt, verschilt echter van Xen. In tegenstelling tot Xen wordt KVM niet onder het hostbesturingssysteem geïnstalleerd, maar rechtstreeks in de Linux-kernel geïntegreerd. KVM gebruikt de softwarecomponenten van het Linux-systeem om gevirtualiseerde systemen en hun processen te beheren.

Onder KVM heeft elk gastbesturingssysteem zijn eigen gevirtualiseerde set hardware, waaronder netwerkinterfaces, schijfopslag en andere soorten hardwarecomponenten. Om volledige virtualisatie te versnellen, maakt KVM gebruik van hardware-ondersteunde virtualisatie, die al in de meeste moderne processors aanwezig is.

Niet elk onderdeel ondergaat volledige virtualisatie in KVM. Om de prestaties van draaiende systemen en applicaties te verbeteren, biedt KVM paravirtualiseerde interfaces die rechtstreeks met de hypervisor kunnen communiceren via de Virtio API. KVM maakt voornamelijk gebruik van paravirtualisatie voor invoer- en uitvoerapparaten zoals de netwerkinterface. Daarom wordt KVM vaak omschreven als een systeem dat gebruikmaakt van gedeeltelijke paravirtualisatie.

KVM versus Xen, hoe hun prestaties zich tot elkaar verhouden

Het belangrijkste verschil tussen de twee hypervisors ligt in waar ze binnen de softwarestack opereren. KVM is geïntegreerd in de Linux-kernel en maakt gebruik van hardware-ondersteunde virtualisatie om talrijke hardwarecomponenten te virtualiseren zonder dat dit ten koste gaat van de prestaties. De primaire IO-interfaces zijn paravirtualiseerd, wat voor de meeste servertoepassingen waarschijnlijk het belangrijkste aspect is.

Xen daarentegen wordt traditioneel onder het besturingssysteem geïnstalleerd als een Type 1 hypervisor. Dit betekent dat de hypervisor zelf de distributie van hardwarebronnen beheert. In theorie zorgt dit ervoor dat Xen efficiënter en beter kan communiceren met de hardware. Dankzij de Virtio-stuurprogramma’s en hardware-ondersteunde virtualisatie van KVM presteert KVM echter even goed als Xen.

CPU-pinning

Ondanks dat ze qua prestatieniveau op elkaar lijken, presteren de twee hypervisors niet in alle scenario’s even goed. Als het gaat om CPU-pinning, biedt KVM zijn gebruikers meer mogelijkheden. Met CPU-pinning kan KVM een fysieke processor (of een processorkern) toewijzen aan een gevirtualiseerde processor, waardoor exclusief gebruik voor dat virtuele systeem wordt gegarandeerd. Van de twee hypervisors biedt alleen KVM deze functie, wat vooral voordelig is voor CPU-intensieve toepassingen.

Netwerkprestaties

Wat betreft netwerkprestaties neemt Xen de leiding. Hoewel beide hypervisors paravirtualiseerde netwerkinterfaces bieden, heeft elk systeem dat onder KVM wordt gevirtualiseerd zijn eigen netwerkapparaat. Bij Xen delen alle gastsystemen één virtuele netwerkinterface, wat leidt tot een hogere efficiëntie.

Samenvatting

De vraag welke hypervisor beter is, hangt af van uw vereisten. De marktleider KVM is geïntegreerd in de Linux-kernel en biedt de mogelijkheid tot volledige virtualisatie. Deze aspecten maken het gebruik ervan fundamenteel eenvoudiger.

De volledige paravirtualisatiemogelijkheden van Xen betekenen echter dat het in theorie betere prestaties kan leveren. De cruciale factoren waarmee u rekening moet houden bij het kiezen van een hypervisor zijn de applicaties die u wilt virtualiseren en uw ervaringsniveau.

Ga naar hoofdmenu