1、简介
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。
2、主要工具
2.1、虚拟机管理工具virt-manager
virt-manager | |
编译语言 | Python |
项目构建 | Autoconf、Automake |
底层API | libvirt |
UI | GTK+PyGTK |
支持虚拟机 | KVM、Xen、Qemu、LXC |
2.2、virt-viewer
<6.0 | >6.0 | |
是否需要单独指定远程协议 | 是 | 否 |
编译语言 | c | c |
项目构建 |
Autoconf、Automake |
Autoconf、Automake |
底层API |
libvirt |
libvirt |
UI |
GTk2.0 |
GTK3.0 |
2.3、qemu-kvm
2.4、qemu-img