Estensione del driver InfiniBand per Linux

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux prossima allo stato EOL (End of Life, fine del ciclo di vita). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Questa estensione installa i driver InfiniBand OFED in InfiniBand e nelle macchine virtuali serie HB e serie N che eseguono Linux con supporto per SR-IOV ('r'sizes). A seconda della famiglia di macchine virtuali, l'estensione installa i driver appropriati per la scheda di interfaccia di rete Connessione-X. Non installa i driver InfiniBand ND nelle macchine virtuali serie HB e serie N non abilitate per SR-IOV.

Le istruzioni sull'installazione manuale dei driver OFED sono disponibili in Abilitare InfiniBand nelle macchine virtuali HPC.

È disponibile anche un'estensione per installare i driver InfiniBand per le macchine virtuali Windows.

Prerequisiti

Sistema operativo

Questa estensione supporta le distribuzioni dei sistemi operativi seguenti, in base al supporto dei driver per la versione del sistema operativo specifica. Per l'elenco più recente delle versioni del sistema operativo e dei driver supportate, vedere resources.json

Distribuzione Versione Driver della scheda di interfaccia di rete InfiniBand
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

Importante

Questo documento fa riferimento a una versione di Linux vicina o alla fine della vita (EOL). Prendere in considerazione l'aggiornamento a una versione più recente.

Connettività Internet

L'estensione Microsoft Azure per i driver InfiniBand richiede che la macchina virtuale di destinazione sia connessa a e abbia accesso a Internet.

Schema dell'estensione

Il codice JSON riportato di seguito mostra lo schema dell'estensione.

{
  "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": {
    }
  }
}

Proprietà

Nome Valore/Esempio Tipo di dati
apiVersion 2015-06-15 data
publisher Microsoft.HpcCompute string
type InfiniBandDriverLinux string
typeHandlerVersion 1.2 int

Distribuzione

Modello di Azure Resource Manager

Le estensioni macchina virtuale di Azure possono essere distribuite con i modelli di Azure Resource Manager. I modelli rappresentano la scelta migliore quando si distribuiscono una o più macchine virtuali per cui è necessaria una configurazione post-distribuzione.

La configurazione JSON per un'estensione macchina virtuale può essere annidata nella risorsa della macchina virtuale o posizionata nel livello radice o nel livello superiore di un modello JSON di Gestione risorse. Il posizionamento della configurazione JSON influisce sul valore del nome e del tipo di risorsa. Per altre informazioni, vedere Set name and type for child resources (Impostare il nome e il tipo per le risorse figlio).

L'esempio seguente presuppone che l'estensione sia annidata all'interno della risorsa della macchina virtuale. Quando la risorsa di estensione viene nidificata, JSON viene inserito nell'oggetto "resources": [] della macchina virtuale.

{
  "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 '{ `
	}'

Interfaccia della riga di comando di Azure

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

Aggiungere un'estensione a un set di scalabilità di macchine virtuali

L'esempio seguente installa l'estensione InfiniBandDriverLinux più recente versione 1.2 in tutte le macchine virtuali con supporto per RDMA in un set di scalabilità di macchine virtuali esistente denominato myVMSS distribuito nel gruppo di risorse denominato myResourceGroup:

$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 "*"

Risoluzione dei problemi e supporto

Risoluzione dei problemi

I dati sullo stato delle distribuzioni dell'estensione possono essere recuperati nel portale di Azure e tramite il modulo Azure PowerShell e l'interfaccia della riga di comando di Azure. Per visualizzare lo stato di distribuzione delle estensioni per una determinata macchina virtuale, eseguire il comando seguente.

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

L'output dell'esecuzione dell'estensione viene registrato nel file seguente. Fare riferimento a questo file per tenere traccia dello stato dell'installazione e per la risoluzione di eventuali errori.

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

Codici di uscita

La tabella seguente descrive il significato e l'azione consigliata in base ai codici di uscita del processo di installazione dell'estensione.

Codice di chiusura Significato Azione possibile
0 Operazione riuscita
1 Uso non corretto dell'estensione Controllare il log di output dell'esecuzione
10 Linux Integration Services per Hyper-V e Azure non disponibile o installato Controllare l'output di lspci
11 Mellanox InfiniBand non trovato in questa dimensione della macchina virtuale Usare una dimensione e un sistema operativo della macchina virtuale supportati
12 Offerta di immagine non supportata
13 Dimensioni della macchina virtuale non supportate Usare una macchina virtuale serie N abilitata per InfiniBand ('r' size) e serieN per la distribuzione
14 Operazione conclusa Controllare il log di output dell'esecuzione

Supporto tecnico

Per ricevere assistenza in relazione a qualsiasi punto di questo articolo, contattare gli esperti di Azure nei forum MSDN e Stack Overflow relativi ad Azure. In alternativa, è possibile inviare un evento imprevisto di supporto tramite il sito di supporto tecnico di Azure. Per informazioni sull'uso del supporto di Azure, leggere le Domande frequenti sul supporto di Azure.

Passaggi successivi

Per altre informazioni sulle dimensioni abilitate per InfiniBand ('r'), vedere MACCHINE virtuali serie HB e serie N.