你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Windows 的 InfiniBand 驱动程序扩展

此扩展安装 InfiniBand ND 驱动程序(启用非 SR-IOV)和 OFED 驱动程序(启用 SR-IOV)(“r”大小)运行 Windows 的 H 系列N 系列 VM。 根据 VM 系列,扩展为 Connect-X NIC 安装适当的驱动程序。

扩展也适用于为 Linux VM 安装 InfiniBand 驱动程序。

先决条件

操作系统

此扩展支持以下 OS 发行版,具体取决于特定 OS 版本对驱动程序的支持。 请注意适用于相关的 H 和 N 系列 VM 大小的相应 InfiniBand NIC。

分发 InfiniBand NIC 驱动程序
Windows 10 CX5、CX6
Windows Server 2019 CX5、CX6
Windows Server 2016 CX5、CX6
Windows Server 2012 R2 CX5、CX6

有关支持的操作系统和驱动程序版本的最新列表,请参阅 resources.json

Internet 连接

适用于 InfiniBand 驱动程序的 Microsoft Azure 扩展要求目标 VM 连接到 Internet 并可访问 Internet。

扩展架构

以下 JSON 显示此扩展的架构。

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

属性

名称 值/示例 数据类型
apiVersion 2015-06-15 date
publisher Microsoft.HpcCompute string
type InfiniBandDriverWindows 字符串
typeHandlerVersion 1.5 int

部署

Azure Resource Manager 模板

可使用 Azure Resource Manager 模板部署 Azure VM 扩展。 部署需要部署后配置的一个或多个虚拟机时,模板是理想选择。

虚拟机扩展的 JSON 配置可以嵌套在虚拟机资源内,或放置在资源管理器 JSON 模板的根级别或顶级别。 JSON 的位置会影响资源名称和类型的值。 有关详细信息,请参阅设置子资源的名称和类型

以下示例假定扩展嵌套在虚拟机资源内。 嵌套扩展资源时,JSON 放置在虚拟机的 "resources": [] 对象中。

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

PowerShell

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

Azure CLI

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

将扩展添加到虚拟机规模集

以下示例在名为 myResourceGroup 的资源组中部署的名为 myVMSS 的现有虚拟机规模集中的所有支持 RDMA VM 上安装最新版本 1.5 InfiniBandDriverWindows 扩展:

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

故障排除和支持

疑难解答

有关扩展部署状态的数据可以从 Azure 门户以及使用 Azure PowerShell 和 Azure CLI 进行检索。 若要查看给定 VM 的扩展部署状态,请运行以下命令。

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

扩展执行输出将记录到以下文件。 请参考此文件以跟踪安装的状态以及对任何故障进行排查。

C:\WindowsAzure\Logs\Plugins\Microsoft.HpcCompute.InfiniBandDriverWindows\

退出代码

下表根据扩展安装进程的退出代码描述有意义和建议的操作。

错误代码 含义 可能的操作
0 操作成功
3010 操作成功。 需要重新启动。
100 操作不受支持或无法完成。 可能的原因:不支持 PowerShell 版本、VM 大小不是启用 InfiniBand 的 VM、下载数据失败。 请检查日志文件,以确定错误原因。
240, 840 操作超时。 请重试操作。
-1 发生异常。 请检查日志文件,以确定异常原因。

支持

如果对本文中的任何内容需要更多帮助,可以联系 MSDN Azure 和 Stack Overflow 论坛上的 Azure 专家。 或者,可以通过 Azure 支持站点提交支持事件。 有关使用 Azure 支持的信息,请阅读 Microsoft Azure 支持常见问题解答

后续步骤

有关启用 InfiniBand(“r”大小)的详细信息,请参阅 H 系列N 系列 VM。