Share via


InfiniBand-Treibererweiterung für Linux

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem End-of-Life-Status (EOL) nähert. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS End-of-Life-Leitfaden.

Diese Erweiterung installiert InfiniBand-OFED-Treiber auf VMs der HB-Serie und N-Serie, auf denen InfiniBand und SR-IOV (r-Größen) aktiviert ist und Linux ausgeführt wird. Je nach VM-Familie installiert die Erweiterung die entsprechenden Treiber für die Connect-X-NIC. Die InfiniBand ND-Treiber auf VMs der HB-Serie und N-Serie, auf denen SR-IOV nicht aktiviert ist, werden nicht installiert.

Anweisungen zur manuellen Installation der OFED-Treiber finden Sie unter Manuelle Installation.

Außerdem ist eine Erweiterung zur Installation der InfiniBand-Treiber für Windows-VMs verfügbar.

Voraussetzungen

Betriebssystem

Diese Erweiterung unterstützt die folgenden Betriebssystem-Distributionen, abhängig von der Treiberunterstützung für bestimmte BS-Versionen. Die aktuelle Liste der unterstützten Betriebssysteme und Treiberversionen finden Sie unter resources.json.

Distribution Version InfiniBand-NIC-Treiber
Ubuntu 18.04-LTS, 20.04-LTS CX3-Pro, CX5, CX6
CentOS 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.1, 8,2 CX3-Pro, CX5, CX6
Red Hat Enterprise Linux 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.1, 8,2 CX3-Pro, CX5, CX6

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 InfiniBand-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": "InfiniBandDriverLinux",
    "typeHandlerVersion": "1.2",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

Eigenschaften

Name Wert/Beispiel Datentyp
apiVersion 2015-06-15 date
publisher Microsoft.HpcCompute Zeichenfolge
type InfiniBandDriverLinux Zeichenfolge
typeHandlerVersion 1.2 INT

Bereitstellung

Azure Resource Manager-Vorlage

Azure-VM-Erweiterungen können mithilfe von Azure Resource Manager-Vorlagen bereitgestellt werden. Vorlagen sind ideal, wenn Sie 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. Beim Schachteln der Ressource für die Erweiterung 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": "InfiniBandDriverLinux",
    "typeHandlerVersion": "1.2",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

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

Azure-Befehlszeilenschnittstelle

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

Hinzufügen einer Erweiterung zu einer VM-Skalierungsgruppe

Durch folgenden Befehl wird die neueste Version (1.2) der Erweiterung „InfiniBandDriverLinux“ auf allen RDMA-fähigen VMs in einer vorhandenen VM-Skalierungsgruppe mit dem Namen myVMSS installiert, die in der Ressourcengruppe mit dem Namen myResourceGroup bereitgestellt wurde:

$VMSS = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myVMSS"
Add-AzVmssExtension -VirtualMachineScaleSet $VMSS -Name "InfiniBandDriverLinux" -Publisher "Microsoft.HpcCompute" -Type "InfiniBandDriverLinux" -TypeHandlerVersion "1.2"
Update-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "MyVMSS" -VirtualMachineScaleSet $VMSS
Update-AzVmssInstance -ResourceGroupName "myResourceGroup" -VMScaleSetName "myVMSS" -InstanceId "*"

Problembehandlung und Support

Problembehandlung

Daten zum Status von Erweiterungsbereitstellungen können über das Azure-Portal und mithilfe von Azure PowerShell und der Azure-Befehlszeilenschnittstelle abgerufen werden. 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 sowie zur Problembehandlung.

/var/log/azure/ib-vmext-status

Exitcodes

Die folgende Tabelle beschreibt die Bedeutung und empfohlene Aktionen basierend auf Exitcodes des Installationsprozesses für die Erweiterung.

Exitcode Bedeutung Mögliche Aktion
0 Vorgang erfolgreich
1 Falsche Verwendung der Erweiterung Protokoll zur Ausführungsausgabe überprüfen
10 Linux Integration Services für Hyper-V und Azure nicht verfügbar oder nicht installiert Ispci-Ausgabe überprüfen
11 Mellanox InfiniBand not found on this VM size (Mellanox InfiniBand konnte auf 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 Use an InfiniBand-enabled ('r' size) H-series and N-seriesN-series VM to deploy (Verwenden Sie für die Bereitstellung eine VM der „H-Serie“ und „N-Serie“ mit InfiniBand-Aktivierung (r-Größe)).
14 Vorgang nicht erfolgreich Protokoll zur Ausführungsausgabe überprüfen

Support

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. Alternativ können Sie auf der Website des Azure-Supports einen Supportfall erstellen. Informationen zur Nutzung von Azure-Support finden Sie unter Microsoft Azure-Support-FAQ.

Nächste Schritte

Weitere Informationen zu VMs mit InfiniBand-Aktivierung (r-Größen) finden Sie unter HB-Serie und N-Serie.