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





猜你喜欢

转载自blog.csdn.net/oLinBSoft/article/details/80696913
usb