Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80715
  • 博文数量: 24
  • 博客积分: 375
  • 博客等级: 一等列兵
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-13 22:14
文章分类

全部博文(24)

文章存档

2014年(6)

2011年(18)

我的朋友

分类: 虚拟化

2014-04-14 23:37:16

qemu monitor protocol简介

参考:

相关文件:
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之间交互的一个重要通道。
根据中的介绍,现在我们使用的命令还是放在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原理中会详细分析。 


 
 

阅读(4625) | 评论(0) | 转发(0) |
0

上一篇:qemu-kvm命令行参数解析

下一篇:没有了

给主人留下些什么吧!~~