(1)、什么是QMP协议?
QMP,即QEMU Machine Protocol,也就是qemu虚拟机协议,它是qemu的一部分,qmp是基于json格式的一整套协议,通过这套协议我们可以控制qemu虚拟机实例的整个生命周期,包括挂起、暂停、快照、查询、外设的热插拔等,以及最简单的查询,都可以通过qmp实现。
(2)、QMP协议有哪些特征?
1)轻量、基于文本、指令格式易于解析,因为它是json格式的;2)支持异步消息,主要指通过qmp发送给虚拟机的指令支持异步;
3)Capabilities Negotiation,主要指我们初次建立qmp连接时,进入了capabilities negotiation模式,这时我们不能发送任何指令,除了qmp_capabilities指令,发送了qmp_capabilitie指令,我们就退出了capabilities negotiation模式,进入了指令模式(command mode),这时我们可以发送qmp指令,如{ "execute": "query-status" },这样就可以查询虚拟机的状态。
(3)、QMP协议有哪些模式?
有两种模式:Capabilities Negotiation模式和Command模式。
(4)、那么该如何建立qmp连接呢?
有多种方式可以建立qmp连接,接下来的文章我们会依次进行介绍这里我们介绍一种最简单的方式,只需要在虚拟机启动选项中加入-qmp选项,即可建立qmp连接。<