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("")

       if pos !=-1:

           xml = xml[:pos]+"    "+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]+"
"+xml[pos:]
 

 

你可能感兴趣的:(系统集成,openstack,openstack,openstack)