2017-09-26 183 views
0

我希望将以下行从qemu选项转换为libvirt xml。从QEMU到libvirt(virsh) - 添加USB端口

-qemu-system-x86_64 
-... 
-usb -device usb-host,bus=usb-bus.0,hostbus=<bus>,hostport=<port> 

这增加了一个物理USB插头到虚拟机。针对usb-bus/deviceID显示并记录了大多数示例,而不是此解决方案。

编辑: virsh domxml-from-native qemu-argv MyArgV.sh有以下解决方案的工具:

<qemu:commandline> 
    <qemu:arg value='-device'/> 
    <qemu:arg value='usb-host,bus=usb-bus.0,hostbus=1,hostport=10'/> 
</qemu:commandline> 

但是,这是不是真的是我想要的,因为它绕过了libvirt的系统。因此,如果本机工具找不到任何解决方案,是否有通过USB端口传递的一般libvirt解决方案?

我也尝试了添加USB端口的virt-manager GUI,但是我无法找到任何这样做的情况。

是否有可能让一个正在运行的qemu机器快照并随时用libvirt复制它?我们发现this的网页。但是这里描述了如何在VM中组装USB端口层次结构,而不是将主机端口转发给VM。

回答

1

不幸的是它没有记载,但你可以指定基于总线+设备编号使用这种语法USB设备:

<hostdev mode='subsystem' type='usb' managed='no'> 
    <source> 
    <address bus='1' device='NNN'/> 
    </source> 
</hostdev> 

不幸的是这里的设备数量是在/ dev/USB /巴士/ NNN每次插入时都会发生变化。目前还没有任何支持基于稳定的hostport选择设备。

+0

这是工作周。对这个问题找到一个NO是非常有价值的。你知道libvirt是不是支持它,还是只有virsh不支持它?在这种情况下,“托管=是/否”的变化是什么? –

+0

“受管理”属性对USB设备没有任何意义 - 只有PCI。缺乏支持的是libvirt本身 - 我们愿意接受任何有技能和兴趣的人的补丁来支持这个... – DanielB

+1

我刚刚发现有人已经为此功能提供了一个补丁,但我们放弃了球,它从来没有审查/合并 https://www.redhat.com/archives/libvir-list/2016-July/msg00127.html 我会追上去...... – DanielB