17
2025
03
23:08:23

M2090 GPU加速卡在基于esxi的windows中启动失败-CODE 10

0x01 前言

前段时间我找来了一个Nvidia Tesla M2090 GPU加速卡,计划用在视频制作上,所以打算将这个加速卡通过直通技术分配到一个基于esxi 6.5的虚拟机中。

硬件和虚拟机的安装都很顺利,却在驱动加速卡的过程中遇到了困难。

0x02 BUG

在安装完最新的加速卡驱动后,在windows系统中使用硬件管理查看M2090的硬件信息会发现它出现了一个感叹号:

查看设备状态发现以下错误提示:

该设备无法启动 (代码 10)/ 系统资源不够,无法完成API

0x03 DEBUG

因为我刚离开KVM进入VMware不久,所以一时间还找不出原因,就这样过了一周。在这期间,我多方求证,证实了我的一个猜想。

Nvidia显卡或Nvidia GRID在利用虚拟化技术进行直通(passthrough/透传)或分配vGPU给虚拟机时,有可能会出现code 43。这是因为windows在启动时加载了旧版本的显卡驱动,所以会导致GPU初始化失败而导致code 43。

那我的code 10会不会也是因为同样的原因?在查找相关资料后发现并不是。

运行在虚拟化中的系统会有个虚拟化标记,以此告知系统正运行在虚拟化平台之上。而Nvidia驱动检测到这个标记后会导致显卡初始化失败,从而出现了code 10。

为此,我需要将这个标记去除。

0x04 修复

在KVM中,你可以添加一个features达到隐藏虚拟化标记的目的:

    <kvm>
      <hidden state='on'/>
    </kvm>

但需要注意的是,libvirt的版本要在2.0或以上。

而在esxi中,只需要在虚拟机的高级选项中添加一个配置参数即可:

hypervisor.cpuid.v0 = "FALSE"

编辑虚拟机的配置,进入“虚拟机选项”并点击“编辑配置”

然后添加一个参数:

重启后再次检查显卡状态会发现已经能正常驱动:

0x05 测试

下面用CUDA-Z进行测试,并使用驱动软件的GPU利用率监控器进行监控:

因为M2090加速卡设计之初是给服务器使用的,所以采用被动散热,只有铝制散热鳍片而没有散热风扇。通过zabbix监控可以发现服务器的温度和散热风扇的转速在GPU使用率高的情况下有了相应的反应:

散热风扇上万转并不是问题,同时服务器功率和电流也随之上升。

0x06 结语

硬件正常,软件也准备就绪。下一步我将使用这个加速卡进行更多的测试,最重要是我要开始将文字解说做成视频,更有利于理解。

Nvidia Tesla M2090应该是2011年发布的产品,虽然如此,它的性能也依然强悍。它与游戏显卡不同,主要用CUDA进行运算,而我则主要用于视频剪辑的过程中。



这个显卡有两个电源接口,一个8pin和一个6pin的接口。在以下连接电源的方式中,显卡都可以正常工作:

  • 连接一个8pin电源接口

  • 连接一个6pin电源接口和一个8pin电源接口

只连接一个6pin电源接口和不连接任何电源的情况下,显卡将无法正常工作。

因此我还需要购买两条电源线,长这样的:




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://sg.hqyman.cn/post/9653.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: