💡
原文中文,约5100字,阅读约需12分钟。
📝
内容提要
本文介绍了在H3C服务器的PVE环境中,将NVIDIA RTX 6000 Ada显卡直通给Windows/Linux虚拟机的过程,解决了“代码43”和“Fallen off the bus”错误。重点在于BIOS MMIO寻址和虚拟机配置,提供了详细的排查流程、配置步骤及注意事项,强调了SR-IOV对MMIO空间的影响,并建议在BIOS中调整设置以确保显卡正常工作。
🎯
关键要点
- 在H3C服务器的PVE环境中,NVIDIA RTX 6000 Ada显卡直通给Windows/Linux虚拟机的过程可以解决“代码43”和“Fallen off the bus”错误。
- 核心问题在于宿主机BIOS的64位MMIO寻址空间耗尽,导致显卡直通失败。
- 排查流程包括检查宿主物理层、隔离层和虚拟层,以确认资源分配和驱动接管情况。
- SR-IOV的开启会动态生成大量VF,消耗BIOS默认的MMIO空间,影响显卡请求。
- 解决方案包括修改BIOS设置以增加MMIO资源,或强关SR-IOV以释放空间。
- 虚拟机配置必须使用Q35机型和OVMF BIOS,并确保正确的CPU和内存设置。
- 在Windows中需要安装NVIDIA Data Center版驱动,并通过nvidia-smi验证驱动状态。
- 避免在PVE环境中使用软RAID阵列,以防止持续出现资源分配错误。
❓
延伸问答
如何在PVE环境中解决NVIDIA RTX 6000显卡的代码43错误?
通过检查宿主机BIOS的64位MMIO寻址空间,确保其未耗尽,并调整BIOS设置以增加MMIO资源。
SR-IOV对显卡直通有什么影响?
SR-IOV的开启会动态生成大量虚拟功能(VF),消耗BIOS的MMIO空间,导致显卡请求被拒绝。
在配置虚拟机时需要注意哪些关键参数?
必须使用Q35机型和OVMF BIOS,并确保CPU和内存设置正确,分配大于8GB内存。
为什么不建议在PVE环境中使用软RAID阵列?
使用软RAID阵列可能导致持续出现资源分配错误,影响显卡的正常工作。
如何验证NVIDIA驱动是否安装成功?
在Windows中使用命令nvidia-smi检查驱动状态,确保输出正常且无通信报错。
在BIOS中如何调整MMIO资源以支持显卡直通?
进入BIOS设置,将PFMMIO 64 bit Resources Padding调整为最大值,如512G或1T。
➡️