1. **确认USB设备已识别**
将USB设备插入CVK主机,在CVK后台执行 `lsusb` 和 `lsusb -t` 命令,确认设备被正确识别,并查看其总线类型(UHCI/EHCI/XHCI 对应 USB1.1/2.0/3.0)。
2. **登录CAS管理平台**
进入CAS云计算管理平台,选择“计算”页签,定位到目标虚拟机。
3. **为虚拟机添加USB设备**
- 进入虚拟机“配置”页签,点击“增加硬件”。
- 硬件类型选择“USB设备”。
- 选择合适的USB控制器类型(USB1.0实际为USB1.1,适用于UKey、加密狗等;USB2.0适用于U盘等高速设备)。
- 在设备列表中选择需透传的USB设备,点击“确定”。
4. **注意事项**
- 一个USB设备同一时间只能透传给一台虚拟机。
- 虚拟机使用USB透传设备时无法进行热迁移,需卸载设备后方可迁移。
- 若设备无法识别,可尝试更换USB控制器类型或检查驱动兼容性。
- 对于SPICE控制台用户,需启用USB重定向功能并安装客户端驱动。
5. **验证设备使用**
在虚拟机操作系统中通过设备管理器(Windows)或 `lsusb`(Linux)确认设备已识别,安装必要驱动后即可正常使用。
啥啊
CAS配置USB透传虚拟机
客户现场想直接把USB设备透传给虚拟机里面。
客户想通过配置USB透传,将设备直通给虚拟机。
1、开启虚拟机所在CVK上的IOMMU。需重启服务器配置生效

2、确认USB的bus、slot和function号,可通过lspci | grep USB命令查找。
如图中 03:00.3就分别代表bus,slot,function。添加到配置文件中,格式需分别调整为,bus 0x03 slot 0x00 function 0x0

3、若现场能直接插拔USB,可通过插拔usb设备,来确认现场要实现usb透传的pci号是多少。若不能插拔,需找到lsusb中看到的usb设备和lspci | grep USB看到的设备的对应关系。方法如下:
1)执行lsusb和lsusb -t确认usb设备对应的端口和总线


2)
cd /sys/bus/devices,可以看到诸如0000:03:00.3、0000:26:00.3的多个文件夹,依次查找lspci | grep USB看到的四个文件夹中的内容。比对VID和PID。vid在idVendor中记录,pid在idProduct中记录。
在哪个文件夹下找到vid和pid一致的,说明usb设备对应了哪个pci总线。
本例中插入的USB设备,可在0000:03:00.3/usb1/1-1/1-1.2的路径下,找到一样的vid和pid。

可知,这个usb设备对应的pci编号是03.00.3

3、确认好usb,slot,function后,关闭虚拟机,修改虚拟机xml文件,
修改前,需备份虚拟机xml文件。
在xml文件中添加如下内容:
注意:下图中已经添加完成的虚拟机的配置文件,有两行address,但第二行address是保存配置文件后,系统自动生成的,不需要手动填写。

因此需要手动添加的信息为下方加粗的部分:
<hostdev mode="subsystem" type="pci" managed="yes">
<driver name="vfio"/>
<source>
<address domain="0x0000" bus="0x03" slot="0x00" function="0x3"/>
</source>
</hostdev>
<hub type="usb">
<address type="usb" bus="0" port="1"/>
</hub>
<memballoon model="virtio">
<address type="pci" domain="0x0000" bus="0x00" slot="0x09" function="0x0"/>
</memballoon>
</devices>
</domain>
添加完成后,保存配置文件,然后拉起虚拟机。
在虚拟机内部确认是否能识别到该设备,windows看设备管理器,linux执行lspci | grep USB
本例中是linux,标亮的就是直通过来的USB设备。这个pci编号,就是虚拟机xml文件中第二行address里自动分配的pci号。00.0c.0


暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论