Kernel-based Virtual Machine
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][4] 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.[5] KVM
KVM vaatii suorittimelta tukea virtualisoinnille käskykantalaajennuksien avulla.[6] 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.[7][2] KVM-virtualisointia voi hallinnoida libvirt-kirjaston avulla sitä käyttävistä sovelluksista.[8][9]
KVM on kehitetty aluksi Intelin Intel VT (VMX) ja AMD:n AMD-V (SVM) käskyille.[6][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.[10] RISC-V-suorittimen tuki on liitetty versioon 5.16.[11][12]
IBM on julkaissut KVM:ään Power-arkkitehtuurilla käytettävän tuen suojatuille virtuaalikoneille ultravisor-virtualisoinnilla.[13][14][15] AMD:n SEV-tuella voidaan salata virtuaalikoneiden muistit yksilöllisellä avaimella esimerkiksi pilvipalveluympäristöissä.[16][17]
Useat eri käyttöjärjestelmät toimivat KVM:n kanssa täydellä virtualisoinnilla vieraskäyttöjärjestelminä.[18] KVM ei tue suorittimen paravirtualisointia, mutta tukee laiteajurien kanssa virtio-rajapinnalla.[19][20][21] KVM tukee käynnissä olevan virtuaalikoneen siirtoa isännältä toiselle (live migration) versiosta 15 lähtien (2007).[22][23] AWS Firecracker perustuu KVM-hypervisorille.[24][25]
KVM:n ylläpitäjä on Red Hatille työskentelevä Paolo Bonzini.[26]
Katso myös
[muokkaa | muokkaa wikitekstiä]Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ Linux 2 6 20 kernelnewbies.org. Viitattu 25.11.2017.
- ↑ a b c d e Amit Shah: Ten years of KVM lwn.net. 2.11.2016. Viitattu 5.3.2020. (englanniksi)
- ↑ a b What is KVM? redhat.com. Viitattu 11.9.2020. (englanniksi)
- ↑ Tytus Kurek: KVM hypervisor: a beginners’ guide ubuntu.com. 8.9.2021. Viitattu 4.12.2024. (englanniksi)
- ↑ Irfan Habib: Virtualization with KVM linuxjournal.com. 1.2.2008. Viitattu 5.3.2020. (englanniksi)
- ↑ a b What do I need to use KVM? linux-kvm.org. Viitattu 19.2.2017. (englanniksi)
- ↑ Kernel Virtual Machine linux-kvm.org. Viitattu 5.3.2020. (englanniksi)
- ↑ libvirt libvirt.org. Viitattu 27.7.2021. (englanniksi)
- ↑ Applications using libvirt libvirt.org. Viitattu 27.7.2021. (englanniksi)
- ↑ Linux on KVM IBM. Viitattu 17.8.2019. (englanniksi)
- ↑ [PATCH v8 00/19 KVM RISC-V Support] lkml.org. 3.10.2019. Viitattu 3.10.2019. (englanniksi)
- ↑ 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)
- ↑ Linux 5.5 KVM Adds POWER Support For Secure Guests/VMs phoronix.com. Viitattu 19.12.2019. (englanniksi)
- ↑ [GIT PULL Second batch of KVM changes for 5.5 merge window] lkml.iu.edu. Viitattu 19.12.2019. (englanniksi)
- ↑ Supporting protected computing on IBM Power Architecture developer.ibm.com. Viitattu 19.12.2019. (englanniksi)
- ↑ AMD Secure Encrypted Virtualization (AMD-SEV) Guide documentation.suse.com. 25.9.2020. Viitattu 30.9.2020. (englanniksi)
- ↑ Secure Encrypted Virtualization (SEV) kernel.org. Arkistoitu 28.7.2021. Viitattu 28.7.2021. (englanniksi)
- ↑ Virtualization with KVM linux-kvm.org. Viitattu 5.3.2020. (englanniksi)
- ↑ What is the difference between KVM and Xen? linux-kvm.org. Viitattu 7.3.2020. (englanniksi)
- ↑ Chapter 10. KVM Paravirtualized (virtio) Drivers Red Hat Enterprise Linux 6 access.redhat.com. Viitattu 7.3.2020. (englanniksi)
- ↑ An API for virtual I/O: virtio lwn.net. Viitattu 7.3.2020. (englanniksi)
- ↑ Avi Kivity: kvm-15 release lwn.net. 25.2.2007. Viitattu 15.10.2022. (englanniksi)
- ↑ Migration linux-kvm.org. Viitattu 15.10.2022. (englanniksi)
- ↑ 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)
- ↑ firecracker github.com. Viitattu 30.8.2023. (englanniksi)
- ↑ 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 | muokkaa wikitekstiä]- KVM-projektin kotisivu (englanniksi)
- KVM Forum (englanniksi)
- Memory protection in Android using KVM (englanniksi)
- The Definitive KVM (Kernel-based Virtual Machine) API Documentation (englanniksi)