NVIDIA-GPU-Treibererweiterung für LinuxNVIDIA GPU Driver Extension for Linux

ÜbersichtOverview

Diese Erweiterung installiert NVIDIA-GPU-Treiber auf Linux-VMs der N-Serie.This extension installs NVIDIA GPU drivers on Linux N-series VMs. Je nach VM-Familie installiert die Erweiterung CUDA- oder GRID-Treiber.Depending on the VM family, the extension installs CUDA or GRID drivers. Bei der Installation von NVIDIA Treibern mit dieser Erweiterung akzeptieren Sie die Bedingungen des NVIDIA-Endbenutzer-Lizenzvertrags und stimmen diesen zu.When you install NVIDIA drivers using this extension, you are accepting and agreeing to the terms of the NVIDIA End-User License Agreement. Während der Installation wird der virtuelle Computer möglicherweise neu gestartet, um die Treibereinrichtung abzuschließen.During the installation process, the VM may reboot to complete the driver setup.

Anweisungen zur manuellen Installation der Treiber und der aktuellen unterstützten Versionen sind hier verfügbar.Instructions on manual installation of the drivers and the current supported versions are available here. Es ist auch eine Erweiterung zum Installieren von NVIDIA-GPU-Treibern auf Windows-VMs der N-Serie verfügbar.An extension is also available to install NVIDIA GPU drivers on Windows N-series VMs.

VoraussetzungenPrerequisites

BetriebssystemOperating system

Diese Erweiterung unterstützt die folgenden Betriebssystem-Distributionen, abhängig von der Treiberunterstützung für bestimmte BS-Versionen.This extension supports the following OS distros, depending on driver support for specific OS version.

DistributionDistribution VersionVersion
Linux: UbuntuLinux: Ubuntu 16.04 LTS, 18.04 LTS16.04 LTS, 18.04 LTS
Linux: Red Hat Enterprise LinuxLinux: Red Hat Enterprise Linux 7.3, 7.4, 7.5, 7.6, 7.7, 7.87.3, 7.4, 7.5, 7.6, 7.7, 7.8
Linux: CentOSLinux: CentOS 7.3, 7.4, 7.5, 7.6, 7.7, 7.87.3, 7.4, 7.5, 7.6, 7.7, 7.8

InternetkonnektivitätInternet connectivity

Die Microsoft Azure-Erweiterung für NVIDIA-GPU-Treiber erfordert, dass der virtuelle Zielcomputer mit dem Internet verbunden ist und Zugriff hat.The Microsoft Azure Extension for NVIDIA GPU Drivers requires that the target VM is connected to the internet and have access.

ErweiterungsschemaExtension schema

Der folgende JSON-Code zeigt das Schema für die Erweiterung.The following JSON shows the schema for the extension.

{
  "name": "<myExtensionName>",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.3",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

EigenschaftenProperties

NameName Wert/BeispielValue / Example DatentypData Type
apiVersionapiVersion 2015-06-152015-06-15 datedate
publisherpublisher Microsoft.HpcComputeMicrosoft.HpcCompute Zeichenfolgestring
typetype NvidiaGpuDriverLinuxNvidiaGpuDriverLinux Zeichenfolgestring
typeHandlerVersiontypeHandlerVersion 1.31.3 INTint

EinstellungenSettings

Alle Einstellungen sind optional.All settings are optional. Das Standardverhalten ist, den Kernel nicht zu aktualisieren, wenn dies für die Treiberinstallation nicht erforderlich ist, den neuesten unterstützten Treiber und das CUDA-Toolkit (falls zutreffend) zu installieren.The default behavior is to not update the kernel if not required for driver installation, install the latest supported driver and the CUDA toolkit (as applicable).

NameName BESCHREIBUNGDescription StandardwertDefault Value Gültige WerteValid Values DatentypData Type
updateOSupdateOS Aktualisieren des Kernel, auch wenn nicht für die Treiberinstallation erforderlich istUpdate the kernel even if not required for driver installation falsefalse true, falsetrue, false booleanboolean
driverVersiondriverVersion NV: GRID-TreiberversionNV: GRID driver version
NC/ND: CUDA-Toolkitversion.NC/ND: CUDA toolkit version. Die neuesten Treiber für den ausgewählten CUDA werden automatisch installiert.The latest drivers for the chosen CUDA are installed automatically.
latestlatest Liste der unterstützten TreiberversionenList of supported driver versions Zeichenfolgestring
installCUDAinstallCUDA UDA-Toolkit installieren.Install CUDA toolkit. Nur relevant für virtuelle Computer der NC-/ND-Serie.Only relevant for NC/ND series VMs. truetrue true, falsetrue, false booleanboolean

BereitstellungDeployment

Azure Resource Manager-VorlageAzure Resource Manager Template

Azure-VM-Erweiterungen können mithilfe von Azure Resource Manager-Vorlagen bereitgestellt werden.Azure VM extensions can be deployed with Azure Resource Manager templates. Vorlagen sind ideal, wenn Sie virtuelle Computer bereitstellen, die nach der Bereitstellung konfiguriert werden müssen.Templates are ideal when deploying one or more virtual machines that require post deployment configuration.

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.The JSON configuration for a virtual machine extension can be nested inside the virtual machine resource, or placed at the root or top level of a Resource Manager JSON template. Die Platzierung der JSON-Konfiguration wirkt sich auf den Wert von Name und Typ der Ressource aus.The placement of the JSON configuration affects the value of the resource name and type. Weitere Informationen finden Sie unter Set name and type for child resources (Festlegen von Name und Typ für untergeordnete Ressourcen).For more information, see Set name and type for child resources.

Im folgenden Beispiel wird davon ausgegangen, dass die Erweiterung in der VM-Ressource geschachtelt ist.The following example assumes the extension is nested inside the virtual machine resource. Beim Schachteln der Ressource für die Erweiterung wird der JSON-Code im "resources": []-Objekt des virtuellen Computers platziert.When nesting the extension resource, the JSON is placed in the "resources": [] object of the virtual machine.

{
  "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.3",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShellPowerShell

Set-AzVMExtension
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Location "southcentralus" `
    -Publisher "Microsoft.HpcCompute" `
    -ExtensionName "NvidiaGpuDriverLinux" `
    -ExtensionType "NvidiaGpuDriverLinux" `
    -TypeHandlerVersion 1.3 `
    -SettingString '{ `
    }'

Azure CLIAzure CLI

Im folgenden Beispiel wird das obige Beispiel für Azure Resource Manager und PowerShell gespiegelt.The following example mirrors the above Azure Resource Manager and PowerShell examples.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.3 

Außerdem werden zwei optionale benutzerdefinierte Einstellungen als Beispiel für die Installation von Nicht-Standard-Treibern hinzugefügt.The following example also adds two optional custom settings as an example for non-default driver installation. Insbesondere wird der Betriebssystemkernel auf die neueste Version aktualisiert und ein bestimmter CUDA-Toolkit-Versionstreiber installiert.Specifically, it updates the OS kernel to the latest and installs a specific CUDA toolkit version driver. Auch hier ist zu beachten, dass „--settings“ optional und Standard ist.Again, note the '--settings' are optional and default. Beachten Sie, dass die Aktualisierung des Kernels die Installationszeiten für Erweiterungen verlängern kann.Note that updating the kernel may increase the extension installation times. Außerdem ist die Auswahl einer bestimmten (älteren) CUDA-Toolkit-Version möglicherweise nicht immer mit neueren Kernels kompatibel.Also choosing a specific (older) CUDA tolkit version may not always be compatible with newer kernels.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.3 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

Problembehandlung und SupportTroubleshoot and support

ProblembehandlungTroubleshoot

Daten zum Status von Erweiterungsbereitstellungen können über das Azure-Portal und mithilfe von Azure PowerShell und der Azure-Befehlszeilenschnittstelle abgerufen werden.Data about the state of extension deployments can be retrieved from the Azure portal, and by using Azure PowerShell and Azure CLI. Führen Sie den folgenden Befehl aus, um den Bereitstellungsstatus von Erweiterungen für einen bestimmten virtuellen Computer anzuzeigen.To see the deployment state of extensions for a given VM, run the following command.

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.Extension execution output is logged to the following file. In dieser Datei finden Sie Informationen zum Nachverfolgen des Status von Installationen (mit langer Laufzeit) sowie zur Problembehandlung.Refer to this file to track the status of (any long running) installation as well as for troubleshooting any failures.

/var/log/azure/nvidia-vmext-status

ExitcodesExit codes

ExitcodeExit Code BedeutungMeaning Mögliche AktionPossible Action
00 Vorgang erfolgreichOperation successful
11 Falsche Verwendung der ErweiterungIncorrect usage of extension Protokoll zur Ausführungsausgabe überprüfenCheck execution output log
1010 Linux Integration Services für Hyper-V und Azure nicht verfügbar oder nicht installiertLinux Integration Services for Hyper-V and Azure not available or installed Ispci-Ausgabe überprüfenCheck output of lspci
1111 NVIDIA-GPU kann bei dieser VM-Größe nicht gefunden werden.NVIDIA GPU not found on this VM size Verwenden Sie eine VM-Größe und ein Betriebssystem, die unterstützt werden.Use a supported VM size and OS
1212 Imageangebot nicht unterstütztImage offer not supported
1313 VM-Größe nicht unterstütztVM size not supported Verwenden eines virtuellen Computers der N-Serie für die BereitstellungUse an N-series VM to deploy
1414 Vorgang nicht erfolgreichOperation unsuccessful Protokoll zur Ausführungsausgabe überprüfenCheck execution output log

SupportSupport

Sollten Sie beim Lesen dieses Artikels feststellen, dass Sie weitere Hilfe benötigen, können Sie sich über das MSDN Azure-Forum oder über das Stack Overflow-Forum mit Azure-Experten in Verbindung setzen.If you need more help at any point in this article, you can contact the Azure experts on the MSDN Azure and Stack Overflow forums. Alternativ dazu haben Sie die Möglichkeit, einen Azure-Supportfall zu erstellen.Alternatively, you can file an Azure support incident. Rufen Sie die Azure-Support-Website auf, und wählen Sie „Support erhalten“ aus.Go to the Azure support site and select Get support. Informationen zur Nutzung von Azure-Support finden Sie unter Microsoft Azure-Support-FAQ.For information about using Azure Support, read the Microsoft Azure support FAQ.

Nächste SchritteNext steps

Weitere Informationen zu Erweiterungen finden Sie unter Erweiterungen und Features für virtuelle Computer für Linux.For more information about extensions, see Virtual machine extensions and features for Linux.

Weitere Informationen zu virtuellen Computern der N-Serie finden Sie unter Für GPU optimierte VM-Größen.For more information about N-series VMs, see GPU optimized virtual machine sizes.