当前位置:   article > 正文

openstack pike版本 gpu透传 设备无法使用_kvm hide

kvm hide

问题

Openstack pike版本下,GPU(NVIDIA 1060)透传至linux虚拟机,发现设备并成功安装驱动,但是nvidia-smi无法执行,报出设备无法使用的错误。

解决

通过网上调查,因为NVIDIA GPU会阻止VM中的驱动加载到GPU上,所以需要在qemu中设置隐藏VM的状态。让GPU无法检测到VM在控制GPU。因此,需要在虚拟机的xml文件中打开kvm hidden选项。

下方有两种方法进行解决:

  • 在dashborad中为镜像添加元数据img_hide_hypervisor_id=true,如下图,然后基于此镜像创建虚拟机即可解决。
    元数据添加另外,在命令行可以使用下述命令进行添加元数据。
    $ . admin-openrc
    $ openstack image list
    #上述命令可以查看镜像ID,在下面命令中替换镜像ID即可
    $ openstack image set ImageID --property img_hide_hypervisor_id=true
    
    • 1
    • 2
    • 3
    • 4
  • 在源码中进行修改,源码位置/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py。在_set_features函数内部,文件的4486行中,添加
    guest.features.append(vconfig.LibvirtConfigGuestFeatureKvmHidden())
    
    • 1
    保存退出,并重新将driver.py文件重新编译,替换原有的config.pyc文件。
    python -m py_compile driver.py
    
    • 1
    完成后重启虚拟机或者整个计算节点的服务,即可发现问题已经解决。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/365491?site
推荐阅读
相关标签
  

闽ICP备14008679号