Kernelbasierte virtuelle Maschine - Kernel-based Virtual Machine
Ursprüngliche Autor (en) | Qumranet |
---|---|
Entwickler | Die Linux-Kernel- Community |
Repository | |
Geschrieben in | C. |
Betriebssystem | Unix-ähnlich |
Plattform | ARM , IA-64 , PowerPC , S / 390 , x86 , x86-64 |
Art | Hypervisor |
Lizenz | GNU GPL oder LGPL |
Webseite | www |
Kernel-basierte virtuelle Maschine ( KVM ) ist ein Virtualisierungsmodul im Linux-Kernel , mit dem der Kernel als Hypervisor fungieren kann . Es wurde in der Version 5.6.20, die am 5. Februar 2007 veröffentlicht wurde, in den Haupt-Linux-Kernel integriert. KVM benötigt einen Prozessor mit Hardware-Virtualisierungserweiterungen wie Intel VT oder AMD-V . KVM wurde auch in Form von ladbaren Kernelmodulen auf andere Betriebssysteme wie FreeBSD und illumos portiert .
KVM wurde ursprünglich für entworfen x86 - Prozessoren , sondern wurde seit portiert zu S / 390 , PowerPC , IA-64 und ARM .
KVM bietet hardwareunterstützte Virtualisierung für eine Vielzahl von Gastbetriebssystemen, darunter Linux, BSD , Solaris , Windows , Haiku , ReactOS , Plan 9 , das AROS Research-Betriebssystem und macOS . Darüber hinaus ist bekannt, dass Android 2.2, GNU / Hurd ( Debian K16), Minix 3.1.2a, Solaris 10 U3 und Darwin 8.0.1 zusammen mit anderen Betriebssystemen und einigen neueren Versionen dieser aufgeführten mit bestimmten Einschränkungen funktionieren.
Darüber hinaus bietet KVM Paravirtualisierungsunterstützung für Linux-, OpenBSD- , FreeBSD-, NetBSD- , Plan 9- und Windows-Gäste mithilfe der VirtIO- API . Dies umfasst eine paravirtuelle Ethernet-Karte , einen Festplatten-E / A-Controller, einen Ballon-Treiber und eine VGA- Grafikschnittstelle mit SPICE- oder VMware- Treibern.
Geschichte
Avi Kivity begann Mitte 2006 mit der Entwicklung von KVM bei Qumranet , einem Technologie- Startup-Unternehmen , das 2008 von Red Hat übernommen wurde.
KVM tauchte im Oktober 2006 auf und wurde in der Kernel-Version 2.6.20, die am 5. Februar 2007 veröffentlicht wurde, in die Linux-Kernel-Hauptlinie integriert.
KVM wird von Paolo Bonzini gepflegt.
Interna
KVM bietet Geräteabstraktion, jedoch keine Prozessoremulation. Es macht die / dev / kvm- Schnittstelle verfügbar , die ein Host im Benutzermodus dann verwenden kann, um:
- Richten Sie den Adressraum der Gast-VM ein. Der Host muss außerdem ein Firmware-Image (normalerweise ein benutzerdefiniertes BIOS beim Emulieren von PCs) bereitstellen, mit dem der Gast sein Hauptbetriebssystem booten kann.
- Füttere die vom Gast simulierte E / A.
- Ordnen Sie die Videoanzeige des Gastes wieder dem Systemhost zu.
Unter Linux ist QEMU Version 0.10.1 und höher ein solcher Userspace-Host. QEMU verwendet KVM, wenn verfügbar, um Gäste mit nahezu nativen Geschwindigkeiten zu virtualisieren, greift jedoch ansonsten auf die reine Software-Emulation zurück.
Intern verwendet KVM SeaBIOS als Open Source-Implementierung eines 16-Bit-x86- BIOS .
Eigenschaften
KVM unterstützt seit Februar 2007 Hot-Plug-vCPUs , dynamische Speicherverwaltung und Live-Migration
Emulierte Hardware
KVM selbst emuliert sehr wenig Hardware und verwendet stattdessen eine übergeordnete Clientanwendung wie QEMU , Crosvm oder Firecracker für die Geräteemulation.
KVM bietet die folgenden emulierten Geräte an:
- Virtuelle CPU und Speicher
- VirtIO
Grafische Verwaltungstools
- Kimchi - webbasiertes Virtualisierungsmanagement-Tool für KVM
- Virtual Machine Manager - unterstützt das Erstellen, Bearbeiten, Starten und Stoppen von KVM-basierten virtuellen Maschinen sowie die Live- oder Cold-Drag-and-Drop-Migration von VMs zwischen Hosts.
- Proxmox Virtual Environment - ein Open-Source-Virtualisierungsverwaltungspaket, das KVM und LXC enthält . Es verfügt über ein Bare-Metal-Installationsprogramm, eine webbasierte Remoteverwaltungs-GUI, einen HA-Cluster-Stack, einen einheitlichen Speicher, ein flexibles Netzwerk und optionalen kommerziellen Support.
- OpenQRM - Verwaltungsplattform zur Verwaltung heterogener Rechenzentrumsinfrastrukturen.
- GNOME-Boxen - Gnome-Oberfläche zum Verwalten von libvirt-Gästen unter Linux.
- oVirt - Open-Source-Virtualisierungsverwaltungstool für KVM, das auf libvirt basiert
Lizenzierung
Die Kernel-Modus-Komponente von KVM ist Teil des Linux-Kernels , der selbst unter der GNU General Public License, Version 2 , lizenziert ist .
Siehe auch
Verweise
Literaturverzeichnis
- Amit Shah (02.11.2016). "Zehn Jahre KVM" . lwn.net . Abgerufen am 10.02.2017 .
Externe Links
- Offizielle Website
- Best Practices für die Kernel-basierte virtuelle Maschine , IBM, zweite Ausgabe, April 2012
- Virtio-blk Performance Improvement , KVM Forum 2012, 8. November 2012, von Asias He
- Wikibook QEMU & KVM
- crosvm - Chrome OS-Monitor für virtuelle Maschinen
- Firecracker VMM für KVM