我正在努力将主机正确检测到的USB设备连接到kvm vm.
我有一个新安装的Ubuntu Server 14.10作为KVM / QEMU主机.我使用这个命令设置了一个Ubuntu vm:
virt-install --connect qemu:///system \
-n test01 \
-r 1024 \
--vcpus=2 \
--disk path=/vmstorage/01/test01.img,size=5 \
--vnc \
--noautoconsole \
--os-variant=ubuntuutopic \
--hvm \
--cdrom /path/to/ubuntu-14.10-server-i386.iso
成功安装后,virsh dumpxml test01返回
test01
f58ca825-c999-4168-9f5a-616057d9955d
1048576
1048576
2
/machine
hvm
SandyBridge
destroy
restart
restart
/usr/bin/kvm-spice
libvirt-f58ca825-c999-4168-9f5a-616057d9955d
libvirt-f58ca825-c999-4168-9f5a-616057d9955d
我现在想要连接USB记忆棒.在一些googleing I found some sources之后,基本上所有建议采用以下方法:
>坚持主持人
>获取供应商和产品ID
[email protected]:~# lsusb
Bus 002 Device 004: ID 13fe:5100 Kingston Technology Company Inc. Flash Drive
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0624:0249 Avocent Corp.
Bus 001 Device 003: ID 0624:0248 Avocent Corp.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>通过virsh编辑test01将新的config-snippet添加到vm
>重启vm
之后,vm应该通过lsusb看到棒,但没有任何变化.如果我尝试将设备连接到第二个vm,virsh start< othervm>失败并显示错误:请求的操作无效:驱动程序QEMU,域test01正在使用USB设备002:003但是我仍然可以在主机上安装和访问操纵杆.我尝试了不同的操作系统和不同的操作系统(ubuntu和windows),但没有成功.
一些说明建议关闭apparmor,但/etc/init.d/apparmor stop没有改变任何东西.
这让我疯了,因为我没有收到任何错误或记录消息,我不知道如何找出问题所在.有关如何将USB连接到虚拟机的任何想法,或者至少如何进一步分析它?
这可能是访问权限的问题.您的QEMU守护程序不允许访问USB设备.尝试:
chown libvirt-qemu /dev/bus/usb/ -R
或者您的KVM运行的用户.这应该可以解决问题.