Share via


Extensión del controlador InfiniBand para Linux

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para más información, consulte la Guía de fin de ciclo de vida de CentOS.

Esta extensión instala los controladores InfiniBand OFED en máquinas virtuales de las series HB y N habilitadas para InfiniBand y SR-IOV (tamaños "r") que ejecutan Linux. En función de la familia de máquinas virtuales, la extensión instala los controladores adecuados para la NIC de Connect-X. No instala los controladores InfiniBand ND en las máquinas virtuales de la serie HB y la serie N no habilitadas para SR-IOV.

Las instrucciones sobre la instalación manual de los controladores OFED están disponibles en Habilitación de InfiniBand en VM de HPC.

También hay una extensión para instalar los controladores InfiniBand para máquinas virtuales Windows.

Prerrequisitos

Sistema operativo

Esta extensión admite las siguientes distribuciones del sistema operativo, dependiendo de la compatibilidad de controladores para la versión específica del sistema operativo. Para obtener la lista más reciente de versiones admitidas del sistema operativo y el controlador, consulte resources.json.

Distribución Versión Controladores NIC de 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

En este documento, se hace referencia a una versión de lanzamiento de Linux cercana o al final del ciclo de vida (EOL). Considere la posibilidad de actualizar a una versión más actual.

Conectividad de Internet

La extensión de Microsoft Azure para los controladores de InfiniBand requiere que la máquina virtual de destino esté conectada a Internet y tenga acceso.

Esquema de extensión

En el siguiente JSON, se muestra el esquema para la extensión.

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

Propiedades

Nombre Valor / ejemplo Tipo de datos
apiVersion 2015-06-15 date
publisher Microsoft.HpcCompute string
type InfiniBandDriverLinux string
typeHandlerVersion 1.2 int

Implementación

Plantilla de Azure Resource Manager

Las extensiones de VM de Azure pueden implementarse con plantillas de Azure Resource Manager. Las plantillas resultan ideales al implementar una o varias máquinas virtuales que requieren configurarse tras la implementación.

La configuración JSON de una extensión de máquina virtual puede estar anidada en el recurso de máquina virtual o colocada en la raíz o nivel superior de una plantilla JSON de Resource Manager. La colocación de la configuración JSON afecta al valor del nombre y tipo del recurso. Para obtener más información, consulte el artículo sobre cómo establecer el nombre y el tipo de recursos secundarios.

En el siguiente ejemplo se da por supuesto que la extensión está anidada dentro del recurso de máquina virtual. Cuando se anidan los recursos de extensión, la plantilla JSON se coloca en el objeto "resources": [] de la máquina virtual.

{
  "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 CLI

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

Incorporación de la extensión a un conjunto de escalado de máquinas virtuales

En el ejemplo siguiente se instala la versión más reciente de la extensión InfiniBandDriverLinux, la versión 1.2, en todas las máquinas virtuales compatibles con RDMA de un conjunto de escalado de máquinas virtuales existente denominado myVMSS implementado en el grupo de recursos denominado 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 "*"

Solución de problemas y asistencia

Solución de problemas

Los datos sobre el estado de las implementaciones de extensiones pueden recuperarse desde Azure Portal y mediante Azure PowerShell y la CLI de Azure. Para ver el estado de implementación de las extensiones de una VM determinada, ejecute el comando siguiente.

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

La salida de la ejecución de las extensiones se registra en el archivo siguiente: Consulte este archivo para realizar un seguimiento del estado de la instalación, así como para solucionar los errores.

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

Códigos de salida

En la tabla siguiente se describe el significado y la acción recomendada en función de los códigos de salida del proceso de instalación de la extensión.

Código de salida Significado Acción posible
0 Operación correcta
1 Uso incorrecto de la extensión. Compruebe el registro de salida de ejecución
10 Linux Integration Services para Hyper-V y Azure no están disponibles o no están instalados Comprobación de la salida de lspci
11 Mellanox InfiniBand no se encuentra en este tamaño de máquina virtual Use un tamaño de VM y SO admitido
12 Oferta de imagen no compatible
13 Tamaño de máquina virtual no compatible Use una máquina virtual de las series H y N habilitada para InfiniBand (tamaño "r") para implementar
14 La operación no se realizó correctamente Compruebe el registro de salida de ejecución

Soporte técnico

Si necesita más ayuda con cualquier aspecto de este artículo, puede ponerse en contacto con los expertos de Azure en los foros de MSDN Azure o Stack Overflow. De manera alternativa, puede notificar una incidencia de soporte técnico en el sitio de Soporte técnico de Azure. Para obtener información sobre el uso del soporte técnico, lea las Preguntas más frecuentes de soporte técnico de Microsoft Azure.

Pasos siguientes

Para más información sobre las máquinas virtuales habilitadas para InfiniBand (tamaños "r"), consulte las máquinas virtuales de las series HB y N.