您的位置:首页 > 其它

qemu monitor protocol简介

2014-04-14 23:37 351 查看
qemu monitor protocol简介

参考:

http://wiki.qemu.org/QMP

http://humblec.com/qmp-qemu-monitor-protocol-and-different-ways-of-accessing-it/

相关文件:

qmp-commands.hx

qmp-events.txt

qmp-spec.txt

qapi-schema.json

writing-qmp-commands.txt

hmp-commands.hx

一、简介

qemu monitor protocol 简称qmp,是以json为格式的一种协议。qmp是qemu-kvm虚拟机中的一个重要组成部分。如果使用libvirt起一台虚拟机,libvirt使用qmp给qemu发送命令,qemu通过qmp events(qmp 事件)返回,所以说qmp是libvirt和qemu之间交互的一个重要通道。

根据http://wiki.qemu.org/QMP中的介绍,现在我们使用的命令还是放在qmp-commands.hx和hmp-commands.hx中,未来希望都放在qapi-schema.json文件中,就像qga(qemu guest agent)的实现方式一样。

二、使用

参考中的第二个网址有qmp的使用方法,这里只对libvirt起的虚拟机做点简单介绍。

使用命令 :

# virsh qemu-monitor-command --help

可以查到所有的qmp命令以及对命令的简单介绍。

使用命令:

# virsh qemu-monitor-command domain --hmp help

可以查到所有的hmp(human monitor protocol)的命令以及对命令的简单介绍。

qmp和hmp的区别是qmp命令使用的是json格式,hmp直接使用命令,而且两者之间的命令也略有不同。相对来说,hmp比qmp在格式上要简单些。

hmp和qmp的例子:

# virsh qemu-monitor-command --hmp 3 info block

# virsh qemu-monitor-command 3 '{"execute":"query-block"}'

三、原理

qmp本质是一个本地的unix socket。qemu是server端,libvirt是client端。在后面的qmp原理中会详细介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: