KVM虚拟机上关于宿主机的USB设备使用问题探究

(编辑:jimmy 日期: 2024/12/23 浏览:2)

KVM usb passthrough就是将宿主机的usb接口直接给虚拟机使用,usb接口上的设备也就直接可以在虚拟机上使用。

 

测试环境

宿主机1 centos 6.6 64位 内核版本 2.6.32-431.1.2.0.1.el6.x86_64

宿主机2 fedora 21 内核版本 3.17.2-300.fc21.x86_64

虚拟机 windows 7 64位

 

配置方法

第一步 通过lsub或者virt-manager看看有那些usb口可供使用
 

复制代码代码如下: lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 03f0:1027 Hewlett-Packard Virtual keyboard and mouse
Bus 001 Device 002: ID 058f:6387 Alcor Micro Corp. Flash Drive
Tue Dec 16 12:45:21 CST 2014
KVM虚拟机上关于宿主机的USB设备使用问题探究

第二步 将需要的usb接口传给虚拟机
KVM虚拟机上关于宿主机的USB设备使用问题探究

xml 配置文件为
 

复制代码代码如下: <hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x058f'/>
<product id='0x6387'/>
<address bus='1' device='2'/>
</source>
<alias name='hostdev0'/>
</hostdev>

第三步 测试

在测试过程中发现一个很奇怪的现象,在centos6的宿主机上的windows7,u盘不能识别
KVM虚拟机上关于宿主机的USB设备使用问题探究

但是如果是centos6的虚拟机,U盘就可以正常使用,开始以为是windows7驱动的问题,但是尝试了各种驱动,问题依旧。

后来尝试了在fedora21上的windows7虚拟机,u盘插上去就可以直接使用
KVM虚拟机上关于宿主机的USB设备使用问题探究

甚至不要做任何配置,应该和fedora上的usb转发器有关系,看来还是新的版本做了许多改进。
KVM虚拟机上关于宿主机的USB设备使用问题探究

KVM虚拟机上关于宿主机的USB设备使用问题探究

KVM虚拟机上关于宿主机的USB设备使用问题探究