本文已参与「新人创作礼」活动,一起开启掘金创作之路。
lsusb来查看usb设备的编号
[root@localhost ~]# lsusb
Bus 002 Device 006: ID 03f0:5a07 Hewlett-Packard
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 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
第一种方法:
usb.xml
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id='0x03f0'/>
<product id='0x5a07'/>
</source>
</hostdev>
第二种方法:
usb1.xml
<hostdev mode='subsystem' type='usb'>
<source>
<address bus='002' device='006'/>
</source>
</hostdev>
2 挂载usb设备
virsh attach-device instance-00000051 usb.xml
虚拟机里面也会看到相应的u盘设备,如下在控制台里面,看到虚拟机识别到u盘为sdb,mount u盘分区后,可以看到u盘的内容。
3 卸载usb设备
virsh detach-device instance-00000051 usb.xml
openstack主机控制器,默认为USB1.0,我们不能直接将U盘,插到openstack实例上。需要修改程序改变加载的配置文件。
将USB类型改为以下型号。修改代码部分网上资料很多,修改原因,和控制器型号特此说明。
以下为网上找到的USB控制器型号。
以下为转载:
主机控制器(Host Controller)类型
• UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1)
• OHCI: Open Host Controller Interface (开放主机控制接口,USB1.0/1.1)
• EHCI: Enhanced Host Controller Interface (用于USB2.0高速设备的“增强主机控制接口”)
USB的拓扑结构决定了主机控制器就是最高统帅,没有主机控制器的要求设备永远不能主动发数据。所以主机控制器在USB的世界里扮演着重要的角色,它是幕后操纵者。
1、ich9类型USB控制器
可以单独添加ich9-echi1类型的USB2.0控制器,也可以附带ich9-uhcix类型的USB1.0控制器,但不可以只添加USB1.0控制器,ich9类型主控制器为USB2.0控制器,所以必须在xml中写入ich9-ehci1类型控制器,且总线function为0的需加上multifunction='on'。在我的测试机器上使用dd命令写入速度为11.4M/s。
2、piix3-uhci类型USB1.0控制器
该类型USB控制器pci必须为0:0:1.2。在我的测试机器上使用dd命令写入速度达到1.2M/s。
3、piix4-uhci类型USB1.0控制器
该USB控制器最好使用新的slot号,,functon为0。测试机器上使用dd命令写入速度达到1.2M/s。
4、vt82c686b-uhci类型USB1.0控制器
该USB控制器最好使用新的slot号,functon为0。测试机器上使用dd命令写入速度1.2M/s。
5、ehci类型USB2.0控制器
该USB控制器最好使用新的slot号,functon为0。测试机器上使用dd命令写入速度达到4M/s。
6、nec-xhci类型USB3.0控制器
由于当前使用vplat系统镜像无该控制器驱动,故不能通过该设置访问USB设备。