2017-09-26 419 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