导语:libvirt与qemu通过QEMU Monitor Protocol (QMP)协议进行交互,通过json格式承载交互信息。通过qmp可以管理虚拟机的生命周期,挂卸载虚拟机设备等操作。Libvirt中的Qemu Monitor是Libvirt与Qemu通信的一种机制。
1.创建Monitor
Monitor在虚拟机创建过程建立,对于虚拟机创建流程这里简述,重点放在monitor创建的流程上,这里以hpyervisor是qemu为例讲解。
client【virsh command、virtmanger、nova、vs】调用api创建虚拟机首先通过virDomainGetConnect api获取virDomainPtr conn对象,接下来调用创建虚拟机的api。
入口文件libvirt-domain.c,以virDomainCreateXML为例
virDomainPtr
virDomainCreateXML(virConnectPtr conn, const char