- OpenStack、kvm、qemu-kvm、libvirt之间的关系
-
qemu
qemu是一个独立的虚拟化解决方案,通过intel-VT或AMD SVM实现全虚拟化,安装切睦的系统,可以直接模拟出另一个完全不同的系统环境,虚拟机的创建通过qemu-image即可完成。QEMU本身可以不依赖KVM,但如果有kvm的存在并且硬件(处理器)支持比如intel-VT功能,那么qemu在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。 -
KVM
kvm是集成到Linux内核的Hypervisor是X86架构,并且硬件支持虚拟化技术(intel-VT或AMD-SVM)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事情,如任务调度、内存管理与硬件设备交互等。准确来说,kvm是Linux kernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但是仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去做事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件QEMU。其实qemu也是一个虚拟化软件,它的特点是可虚拟不同的cpu,比如说X86的cpu可虚拟一个power的cpu,并可利用它编译出可运行在power上的程序。kvm使用了qemu的一部分,并稍加改造,就成了可控制kvm的用户空间工具了,所以你会看到官方提供的kvm下载有2大部分(qemu和kvm)、3个文件(kvm模块、qemu工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级qemu工具。这