openstack进阶:虚拟桌面usb重定向(usb映射)
openstack遠程云桌面要能訪問本地usb盤,需要進行一些配置:
一、客戶端: 采用的是virt-viewer??
下載地址:https://releases.pagure.org/virt-viewer/
我下載的是virt-viewer-x64-6.0.msi? ?這是windows版本的安裝程序,也有linux版本,有64位,有32位,目前最新6.0版本,2.0及以下版本的編譯不支持usb? redirect,建議不要下載使用
二,服務器端,讓虛擬機安裝支持usb redirect的驅動程序,需要在虛擬機的xml中修改設備配置,因為openstack不支持直接修改虛擬機的xml文件,可以在生成虛擬機設備配置xml的driver.py 程序中直接修改加入
?nano /opt/stack/nova/nova/virt/libvirt/driver.py
找到函數:
def _get_guest_xml(self, context, instance,network_info, disk_info,
?????????????????????? image_meta, rescue=None,
?????????????????????? block_device_info=None,write_to_disk=False):
.......
?
?xml = conf.to_xml()? ? //找到這行代碼
“”” ------------以下是增加代碼 參照網絡教程-----------------
???????pos = xml.find("</devices>")
???????if pos !=-1:
???????????xml = xml[:pos]+"?<redirdev bus='usb' type='spicevmc'> </redirdev><redirdev bus='usb' type='spicevmc'>? </redirdev> <redirdev bus='usb' type='spicevmc'></redirdev> "+xml[pos:]
“””---------增加代碼結束--重復次數表示有多個usb接口----------------
LOG.debug('End _get_guest_xml xml=%(xml)s',? ? //這行以下是原有代碼
????????????????? {'xml': xml},instance=instance)
???????return xml
修改保存后,重啟nova
systemctl restart devstack@n-cpu
現在啟動虛擬機,即可實現云桌面讀取本地usb
三、其它
1.有些客戶端宿主操作系統不支持usb redirect 需要安裝驅動:UsbDk_1.0.19_x64.msi? 或UsbDk_1.0.19_x86.msi
2. 如果加上聲音重定向,以上完整xml是:
? ? ? ? ? ? ? ? xml = xml[:pos]+" <redirdev bus='usb' type='spicevmc'></redirdev><redirdev bus='usb' type='spicevmc'></redirdev>
<redirdev bus='usb' type='spicevmc'></redirdev><sound model='ich6'><alias name='sound0'/></sound> "+xml[pos:]
?
?
總結
以上是生活随笔為你收集整理的openstack进阶:虚拟桌面usb重定向(usb映射)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当智能门锁已不再是锁
- 下一篇: 激光slam理论与实践