qemu guest agent安装研究

http://aspirer2004.blog.163.com/blog/static/1067647201352423628885/
1. qemu-guest-agent虚拟机内安装:
debian: 在/etc/apt/sources.list增加一行 deb http://ftp.cn.debian.org/debian sid main,sudo apt-get update,sudo apt-get install qemu-guest-agent
ubuntu: 在/etc/apt/sources.list增加一行 deb http://free.nchc.org.tw/ubuntu/ raring main universe,sudo apt-get update,sudo apt-get install qemu-guest-agent
2.安装卡住
  原因是如果你先修改了libvirt的配置文件,增加了virtio-serial的配置,并且name='org.qemu.guest_agent.0',那么由于在/etc/init.d/qemu-guest-agent启动脚本中没有增加-d参数,导致qemu-guest-agent处于前台启动过程,无法退出,导致安装卡住,解决方法是kill掉qemu-ga进程或者先安装qemu-guest-agent,之后再修改libvirt配置。
3.libvirt配置文件
     
       
       
     
要注意 path='/var/lib/libvirt/qemu/test.agent'这个路径libvirt-qemu:kvm用户要有权限进行读写,否则虚拟机会启动失败。
4.无法与宿主机通信
要输出如下内容才基本可断定配置的serial可以通信:
root@debian:~# qemu-ga -v -p /dev/virtio-ports/com.163.spice.0
1372055252.431905: debug: received EOF
1372055252.532232: debug: received EOF
1372055252.632594: debug: received EOF
1372055252.732949: debug: received EOF
否则要查找原因。
我遇到一个特别奇怪的问题,如果我按照libvirt官方配置说明中的配置,
     
     
会导致/dev/virtio-ports/org.qemu.guest_agent.0无法用来与宿主机通信,改为com.163.guest_agent.0或者org.qemu.ga.0或者其他类似的名字,甚至不写(默认名称com.redhat.spice.0)都OK,我的libvirt版本是0.9.13,qemu版本(qemu-kvm  1.1.2+dfsg-2),虚拟机内核版本(Linux debian 3.2.0-3-amd64/Linux ubuntu 3.2.0-29-generic)。
这个问题的原因是如果不改名,libvirt就会自己连接到这个socket上,所以如果你不想让libvirt连接,就得改掉默认的名称。详见http://wiki.libvirt.org/page/Qemu_guest_agent(Configure guest agent without libvirt interference)
5. 依赖的内核模块(virtio_console)

测试脚本: https://github.com/aspirer/study/blob/master/qemu-guest-agent/poll_qemu_guest_agent.py
增加获取文件系统空间信息补丁: https://github.com/aspirer/study/blob/master/qemu-guest-agent/get-statvfs.patch
debian wheezy 3.2内核编译处理的qemu-guest-agent: https://github.com/aspirer/study/blob/master/qemu-guest-agent/qemu-ga

----------------------------------------------------------------------------------------
qemu编译:
apt-get install libzip-dev libsdl1.2-dev  uml-utilities  dh-autoreconf  bridge-utils libpixman-1-dev
可选安装包(不确定是否需要):build-essential
./configure --target-list=x86_64-softmmu --prefix=/usr --localstatedir=/var --sysconfdir=/etc --enable-debug
make或者只编译qemu-guest-agent: make qemu-ga

你可能感兴趣的:(qemu,qemu)