你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
排查 Azure Stack Edge Pro GPU 上的 GPU VM 的 GPU 扩展问题
适用范围:Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R
本文提供了指导,以解决导致 GPU VM 上的 GPU 扩展在 Azure Stack Edge Pro GPU 设备上安装失败的最常见问题。
有关安装步骤,请参阅安装 GPU 扩展。
在低于 2205 的版本中,Linux GPU 扩展将安装旧的签名密钥:缺少签名和/或必需的密钥
错误说明:Linux GPU 扩展安装旧的签名密钥,导致无法阻止下载所需的 GPU 驱动程序。 在这种情况下,Linux VM 的 syslog 中会出现以下错误:
/var/log/syslog and /var/log/waagent.log
May 5 06:04:53 gpuvm12 kernel: [ 833.601805] nvidia:module verification failed: signature and/or required key missing- tainting kernel
建议的解决方法:可以使用两种选项缓解此问题:
选项 1:将 Azure Stack Edge 2205 更新应用于设备。
选项2:创建 NCasT4_v3 系列大小的 GPU 虚拟机后,在安装扩展之前手动安装新的签名密钥,然后按照更新 CUDA Linux GPG 存储库密钥 | NVIDIA 技术博客中的步骤设置所需的签名密钥。
下面是在 Ubuntu 1804 虚拟机上安装签名密钥的示例:
$ sudo apt-key adv --fetch- keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
无法在 Windows 2016 VHD 上安装 GPU 扩展
错误说明:这是低于 2205 的版本中的已知问题。 GPU 扩展需要 TLS 1.2。 在这种情况下,可能会看到以下错误消息:
Failed to download https://go.microsoft.com/fwlink/?linkid=871664 after 10 attempts. Exiting!
其他详细信息:
- 检查来宾日志中的关联错误。 若要收集来宾日志,请参阅在 Azure Stack Edge Pro GPU 设备上收集 VM 的来宾日志。
- 在 Linux VM 上,查看
/var/log/waagent.log
或/var/log/azure/nvidia-vmext-status
。 - 在 Windows VM 上,在
C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status
中查找错误状态。 - 查看
C:\WindowsAzure\Logs\WaAppAgent.txt
中的完整执行日志。
如果在包下载过程中安装失败,则此错误表示 VM 无法访问公用网络来下载驱动程序。
建议的解决方法:使用以下步骤在 Windows 2016 VM 上启用 TLS 1.2,然后部署 GPU 扩展。
在 VM 中运行以下命令以启用 TLS 1.2:
sp hklm:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 1
部署模板
addGPUextensiontoVM.json
以在现有 VM 上安装扩展。 可以手动安装扩展,也可以从 Azure 门户安装扩展。- 若要手动安装扩展,请参阅在 Azure Stack Edge Pro GPU 设备的 VM 上安装 GPU 扩展
- 若要使用 Azure 门户安装模板,请参阅在 Azure Stack Edge Pro GPU 设备上部署 GPU VM。
注意
扩展部署是一个长时间运行的作业,大约需要 10 分钟才能完成。
在 RHEL 7 上手动安装 Nvidia 驱动程序
错误说明:在 RHEL 7 VM 上安装 GPU 扩展时,安装可能会由于证书轮换问题和驱动版本不兼容而失败。
建议的解决方法:在这种情况下,可以使用两种选项:
选项 1:解决证书轮换问题,然后安装低于 510 版本的 Nvidia 驱动程序。
若要解决证书轮换问题,请运行以下命令:
$ sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/$arch/cuda-rhel7.repo
安装低于 510 版本的 Nvidia 驱动程序。
选项 2:部署 GPU 扩展。 部署 ARM 扩展时使用以下设置:
settings": { "isCustomInstall": true, "InstallMethod": 0, "DRIVER_URL": " https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda-repo-rhel7-11-4-local-11.4.4_470.82.01-1.x86_64.rpm", "DKMS_URL" : " https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm", "LIS_URL": " https://aka.ms/lis", "LIS_RHEL_ver": "3.10.0-1062.9.1.el7" }
VM 的大小不是 GPU VM 的大小
错误说明:GPU VM 的大小必须为 Standard_NC4as_T4_v3 或 Standard_NC8as_T4_v3 的大小。 如果使用任何其他 VM 的大小,将无法附加 GPU 扩展。
建议的解决方案:用 Standard_NC4as_T4_v3 或 Standard_NC8as_T4_v3 VM 的大小创建一个 VM。 有关详细信息,请参阅 GPU VM 支持的 VM 大小。 有关指定大小的信息,请参阅创建 GPU VM。
不支持映像 OS
错误说明:GPU 扩展不支持 VM 映像上安装的操作系统。
建议的解决方案:准备具有 GPU 扩展支持的操作系统的新 VM 映像。
有关支持的操作系统的列表,请参阅 GPU VM 支持的 OS 和 GPU 驱动程序。
有关 GPU VM 的映像准备要求,请参阅创建 GPU VM。
扩展参数不正确
错误说明:在 Linux VM 上部署 GPU 扩展时使用了不正确的扩展设置。
建议的解决方案:在部署 GPU 扩展之前编辑参数文件。 有关详细信息,请参阅安装 GPU 扩展。
下载包时 VM 扩展安装失败
错误说明:扩展预配在扩展安装期间或启用状态期间失败。
检查来宾日志中的关联错误。 若要收集来宾日志,请参阅在 Azure Stack Edge Pro 上收集 VM 的来宾日志。
在 Linux VM 上:
- 在
/var/log/waagent.log
或/var/log/azure/nvidia-vmext-status
中查找。
在 Windows VM 上:
- 在
C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status
中查找错误状态。 - 查看完整的执行日志:
C:\WindowsAzure\Logs\WaAppAgent.txt
。
如果在包下载过程中安装失败,则此错误表示 VM 无法访问公用网络来下载驱动程序。
- 在
建议的解决方案:
在连接到 Internet 的端口上启用计算。 若要获取指导,请参阅创建 GPU VM。
在门户中停止 VM,以解除分配 VM。 若要停止 VM,请转到“虚拟机”>“概述”,然后选择 VM。 然后,在 VM 属性页上,选择“停止”。
创建新 VM。
VM 扩展失败,出现错误 dpkg is used/yum lock is used
(Linux VM)
错误说明:Linux VM 上的 GPU 扩展部署失败,因为另一个进程正在使用 dpkg
或另一个进程创建了 yum lock
。
建议的解决方案:若要解决此问题,请执行以下步骤:
若要了解锁的应用进程,请搜索 \var\log\azure\nvidia-vmext-status 日志中的错误,例如“dpkg 由另一个进程使用”或“另一个应用持有
yum lock
”。等待进程完成,或结束进程。
再次安装 GPU 扩展。
如果扩展部署再次失败,请创建新的 VM,并确保在你安装 GPU 扩展之前锁不存在。