SUPPORT THE WORK

GetWiki

Kernel-based Virtual Machine

ARTICLE SUBJECTS
aesthetics  →
being  →
complexity  →
database  →
enterprise  →
ethics  →
fiction  →
history  →
internet  →
knowledge  →
language  →
licensing  →
linux  →
logic  →
method  →
news  →
perception  →
philosophy  →
policy  →
purpose  →
religion  →
science  →
sociology  →
software  →
truth  →
unix  →
wiki  →
ARTICLE TYPES
essay  →
feed  →
help  →
system  →
wiki  →
ARTICLE ORIGINS
critical  →
discussion  →
forked  →
imported  →
original  →
Kernel-based Virtual Machine
[ temporary import ]
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
{{short description|Virtualization module in the Linux kernel}}{{Distinguish|KVM switch}}







factoids
}}Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007.WEB
,kernelnewbies.org/Linux_2_6_20#head-bca4fe7ffe454321118a470387c2be543ee51754
, Linux kernel 2.6.20, Section 2.2. Virtualization support through KVM
, 2007-02-05
, 2014-06-16
, kernelnewbies.org, KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V.KVM FAQ: What do I need to use KVM? KVM has also been ported to other operating systems such as FreeBSDWEB,www.freebsd.org/news/status/report-2007-07-2007-10.html#Porting-Linux-KVM-to-FreeBSD, FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD, and illumosWEB,dtrace.org/blogs/bmc/2011/08/15/kvm-on-illumos/, KVM on illumos, in the form of loadable kernel modules.
KVM was originally designed for x86 processors but has since been ported to ESA/390,WEB,article.gmane.org/gmane.comp.emulators.kvm.devel/2570, Gmane - Mail To News And Back Again, 2007-05-07,article.gmane.org/gmane.comp.emulators.kvm.devel/2570," title="web.archive.org/web/20070929124348article.gmane.org/gmane.comp.emulators.kvm.devel/2570,">web.archive.org/web/20070929124348article.gmane.org/gmane.comp.emulators.kvm.devel/2570, 2007-09-29, dead, PowerPC,Gmane Loom {{webarchive|url=https://web.archive.org/web/20070929103042news.gmane.org/gmane.comp.emulators.kvm.devel/2595 |date=2007-09-29 }} IA-64, and ARM.WEB,columbia.github.com/linux-kvm-arm, KVM/ARM Open Source Project, 2017-11-01,columbia.github.com/linux-kvm-arm/," title="web.archive.org/web/20130310052146columbia.github.com/linux-kvm-arm/,">web.archive.org/web/20130310052146columbia.github.com/linux-kvm-arm/, 2013-03-10, dead, The IA-64 port was removed in 2014.WEB,git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=003f7de6258900e17f6206e8e417d76c75ca549f, kernel/git/torvalds/linux.git: KVM: ia64: remove, KVM supports hardware-assisted virtualization for a wide variety of guest operating systems including BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, AROS, macOS, and even other Linux systems.WEB,www.linux-kvm.org/page/Guest_Support_Status, KVM wiki: Guest support status, 2007-05-27, WEB,www.contrib.andrew.cmu.edu/~somlo/OSXKVM/, Running Mac OS X as a QEMU/KVM Guest, 2014-08-20, In addition, Android 2.2, GNU/HurdWEB,www.gnu.org/software/hurd/hurd/status.html, status, Gnu.org, 2014-02-12, (Debian K16), Minix 3.1.2a, Solaris 10 U3 and Darwin 8.0.1, together with other operating systems and some newer versions of these listed, are known to work with certain limitations.WEB,www.linux-kvm.org/page/Guest_Support_Status, Guest Support Status - KVM, Linux-kvm.org, 2014-02-12, Additionally, KVM provides paravirtualization support for Linux, OpenBSD,WEB,man.openbsd.org/virtio.4, OpenBSD man page virtio(4), 2018-02-04, FreeBSD,WEB,people.freebsd.org/~kuriyama/virtio/, virtio binary packages for FreeBSD, 2012-10-29, NetBSD,WEB,netbsd.gw.com/cgi-bin/man-cgi?virtio++NetBSD-current, NetBSD man page virtio(4), 2013-07-15, 2019-11-13,web.archive.org/web/20191113035952/https://netbsd.gw.com/cgi-bin/man-cgi?virtio++NetBSD-current, dead, Plan 9WEB,code.google.com/p/plan9front/wiki/qemu, plan9front, 2013-02-11, and Windows guests using the VirtIO API.WEB,lwn.net/Articles/239238/, An API for virtual I/O: virtio, 2007-07-11, 2014-04-16, LWN.net, This includes a paravirtual Ethernet card, disk I/O controller,WEB,linux-iscsi.org/wiki/vHost, SCSI target for KVM wiki, linux-iscsi.org, 2012-08-07, 2012-08-12, 2020-06-05,linux-iscsi.org/wiki/VHost," title="web.archive.org/web/20200605120413linux-iscsi.org/wiki/VHost,">web.archive.org/web/20200605120413linux-iscsi.org/wiki/VHost, dead, balloon driver, and a VGA graphics interface using SPICE or VMware drivers.

History

Avi Kivity began the development of KVM in mid-2006 at Qumranet, a technology startup companyInterview: Avi Kivity {{webarchive|url=https://web.archive.org/web/20070426033902kerneltrap.org/node/8088 |date=2007-04-26 }} on KernelTrap that was acquired by Red Hat in 2008.WEB
,www.redhat.com/en/about/press-releases/qumranet
, Red Hat Advances Virtualization Leadership with Qumranet, Inc. Acquisition
, 4 September 2008
, 16 June 2015
, Red Hat,
KVM surfaced in October 2006WEB,www.itworldcanada.com/article/kvm-15-equipped-with-live-migration/7901, KVM 15 equipped with live migration | IT World Canada News, 7 March 2007, and was merged into the Linux kernel mainline in kernel version 2.6.20, which was released on 5 February 2007.KVM is maintained by Paolo Bonzini.WEB

Internals

File:Kernel-based Virtual Machine.svg|thumb|right|upright=1.8|A high-level overview of the KVM/QEMU virtualization environmentWEB www-01.ibm.com/support/knowledgecenter/api/content/nl/en-us/linuxonibm/liaav/LPCKVMSSPV2.1.pdf
, KVM/QEMU Storage Stack Performance Discussion
, 2010
, January 3, 2015
, Khoa Huynh
, Stefan Hajnoczi
, Linux Plumbers Conference
, IBM
, {{dead link
"> date = January 2018
| bot = InternetArchiveBot
| fix-attempted = yes}}{{rp|3}}
KVM provides device abstraction but no processor emulation. It exposes the {{mono|/dev/kvm}} interface, which a user mode host can then use to:
  • Set up the guest VM’s address space. The host must also supply a firmware image (usually a custom BIOS when emulating PCs) that the guest can use to bootstrap into its main OS.
  • Feed the guest simulated I/O.
  • Map the guest’s video display back onto the system host.
Originally, a forked version of QEMU was provided to launch guests and deal with hardware emulation that isn’t handled by the kernel. That support was eventually merged into the upstream project. There are now numerous Virtual Machine Monitors (VMMs) which can utilise the KVM interface including kvmtool, crosvm and Firecracker and numerous specialised VMMs build with frameworks such as rust-vmm.Internally, KVM uses SeaBIOS as an open source implementation of a 16-bit x86 BIOS.WEB,www.seabios.org/SeaBIOS, SeaBIOS, seabios.org, 2013-12-21, 2014-06-16,

Features

KVM has had support for hot swappable vCPUs,WEB,access.redhat.com/articles/1339413, Hot Plugging Virtual CPUs with Red Hat Enterprise Virtualization Manager, dynamic memory management,WEB,www.linux-kvm.org/page/FAQ#Is_dynamic_memory_management_for_guests_supported.3F, Faq - KVM, and Live Migration since February 2007.WEB,lwn.net/Articles/223754/, KVM-15 release [LWN.net], WEB,www.linux-kvm.org/page/Migration, Migration - KVM, It also reduces the impact that memory write-intensive workloads have on the migration process.WEB,www.berrange.com/posts/2016/05/12/analysis-of-techniques-for-ensuring-migration-completion-with-kvm/, Daniel P. Berrangé » Blog Archive » Analysis of techniques for ensuring migration completion with KVM,

Emulated hardware

KVM itself emulates very little hardware, instead deferring to a higher level client application such as QEMU, crosvm, or Firecracker for device emulation.KVM provides the following emulated devices:

Graphical management tools

File:Libvirt support.svg|thumb|300px|libvirtlibvirt
  • Kimchi{{snd}} web-based virtualization management tool for KVM
  • Virtual Machine Manager{{snd}} supports creating, editing, starting, and stopping KVM-based virtual machines, as well as live or cold drag-and-drop migration of VMs between hosts.
  • Proxmox Virtual Environment{{snd}} an open-source virtualization management package including KVM and LXC. It has a bare-metal installer, a web-based remote management GUI, a HA cluster stack, unified storage, flexible network, and optional commercial support.
  • OpenQRM{{snd}} management platform for managing heterogeneous data center infrastructures
  • GNOME Boxes{{snd}} Gnome interface for managing libvirt guests on Linux
  • oVirt{{snd}} open-source virtualization management tool for KVM built on top of libvirt

Licensing

The kernel-mode component of KVM is a part of Linux kernel, itself licensed under GNU General Public License, version 2.WEB,www.kernel.org/doc/html/latest/process/license-rules.html#kernel-licensing, Linux kernel licensing rules — The Linux Kernel documentation, www.kernel.org, 2020-01-06, 7 March 2020,web.archive.org/web/20200307065451/https://www.kernel.org/doc/html/latest/process/license-rules.html#kernel-licensing, live,

See also

{{Div col|colwidth=20em}} {{div col end}}

References

{{Reflist|30em}}

Bibliography

External links

{{Virtualization products}}{{Linux kernel}}{{Authority control}}

- content above as imported from Wikipedia
- "Kernel-based Virtual Machine" does not exist on GetWiki (yet)
- time: 8:52am EDT - Wed, May 22 2024
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
GETWIKI 21 MAY 2024
GETWIKI 09 JUL 2019
Eastern Philosophy
History of Philosophy
GETWIKI 09 MAY 2016
GETWIKI 18 OCT 2015
M.R.M. Parrott
Biographies
GETWIKI 20 AUG 2014
CONNECT