Kernel-based Virtual Machine | |
---|---|
![]() |
|
![]() KVM ajamassa Opensolarista, NetBSD:tä ja Kubuntua Arch Linux -isännällä. |
|
Kehittäjä | Open Virtualization Alliance (OVA) |
Kehityshistoria | |
Ensijulkaisu | 2007 |
Tiedot | |
Alusta | Linux (ARM, IA64, MIPS, Power, S/390, RISC-V, x86, x86-64) |
Lisenssi | GNU GPL, GNU LGPL |
Aiheesta muualla | |
Verkkosivusto |
Kernel-based Virtual Machine eli KVM on Linux-ytimeen rakennettu tuki virtualisoinnille. KVM on julkaistu Linux versiossa 2.6.20 helmikuussa 2007.[1] KVM projektista ilmoitti ensimmäisen kerran sen aloittaja Avi Kivity 19. lokakuuta 2006 viestissä Linux Kernel -postituslistalle.[2] KVM on tyypin 1 (suoraan laitteistolla ajettava) hypervisor, joka hyödyntää Linux-ytimen ominaisuuksia ja suorittaa virtuaalikoneita tavallisina prosesseina.[3] Kaikki hypervisorit tarvitsevat käyttöjärjestelmätason toimintoja kuten muistinhallinnan, laiteajurit ja verkkopinon, jotka KVM saa käyttöönsä koska se toimii Linux-ytimessä.[3] KVM tukee virtualisointia ilman muutoksia vieraskäyttöjärjestelmiin.[4]
KVM vaatii suorittimelta tukea virtualisoinnille käskykantalaajennuksien avulla.[5] KVM ei suorita eri suorittimen tai muun laitteiston emulointia vaan tämä on erillisen käyttäjäavaruudessa sijaitsevan ohjelman tehtävä.[2] Käyttäjäavaruudessa käytettävä osa on QEMU:ssa.[6][2] KVM-virtualisointia voi hallinnoida libvirt-kirjaston avulla sitä käyttävistä sovelluksista.[7][8]
KVM on kehitetty aluksi Intelin Intel VT (VMX) ja AMD:n AMD-V (SVM) käskyille.[5][2] Useat suoritinvalmistajat ovat tukeneet KVM:n kehitystä: Intel lisäsi tuen IA64-alustalle; IBM lisäsi tuen S/390- ja POWER-alustoille; ARM Holdings ja Linaro tukivat ARM-version kehitystä; Imagination Technologies lisäsi MIPS-alustan tuen.[2]
KVM on tuettu IBM Z -alustalla.[9] RISC-V-suorittimen tuki on liitetty versioon 5.16.[10][11]
IBM on julkaissut KVM:ään Power-arkkitehtuurilla käytettävän tuen suojatuille virtuaalikoneille ultravisor-virtualisoinnilla.[12][13][14] AMD:n SEV-tuella voidaan salata virtuaalikoneiden muistit yksilöllisellä avaimella esimerkiksi pilvipalveluympäristöissä.[15][16]
Useat eri käyttöjärjestelmät toimivat KVM:n kanssa täydellä virtualisoinnilla vieraskäyttöjärjestelminä.[17] KVM ei tue suorittimen paravirtualisointia, mutta tukee laiteajurien kanssa virtio-rajapinnalla.[18][19][20] KVM tukee käynnissä olevan virtuaalikoneen siirtoa isännältä toiselle (live migration) versiosta 15 lähtien (2007).[21][22] AWS Firecracker perustuu KVM-hypervisorille.[23][24]
KVM:n ylläpitäjä on Red Hatille työskentelevä Paolo Bonzini.[25]