NVIDIA-GPU-Treibererweiterung für Linux
Diese Erweiterung installiert NVIDIA-GPU-Treiber auf virtuellen Linux-Computern (VMs) der N-Serie. Je nach VM-Familie installiert die Erweiterung CUDA- oder GRID-Treiber. Bei der Installation von NVIDIA Treibern mit dieser Erweiterung akzeptieren Sie die Bedingungen des NVIDIA-Endbenutzer-Lizenzvertrags und stimmen diesen zu. Während der Installation wird der virtuelle Computer möglicherweise neu gestartet, um die Treibereinrichtung abzuschließen.
Es sind Anleitungen für die manuelle Installation der Treiber und aktuell unterstützten Versionen verfügbar. Es ist auch eine Erweiterung zum Installieren von NVIDIA-GPU-Treibern auf Windows-VMs der N-Serie verfügbar.
Hinweis
Bei aktiviertem sicherem Start müssen alle Betriebssystem-Startkomponenten (Startladeprogramm, Kernel, Kerneltreiber) von vertrauenswürdigen Herausgebern signiert werden (Schlüssel, denen das System vertraut). Sicherer Start wird bei Verwendung von Windows- oder Linux-Erweiterungen nicht unterstützt. Weitere Informationen zum manuellen Installieren von GPU-Treibern mit aktiviertem sicheren Start finden Sie unter Einrichten von GPU-Treibern de rAzure N-Serie für Linux.
Hinweis
Die GPU-Treibererweiterungen aktualisieren den Treiber nicht automatisch, nachdem die Erweiterung installiert wurde. Wenn Sie zu einer neueren Treiberversion wechseln müssen, laden Sie den Treiber entweder manuell herunter, installieren Sie den Treiber, oder entfernen Sie die Erweiterung, und fügen Sie sie erneut hinzu.
Voraussetzungen
Betriebssystem
Diese Erweiterung unterstützt die folgenden Betriebssystem-Distributionen, abhängig von der Treiberunterstützung für bestimmte BS-Versionen:
Distribution | Version |
---|---|
Linux: Ubuntu | 20.04 LTS |
Linux: Red Hat Enterprise Linux | 7.9 |
Hinweis
Die neueste unterstützte CUDA-Treiberversion für VMs der NC-Serie ist derzeit 470.82.01. Neuere Treiberversionen werden auf den K80-Karten in NC nicht unterstützt. Während die Erweiterung mit dem Ende des Supports für NC aktualisiert wird, installieren Sie die CUDA-Treiber für K80-Karten der NC-Serie manuell.
Wichtig
Dieses Dokument verweist auf eine Releaseversion von Linux, die sich dem Ende des Lebenszyklus (End of Life, EOL) nähert oder es erreicht hat. Erwägen Sie ein Update auf eine aktuellere Version.
Internetkonnektivität
Die Microsoft Azure-Erweiterung für NVIDIA-GPU-Treiber erfordert, dass der virtuelle Zielcomputer mit dem Internet verbunden ist und Zugriff hat.
Erweiterungsschema
Der folgende JSON-Code zeigt das Schema für die Erweiterung:
{
"name": "<myExtensionName>",
"type": "extensions",
"apiVersion": "2015-06-15",
"location": "<location>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
],
"properties": {
"publisher": "Microsoft.HpcCompute",
"type": "NvidiaGpuDriverLinux",
"typeHandlerVersion": "1.6",
"autoUpgradeMinorVersion": true,
"settings": {
}
}
}
Eigenschaften
Name | Beispiel/Wert | Datentyp |
---|---|---|
apiVersion | 2015-06-15 | date |
publisher | Microsoft.HpcCompute | Zeichenfolge |
type | NvidiaGpuDriverLinux | Zeichenfolge |
typeHandlerVersion | 1.6 | INT |
Einstellungen
Alle Einstellungen sind optional. Das Standardverhalten ist, den Kernel nicht zu aktualisieren, wenn dies für die Treiberinstallation nicht erforderlich ist, und den neuesten unterstützten Treiber und das CUDA-Toolkit (falls zutreffend) zu installieren.
Name | Beschreibung | Standardwert | Gültige Werte | Datentyp |
---|---|---|---|---|
updateOS | Aktualisieren Sie den Kernel, auch wenn dies nicht für die Treiberinstallation erforderlich ist. | false | true, false | boolean |
driverVersion | NV: GRID-Treiberversion. NC/ND: CUDA-Toolkitversion. Die neuesten Treiber für den ausgewählten CUDA werden automatisch installiert. |
latest | Liste der unterstützten Treiberversionen | Zeichenfolge |
installCUDA | UDA-Toolkit installieren. Nur relevant für virtuelle Computer der NC-/ND-Serie. | true | true, false | boolean |
Bereitstellung
Azure-Portal
Sie können Azure Nvidia-VM-Erweiterungen im Azure-Portal bereitstellen.
Wechseln Sie in einem Browser zum Azure-Portal.
Navigieren Sie zu der VM, auf der Sie den Treiber installieren möchten.
Wählen Sie im Menü auf der linken Seite die Option Erweiterungen aus.
Wählen Sie Hinzufügen.
Scrollen Sie zu NVIDIA GPU-Treibererweiterung, wählen Sie sie aus, und wählen Sie dann Weiter aus.
Wählen Sie Überprüfen + erstellen und dann Erstellen aus. Warten Sie einige Minuten, bis der Treiber bereitgestellt ist.
Bestätigen Sie, dass die Erweiterung der Liste der installierten Erweiterungen hinzugefügt wird.
Azure Resource Manager-Vorlage
Sie können Azure-VM-Erweiterungen mithilfe von Azure Resource Manager-Vorlagen bereitstellen. Vorlagen sind ideal, wenn Sie einen oder mehrere virtuelle Computer bereitstellen, die nach der Bereitstellung konfiguriert werden müssen.
Die JSON-Konfiguration für eine VM-Erweiterung kann innerhalb der VM-Ressource geschachtelt oder im Stamm bzw. auf der obersten Ebene einer Resource Manager-JSON-Vorlage platziert werden. Die Platzierung der JSON-Konfiguration wirkt sich auf den Wert von Name und Typ der Ressource aus. Weitere Informationen finden Sie unter Set name and type for child resources (Festlegen von Name und Typ für untergeordnete Ressourcen).
Im folgenden Beispiel wird davon ausgegangen, dass die Erweiterung in der VM-Ressource geschachtelt ist. Wenn die Erweiterungsressource geschachtelt wird, wird der JSON-Code im "resources": []
-Objekt des virtuellen Computers platziert.
{
"name": "myExtensionName",
"type": "extensions",
"location": "[resourceGroup().location]",
"apiVersion": "2015-06-15",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', myVM)]"
],
"properties": {
"publisher": "Microsoft.HpcCompute",
"type": "NvidiaGpuDriverLinux",
"typeHandlerVersion": "1.6",
"autoUpgradeMinorVersion": true,
"settings": {
}
}
}
PowerShell
Set-AzVMExtension
-ResourceGroupName "myResourceGroup" `
-VMName "myVM" `
-Location "southcentralus" `
-Publisher "Microsoft.HpcCompute" `
-ExtensionName "NvidiaGpuDriverLinux" `
-ExtensionType "NvidiaGpuDriverLinux" `
-TypeHandlerVersion 1.6 `
-SettingString '{ `
}'
Azure CLI
Das folgende Beispiel spiegelt die obigen Beispiele für Resource Manager und PowerShell.
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name NvidiaGpuDriverLinux \
--publisher Microsoft.HpcCompute \
--version 1.6
Außerdem werden zwei optionale benutzerdefinierte Einstellungen als Beispiel für die Installation von Nicht-Standard-Treibern hinzugefügt. Insbesondere wird der Betriebssystemkernel auf die neueste Version aktualisiert und ein bestimmter CUDA-Toolkit-Versionstreiber installiert. Auch hier ist zu beachten, dass --settings
optional und Standard sind. Die Aktualisierung des Kernels kann die Installationszeiten für Erweiterungen verlängern. Außerdem ist die Auswahl einer bestimmten (älteren) CUDA-Toolkit-Version möglicherweise nicht immer mit neueren Kernels kompatibel.
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name NvidiaGpuDriverLinux \
--publisher Microsoft.HpcCompute \
--version 1.6 \
--settings '{ \
"updateOS": true, \
"driverVersion": "10.0.130" \
}'
Problembehandlung und Support
Problembehandlung
Sie können Daten zum Status von Erweiterungsbereitstellungen über das Azure-Portal und mithilfe von Azure PowerShell und Azure-Befehlszeilenschnittstelle abrufen. Führen Sie den folgenden Befehl aus, um den Bereitstellungsstatus von Erweiterungen für einen bestimmten virtuellen Computer anzuzeigen:
Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
Die Ausgabe der Erweiterungsausführung wird in der folgenden Datei protokolliert. In dieser Datei finden Sie Informationen zum Nachverfolgen des Status von Installationen mit langer Laufzeit sowie zur Problembehandlung.
/var/log/azure/nvidia-vmext-status
Exitcodes
Exitcode | Bedeutung | Mögliche Aktion |
---|---|---|
0 | Vorgang erfolgreich | |
1 | Falsche Verwendung der Erweiterung | Überprüfen Sie das Ausführungsausgabeprotokoll. |
10 | Linux Integration Services für Hyper-V und Azure nicht verfügbar oder nicht installiert | Überprüfen Sie die lspci-Ausgabe. |
11 | NVIDIA-GPU kann bei dieser VM-Größe nicht gefunden werden. | Verwenden Sie eine VM-Größe und ein Betriebssystem, die unterstützt werden. |
12 | Imageangebot nicht unterstützt | |
13 | VM-Größe nicht unterstützt | Verwenden Sie einen virtuellen Computer der N-Serie für die Bereitstellung. |
14 | Vorgang nicht erfolgreich | Überprüfen Sie das Ausführungsausgabeprotokoll. |
Bekannte Probleme
NvidiaGpuDriverLinux
kann derzeit die neuesten17.x
-GRID-Treiber aufgrund von Zertifikatproblemen nicht installieren. Verwenden Sie, während Azure an der Behebung dieses Problems arbeitet, den GRID-Treiber16.5
, indem Sie eine Runtimeeinstellung an die Erweiterung übergeben.
az vm extension set --resource-group <rg-name> --vm-name <vm-name> --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
"name": "NvidiaGpuDriverLinux",
"type": "extensions",
"apiVersion": "2015-06-15",
"location": "<location>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
],
"properties": {
"publisher": "Microsoft.HpcCompute",
"type": "NvidiaGpuDriverLinux",
"typeHandlerVersion": "1.11",
"autoUpgradeMinorVersion": true,
"settings": {
"driverVersion": "535.161"
}
}
}
- Die GRID-Treiberversion
17.x
ist nicht mit NVv3 (NVIDIA Tesla M60) kompatibel. GRID-Treiber bis zur Version16.5
werden unterstützt.NvidiaGpuDriverLinux
installiert die neuesten Treiber, die mit der NVv3-SKU nicht kompatibel sind. Verwenden Sie stattdessen die folgenden Runtimeeinstellungen, um die Installation einer älteren Treiberversion durch die Erweiterung zu erzwingen. Weitere Informationen zu Treiberversionen finden Sie unter NVIDIA-GPU-Ressourcen.
az vm extension set --resource-group <rg-name> --vm-name <vm-name> --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
"name": "NvidiaGpuDriverLinux",
"type": "extensions",
"apiVersion": "2015-06-15",
"location": "<location>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
],
"properties": {
"publisher": "Microsoft.HpcCompute",
"type": "NvidiaGpuDriverLinux",
"typeHandlerVersion": "1.11",
"autoUpgradeMinorVersion": true,
"settings": {
"driverVersion": "535.161"
}
}
}
Unterstützung
Wenn Sie beim Lesen dieses Artikels feststellen, dass Sie weitere Hilfe benötigen, stellen Sie Azure-Experten im MSDN Azure-Forum oder im Stack Overflow-ForumFragen. Alternativ dazu haben Sie die Möglichkeit, einen Azure-Supportfall zu erstellen. Navigieren Sie zum Azure-Support, und wählen Sie Support erhalten aus. Informationen zur Nutzung von Azure-Support finden Sie unter Häufig gestellte Fragen zum Azure-Support.
Nächste Schritte
- Weitere Informationen zu Erweiterungen finden Sie unter Erweiterungen und Features für virtuelle Computer für Linux.
- Weitere Informationen zu virtuellen Computern der N-Serie finden Sie unter Für GPU optimierte VM-Größen.