在虚拟化实践过程中把物理机上的usb设备透传给虚拟机直接使用时很常见的应用场景,尤其时一些usb加密key的的透传使用,本文简单介绍一下usb设备透传的方式。
1.查看host上usb设备的vender:device号
# lsusb
Bus 002 Device 002: ID 8087:8002 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:800a Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 0557:2419 ATEN International Co., Ltd
Bus 003 Device 004: ID 0557:7000 ATEN International Co., Ltd Hub
Bus 003 Device 033: ID 096e:0405 Feitian Technologies, Inc.
(096e:0405就是在物理服务器上插着的usb设备,名字是Feitian)
2.创建xml
<hostdev mode='subsystem' type='usb'> <source> <vendor id='0x096e'/> <product id='0x0405'/> </source></hostdev>
注意:vendor和porduct的id对应
3.使用创建的xml文件透传usb设备给虚拟机
# virsh attach-device $domain_name usb.xml
这样就能在虚拟机内部看到有usb设备插入的提示
4.从虚拟机拔出usb
# virsh detach-device $domain_name usb.xml
关注本公众号,了解更多关于云计算虚拟化的知识。