Magus
10/01/07, 09:30
Gelezen op twiekers:
Een van de nieuwe features in versie 2.6.20 van de Linux-kernel is de virtualisatiesoftware KVM. Een groot verschil met concurrerende software van onder meer XenSource en VMware is dat KVM onderdeel is van de kernel, wat een performancevoordeel kan bieden.
De KVM-software bestaat uit twee delen: een kernelmodule en een userspacecomponent. De kernelmodule zorgt ervoor dat geheugen- en I/O-aanroepen vanuit de gevirtualiseerde omgeving op de juiste wijze worden afgehandeld. Het andere KVM-onderdeel is een wat aangepaste versie van de Qemu-virtualisatiesoftware, die nodig is om de gevirtualiseerde omgeving op te starten. Iedere virtuele machine heeft, net als bij de VMware en Xen, toegang tot gevirtualiseerde hardware, zoals een netwerkkaart en een grafische kaart, zodat ze als een 'volwaardige' pc kan functioneren. Wie gebruik wil maken van KVM moet beschikken over een processor met ondersteuning voor de hardwarematige virtualisatietechnieken van Intel en AMD, respectievelijk Intel Virtualization Technology en AMD Virtualization genoemd.
Een groot verschil tussen KVM enerzijds en bijvoorbeeld VMware en Xen anderzijds is dat eerstgenoemde een onderdeel is van de Linux-kernel en de andere niet. Op het eerste oog mag dit misschien een klein verschil lijken, dit betekent tegelijkertijd dat virtualisatiesoftware die zich niet in de kernel bevindt ook geen gebruik kan maken van bepaalde kernelfeatures. Zo kan KVM wel gebruikmaken van de scheduler en de geheugenmanager, die beide al jarenlang in ontwikkeling zijn, van de kernel. De virtualisatiesoftware hoeft zich daar dus verder niet meer mee bezig te houden, wat een performancevoordeel kan opleveren. Daarnaast gedragen via KVM gevirtualiseerde omgevingen zich als gewoon Linux-proces, waardoor het beheer eenvoudiger zou moeten zijn, aldus een white paper van de KVM-site.
De met KVM concurrerende bedrijven zijn aangewezen op eigen ontwikkelaars om kernelmodules van hun software te ontwikkelen, als ze op vergelijkbare wijze als KVM toegang willen krijgen tot de kernel. Dat vergt echter grote aanpassingen in de code. Overigens is met het toevoegen van KVM aan de Linux-kernel geen antwoord gegeven op de vraag of Xen dan wel VMware onderdeel worden van de kernel, waar medio 2006 en eind oktober 2005 al over gesproken werd. Het is namelijk nog steeds mogelijk dat een van beide stukken software al dan niet geheel geïntegreerd wordt in de kernel. Versie 2.6.20 van de Linux-kernel zal naar verwachting over enkele weken gereleased worden.
Dit klinkt erg mooi, maar is het dat ook? Welke processoren hebben dergelijke virtua sets precies en zou het ook inderdaad beter werken dan xen en vmware welke al veel meer ervaring met deze systemen hebben? Ik denk dat het wel makkelijker is om beheer uit te voeren via bijvoorbeeld een X interface :)
Een van de nieuwe features in versie 2.6.20 van de Linux-kernel is de virtualisatiesoftware KVM. Een groot verschil met concurrerende software van onder meer XenSource en VMware is dat KVM onderdeel is van de kernel, wat een performancevoordeel kan bieden.
De KVM-software bestaat uit twee delen: een kernelmodule en een userspacecomponent. De kernelmodule zorgt ervoor dat geheugen- en I/O-aanroepen vanuit de gevirtualiseerde omgeving op de juiste wijze worden afgehandeld. Het andere KVM-onderdeel is een wat aangepaste versie van de Qemu-virtualisatiesoftware, die nodig is om de gevirtualiseerde omgeving op te starten. Iedere virtuele machine heeft, net als bij de VMware en Xen, toegang tot gevirtualiseerde hardware, zoals een netwerkkaart en een grafische kaart, zodat ze als een 'volwaardige' pc kan functioneren. Wie gebruik wil maken van KVM moet beschikken over een processor met ondersteuning voor de hardwarematige virtualisatietechnieken van Intel en AMD, respectievelijk Intel Virtualization Technology en AMD Virtualization genoemd.
Een groot verschil tussen KVM enerzijds en bijvoorbeeld VMware en Xen anderzijds is dat eerstgenoemde een onderdeel is van de Linux-kernel en de andere niet. Op het eerste oog mag dit misschien een klein verschil lijken, dit betekent tegelijkertijd dat virtualisatiesoftware die zich niet in de kernel bevindt ook geen gebruik kan maken van bepaalde kernelfeatures. Zo kan KVM wel gebruikmaken van de scheduler en de geheugenmanager, die beide al jarenlang in ontwikkeling zijn, van de kernel. De virtualisatiesoftware hoeft zich daar dus verder niet meer mee bezig te houden, wat een performancevoordeel kan opleveren. Daarnaast gedragen via KVM gevirtualiseerde omgevingen zich als gewoon Linux-proces, waardoor het beheer eenvoudiger zou moeten zijn, aldus een white paper van de KVM-site.
De met KVM concurrerende bedrijven zijn aangewezen op eigen ontwikkelaars om kernelmodules van hun software te ontwikkelen, als ze op vergelijkbare wijze als KVM toegang willen krijgen tot de kernel. Dat vergt echter grote aanpassingen in de code. Overigens is met het toevoegen van KVM aan de Linux-kernel geen antwoord gegeven op de vraag of Xen dan wel VMware onderdeel worden van de kernel, waar medio 2006 en eind oktober 2005 al over gesproken werd. Het is namelijk nog steeds mogelijk dat een van beide stukken software al dan niet geheel geïntegreerd wordt in de kernel. Versie 2.6.20 van de Linux-kernel zal naar verwachting over enkele weken gereleased worden.
Dit klinkt erg mooi, maar is het dat ook? Welke processoren hebben dergelijke virtua sets precies en zou het ook inderdaad beter werken dan xen en vmware welke al veel meer ervaring met deze systemen hebben? Ik denk dat het wel makkelijker is om beheer uit te voeren via bijvoorbeeld een X interface :)