PowerEdge:NVIDIA 驱动程序错误:nvidia-smi 失败,因为它无法与 NVIDIA 驱动程序通信
Summary: 运行 nvidia-smi 命令时,您可能会遇到一个驱动程序错误,指出“nvidia-smi 失败,因为它无法与 NVIDIA 驱动程序通信。
Symptoms
而 nvidia-smi 命令无法运行,并返回错误消息:
nvidia-smi has failed because it could not communicate with the NVIDIA driver.
在运行时不显示 NVIDIA GPU 信息 nvidia-smi。
nvidia-smi has failed because it could not communicate with the NVIDIA driver
NVRM: nvidia_ctl_session_announce failed as driver unload is in progress.
Cause
错误 ”nvidia-smi has failed because it could not communicate with the NVIDIA driver“ 可能由多种因素引起:
-
NVIDIA 驱动程序未安装或损坏:系统上可能未安装 NVIDIA 驱动程序,或者安装可能已损坏,从而导致
nvidia-smi工具在尝试与 GPU 交互时失败。 -
驱动程序不兼容:安装的 NVIDIA 驱动程序版本可能与 GPU 或作系统不兼容,从而导致通信问题。
-
NVIDIA 内核模块未加载:所需的 NVIDIA 内核模块 (
nvidia.ko) 可能无法加载到系统中,从而阻止nvidia-smi工具和 GPU。 -
GPU 初始化失败:GPU 可能在引导过程中或由于硬件故障而未正确初始化,这意味着
nvidia-smi无法与其建立通信。 -
冲突的驱动程序版本:可能安装了冲突的或多个 GPU 驱动程序(例如,Nouveau 开源驱动程序或较旧的 NVIDIA 驱动程序版本),导致系统无法加载正确的 NVIDIA 驱动程序。
-
硬件故障:GPU 本身可能存在硬件问题,例如物理故障、过热或连接不当,导致系统无法访问它。
-
NVIDIA 许可证缺失或过期(适用于 vGPU 设置):在虚拟化环境中,缺少或过期的 NVIDIA vGPU 许可证可能会阻止驱动程序正常工作,从而导致通信故障。
-
系统更新或内核更改:最近对作系统的更新或内核更改可能影响了 NVIDIA 驱动程序的兼容性或功能,从而导致其失败。
要解决此问题,请检查驱动程序安装,验证是否已加载正确的驱动程序,并确保硬件和软件兼容。
Resolution
在 ESXi 7.0 及更高版本中启用 vGPU 的分步指南:
-
安装 NVIDIA vGPU Manager:
- 从 NVIDIA 网站
下载适用于 VMware ESXi 的最新 NVIDIA vGPU Manager。
- 使用 SSH 访问 ESXi 主机,或使用 ESXi Shell 安装 vGPU Manager 软件包。
- 从 NVIDIA 网站
-
在虚拟机 (VM) 中安装 NVIDIA vGPU 驱动程序:
- 对于使用 vGPU 的每个虚拟机,在来宾作系统(例如 Windows、Linux)中安装相应的 NVIDIA GPU 驱动程序。
- 从适用于特定作系统的 NVIDIA 网站下载驱动程序。
- 在虚拟机内安装驱动程序,就像在物理计算机上安装一样。
-
重新启动 ESXi 主机:
- 安装 NVIDIA vGPU Manager 后,重新启动 ESXi 主机以使更改生效。
-
检查是否已加载 NVIDIA 驱动程序:
- 运行命令:
esxcli system module list | grep nvidia
- 这会检查是否已加载 NVIDIA 内核模块。
- 运行命令:
-
手动加载 NVIDIA 驱动程序(如果未加载):
- 如果未加载 NVIDIA 模块,您可以通过运行以下命令手动加载它:
esxcli system module load --module=nvidia
- 如果未加载 NVIDIA 模块,您可以通过运行以下命令手动加载它:
-
启用硬件虚拟化(如果未启用):
- 通过 ESXi Host Client 或 vSphere Client 登录 ESXi 主机。
- 检查物理服务器的 BIOS/UEFI 中是否已启用 Intel VT-x 或 AMD-V 。虚拟化需要这些选项。
-
检查是否检测到 NVIDIA GPU:
- 运行命令:
lspci | grep -i nvidia
- 这会检查 ESXi 是否检测到 NVIDIA GPU。
- 运行命令:
-
检查系统日志中是否存在错误:
- 使用命令查找与 NVIDIA 驱动程序相关的特定错误消息:
tail -f /var/log/vmkernel.log
- 使用命令查找与 NVIDIA 驱动程序相关的特定错误消息:
-
检查特定于 NVIDIA 的日志:
- 查看位于以下位置的 NVIDIA 特定日志:
/var/log/nvidia-installer.log
- 查看位于以下位置的 NVIDIA 特定日志:
-
在 vSphere 中配置 vGPU:
- 打开 vSphere Client 并导航到您的 ESXi 主机。
- 右键单击使用 vGPU 的虚拟机,然后选择 Edit Settings。
- 在 虚拟机硬件 选项卡中,单击 添加新设备 ,然后选择 PCI 设备。
- 选择要分配给 VM 的 NVIDIA GPU (vGPU)。
- 根据可用的 GPU 资源和许可,选择所需的 vGPU 配置文件 (例如 GRID、vComputeServer 等)。
-
分配 vGPU 配置文件:
- 配置虚拟机时,分配一个 vGPU 配置文件 ,用于确定要分配给每个虚拟机的物理 GPU 资源量。配置文件选项取决于 GPU 型号。
-
配置 NVIDIA 许可证:
- 确保 ESXi 主机上安装了正确的 NVIDIA vGPU 许可证 。
- 要安装或更新 vGPU 许可证,请使用 NVIDIA vGPU 软件包附带的 vGPU 许可实用程序 。
- vGPU 功能正常工作需要许可证,并且可以通过命令行将其应用于 ESXi 主机。
-
验证 vGPU 是否已启用:
- 设置 vGPU 后,验证它是否在虚拟机中被正确识别。
- 登录到虚拟机并运行以下命令:
nvidia-smi
- 这应该会显示虚拟 GPU 的状态,类似于它在物理机器上的样子。
Additional Information
戴尔应建议客户针对 vGPU 相关问题向 NVIDIA enterprisesupport@nvidia.com 发送电子邮件,或通过其门户提交 Web 案例,或通过电话联系他们。
Web 门户: https://www.nvidia.com/en-us/support/
电话支持: