kvm是内核组件,并没有自己的用户空间,QEMU是一个通用的开源的硬件模拟器,可以模拟多种硬件
QEMU_KVM从分支与主干合并,QEMU成为KVM在用户空间的管理工具,及KVM运行在内核空间负载虚拟机调用物理资源的请求处理,QEMU则在用户空间处理用户下达给虚拟机的各种指令
从架构上看KVM属于宿主模型,因为Linux设计之初并内有针对虚拟化的支持,KVM是以内核模块的形式存在的。但是随着越来越多的虚拟化功能被加到Linux内核当中,也可以把Linux内核看作一个Hypervisor。因此KVM也可以算作是Hypervisor模型。
Libvirt
Libvirt是由Redhat开发的一套开源的软件工具,目标是提供一个通用和稳定的软件库来高效、安全的管理一个节点上的虚拟机,并支持远程操作。
Libvirt服务
启动服务 systemctl start libvirtd
配置文件在/etc/libvirt目录下面
一个库文件,实现管理接口
一个守护进程(libvirtd)
一个命令行工具(virsh)
为了支持VMM,Libvirt采用基于驱动(Driver)架构,每种VMM需要提供一个Driver和Libvirt进行通信来操控特定的VMM
Libvirt定义了各种API