存档

2012年6月 的存档

USB Redirection

2012年6月29日 没有评论

更多的信息请参考

http://hansdegoede.livejournal.com/

安装必要的包

在我的 Gentoo 上:

 $ emerge libusbx usbredir spice-protocol spice 

libusbx 是 libusb-1.0 的一个fork, 由于将 USB Redirection merge 到 libusb-1.0 非常缓慢(貌似两个开发者有些冲突), libusbx 的开发者把具有 USB Redirection 的 libusb-1.0 重命名为 libusbx 并且 release 了稳定版本.

usbredir 是处理 USB Redirection 的协议

spice-protocol 是 SPICE protocol 的协议头文件

spice 是 SPICE server 和 client

QEMU 编译 USB Redirection 支持

作为 一个 QEMU contributor, QEMU 肯定要自己编译

 $ ./configure --prefix=/home/mathslinux/usr --enable-kvm --enable-debug --enable-werror \ --target-list="x86_64-softmmu" --enable-usb-redir --enable-spice $ make && make install 

以上指令给 QEMU 添加了 spice 支持, usb 重定向支持, 并把 QEMU 安装到了 我的家目录的 usr 下

启动 QEMU

 $ ~/usr/bin/qemu-system-x86_64 -enable-kvm -cpu core2duo -smp 4 -m 4096 \ -usb -device usb-ehci -spice port=5900,addr=0.0.0.0,disable-ticketing \ -vga qxl -global qxl-vga.vram_size=67108864 -readconfig ich9-ehci-uhci.cfg \ -chardev spicevmc,name=usbredir,id=usbredirchardev1 \ -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,debug=3 \ Ubuntu-12-04-append.img 

启动了一个 4 核, 4G内存的虚拟机, spice 端口在 5900, 开启一个 USB Redirection 的通道

启动 Client

据我所知到目前为止, 支持 USB Redirection 重定向的客户端好像只有 spice-gtk(0.11 版本之后)

记得加上 usbredir 的支持

 $ USE="usbredir" emerge spice-gtk 

装完启动 Spice client

 $ spicy -h qemu-ipaddr -p 5900 

分类: kvm, QEMU 标签: ,

QEMU Monitor 重定向

2012年6月29日 2 条评论

有的时候 QEMU 运行在远端, 但是此时需要做一些信息监控, 控制 VM 等的操作, 需要用到 QEMU 的 monitor 通道(libvirt 就是基于这种方式控制 VM 的), 这时候就需要把 Monitor 转发到其他设备(socket, telnet 等), 我们通过 本地的 TCP client 来操作这个通道.

转发到一个 TCP Socket

以下指令把 Monitor 转发到本地的 TCP 4444 端口, 作为 server 端, nowait 表示不需要等待 client 来激活马上启动 VM. IpAddress 是允许连接的 Client. 如果只想本机连接, IpAddress 填 127.0.0.1, 如果想要所有为空.

 $ qemu-kvm -monitor tcp:IpAddress:4444,server,nowait VM.img 

转发到 telnet 端口

以下指令把 Monitor 转发到本地的 telnet 4444 端口, 在另外一 台机器(IpAddress)上, 可以使用 telnet qemu-ipaddr 4444 来连接

 $ qemu-kvm -monitor telnet:IpAddress:4444,server,nowait VM.img 

这时候, 只要在随便一台机器上打开 telnet 客户端就可以连接远端的 QEMU monitor 了.

 $ telnet qemu-ipaddress 4444 

分类: kvm, QEMU 标签: ,