Расширение драйвера InfiniBand для Linux

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

Это расширение устанавливает драйверы InfiniBand OFED на виртуальных машинах с поддержкой InfiniBand и SR-IOV (r) серии HB и виртуальных машинах серии N под управлением Linux. В зависимости от семейства виртуальных машин расширение устанавливает соответствующие драйверы для сетевого адаптера Connect-X. Он не устанавливает драйверы ND InfiniBand на виртуальных машинах серии HB и N серии HB, не включенных SR-IOV.

Инструкции по установке драйверов вручную приводятся в этом разделе.

Расширение также доступно для установки драйверов InfiniBand для виртуальных машин Windows.

Необходимые компоненты

Операционная система

Это расширение поддерживает указанные ниже дистрибутивы, в зависимости от поддержки драйвера в конкретной версии ОС. Актуальный список поддерживаемых версий ОС и драйверов см. в разделе resources.json

Распределение Версия Драйверы сетевого адаптера 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

Внимание

Этот документ ссылается на версию выпуска Linux, которая приближается или находится в конце жизни (EOL). Пожалуйста, рассмотрите возможность обновления до более текущей версии.

Подключение к Интернету

Для работы расширения Microsoft Azure для драйверов InfiniBand требуется, чтобы целевая виртуальная машина была подключена к Интернету.

Схема расширения

В следующем коде JSON показана схема расширения.

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

Свойства

Имя. Значение и пример Тип данных
версия_API 15.06.2015 Дата
издатель Microsoft.HpcCompute строка
type InfiniBandDriverLinux строка
typeHandlerVersion 1.2 INT

Развертывание

Шаблон Azure Resource Manager

Расширения виртуальной машины Azure можно развернуть с помощью шаблонов Azure Resource Manager. Шаблоны идеально подходят для развертывания одной или нескольких виртуальных машин, требующих настройки после развертывания.

Конфигурацию JSON для расширения виртуальной машины можно вложить в ресурс виртуальной машины или поместить в корень или на верхний уровень JSON-файла шаблона Resource Manager. Размещение конфигурации JSON влияет на значения имени и типа ресурса. Дополнительные сведения см. в разделе Указание имени и типа дочернего ресурса в шаблоне Resource Manager.

В следующем примере предполагается, что расширение виртуальной машины расположено в ресурсе виртуальной машины. При вложении ресурса расширения JSON помещается в объект "resources": [] виртуальной машины.

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

Добавление расширения в масштабируемый набор виртуальных машин

В следующем примере показана установка расширения InfiniBandDriverLinux последней версии 1.2 на всех виртуальных машинах с поддержкой RDMA в существующем масштабируемом наборе виртуальных машин с именем myVMSS, развернутом в группе ресурсов 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 "*"

Устранение неполадок и поддержка

Устранение неполадок

Сведения о состоянии развертывания расширения можно получить на портале Azure, а также с помощью Azure PowerShell или Azure CLI. Чтобы просмотреть состояние развертывания расширений для определенной виртуальной машины, выполните следующую команду.

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

Выходные данные выполнения расширения регистрируются в следующем файле. Сведения о статусе установки, а также о диагностике и устранении любых сбоев см. в этом файле.

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

Коды выхода

В следующей таблице приведено описание и рекомендуемые действия в зависимости от кодов выхода процесса установки расширения.

Код завершения Значение Возможное действие
0 Операция выполнена успешно
1 Неправильное использование расширения Проверьте выходные данные журнала выполнения
10 Службы Integration Services в Linux для Hyper-V и Azure недоступны или не установлены Проверьте выходные данные lspci
11 Не найден Mellanox InfiniBand для виртуальной машины этого размера Используйте поддерживаемые размер виртуальной машины и ОС
12 Предложение образа не поддерживается
13 Размер виртуальной машины не поддерживается Используйте виртуальную машину (размер r) серии H иN для развертывания
14 Не удалось выполнить операцию. Проверьте выходные данные журнала выполнения

Поддержка

Если в любой момент при изучении этой статьи вам потребуется дополнительная помощь, вы можете обратиться к экспертам по Azure на форумах MSDN Azure и Stack Overflow. Кроме того, можно зарегистрировать обращение в службу поддержки на сайте поддержки Azure. Дополнительные сведения об использовании службы поддержки Azure см. в статье Часто задаваемые вопросы о поддержке Microsoft Azure.

Следующие шаги

Дополнительные сведения о размерах InfiniBand (r) см. в статьях HB-серии и виртуальных машин серии N.