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

问题

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
    
  • 在源码中进行修改,源码位置/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py。在_set_features函数内部,文件的4486行中,添加
    guest.features.append(vconfig.LibvirtConfigGuestFeatureKvmHidden())
    
    保存退出,并重新将driver.py文件重新编译,替换原有的config.pyc文件。
    python -m py_compile driver.py
    
    完成后重启虚拟机或者整个计算节点的服务,即可发现问题已经解决。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值