Kernel-based Virtual Machine

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]

Kernel-based Virtual Machine
KVM ajamassa Opensolarista, NetBSD:tä ja Kubuntua Arch Linux -isännällä.
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
Korkean tason yleiskuvaus KVM/QEMU-arkkitehtuurista.

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]

Katso myös muokkaa

Lähteet muokkaa

  1. Linux 2 6 20 kernelnewbies.org. Viitattu 25.11.2017.
  2. a b c d e Amit Shah: Ten years of KVM lwn.net. 2.11.2016. Viitattu 5.3.2020. (englanniksi)
  3. a b What is KVM? redhat.com. Viitattu 11.9.2020. (englanniksi)
  4. Irfan Habib: Virtualization with KVM linuxjournal.com. 1.2.2008. Viitattu 5.3.2020. (englanniksi) 
  5. a b What do I need to use KVM? linux-kvm.org. Viitattu 19.2.2017. (englanniksi) 
  6. Kernel Virtual Machine linux-kvm.org. Viitattu 5.3.2020. (englanniksi)
  7. libvirt libvirt.org. Viitattu 27.7.2021. (englanniksi)
  8. Applications using libvirt libvirt.org. Viitattu 27.7.2021. (englanniksi)
  9. Linux on KVM IBM. Viitattu 17.8.2019. (englanniksi)
  10. [PATCH v8 00/19 KVM RISC-V Support] lkml.org. 3.10.2019. Viitattu 3.10.2019. (englanniksi)
  11. KVM Changes Land In Linux 5.16: RISC-V Hypervisor Support, AMD PSF Control Bit riscv.org. 8.11.2021. Viitattu 19.11.2021. (englanniksi)
  12. Linux 5.5 KVM Adds POWER Support For Secure Guests/VMs phoronix.com. Viitattu 19.12.2019. (englanniksi)
  13. [GIT PULL Second batch of KVM changes for 5.5 merge window] lkml.iu.edu. Viitattu 19.12.2019. (englanniksi)
  14. Supporting protected computing on IBM Power Architecture developer.ibm.com. Viitattu 19.12.2019. (englanniksi)
  15. AMD Secure Encrypted Virtualization (AMD-SEV) Guide documentation.suse.com. 25.9.2020. Viitattu 30.9.2020. (englanniksi)
  16. Secure Encrypted Virtualization (SEV) kernel.org. Arkistoitu 28.7.2021. Viitattu 28.7.2021. (englanniksi)
  17. Virtualization with KVM linux-kvm.org. Viitattu 5.3.2020. (englanniksi)
  18. What is the difference between KVM and Xen? linux-kvm.org. Viitattu 7.3.2020. (englanniksi)
  19. Chapter 10. KVM Paravirtualized (virtio) Drivers Red Hat Enterprise Linux 6 access.redhat.com. Viitattu 7.3.2020. (englanniksi)
  20. An API for virtual I/O: virtio lwn.net. Viitattu 7.3.2020. (englanniksi)
  21. Avi Kivity: kvm-15 release lwn.net. 25.2.2007. Viitattu 15.10.2022. (englanniksi)
  22. Migration linux-kvm.org. Viitattu 15.10.2022. (englanniksi)
  23. Thomas Claburn: It doesn't work with Docker, K8s right now, but everyone's going nuts anyway for AWS's Firecracker microVMs theregister.com. 27.11.2018. Viitattu 30.8.2023. (englanniksi)
  24. firecracker github.com. Viitattu 30.8.2023. (englanniksi)
  25. Libby Clark: Git Success Stories and Tips from KVM Maintainer Paolo Bonzini linux.com. 7.4.2015. Viitattu 1.10.2020. (englanniksi) 

Aiheesta muualla muokkaa

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.