qemu是模拟器,kqemu是qemu的加速器,可以认为是qemu的一个插件;qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器;Oracle 的 virtual box 就是在 QEMU的基础上改写的。
kvm是一种用于Linux内核中的虚拟化基础设施,包括内核虚拟构架和处理器相关模块,其借用了 quem 其它一些组件,kvm的非内核部分是由qemu实现的;加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具 .KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
qemu-kvm:kvm是linux的一个模块,管理和创建完整的虚拟机需要相应的一些管理工具,由于kvm是在qemu的基础上开发的,KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 内核模块的用户空间工具QEMU-KVM。
qemu和kvm的关系: qemu自己模拟 x86的CPU 太复杂了,借用 kvm 的功能来实现更方便, 也更能提速.也可以说 kvm 缺少显示器,硬盘等外设,就直接用 qemu 提供(前人在qemu写下这些虚拟设备的代码,正好拿来用).但只有在 linux 上 qemu 和 kvm 才有关系,因为像windows这样的系统下面没有 kvm.
libvirt,virt-manager,virsh:由于qemu- kvm的效率及通用性问题,有组织开发了libvirt用于虚拟机的管理,带有一套基于文本的虚拟机的管理工具--virsh,以及一套用户渴望的图形界 面管理工具--virt-manager。libvirt是用python语言写的通用的API,不仅可以管理KVM,也可用于管理XEN;