適用於 Linux 的 InfiniBand 驅動程式擴充功能

警告

本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

此擴充功能會在執行 Linux 且支援 InfiniBand 和 SR-IOV (「r」規格) 的 HB 系列N 系列 VM 上安裝 InfiniBand OFED 驅動程式。 視 VM 系列而定,此擴充功能會為 Connect-X NIC 安裝適當的驅動程式, 但不會在不支援 SR-IOV 的 HB 系列N 系列 VM 上安裝 InfiniBand ND 驅動程式。

如需手動安裝 OFED 驅動程式的指示,請參閱在 HPC VM 上啟用 InfiniBand

擴充功能也可用來安裝適用於 Windows VM 的 InfiniBand 驅動程式。

必要條件

作業系統

此擴充功能支援下列 OS 發行版,視特定 OS 版本的驅動程式支援而定。 如需支援的作業系統和驅動程式版本的最新清單,請參閱 resources.json

Distribution 版本 InfiniBand NIC 驅動程式
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

重要

本文件參考即將或已處於生命週期結束 (EOL) 狀態的 Linux 版本。 請考慮更新為較新的版本。

網際網路連線能力

適用於 InfiniBand 驅動程式的 Microsoft Azure 擴充功能會要求目標 VM 連線到網際網路並擁有存取權。

擴充功能結構描述

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

屬性

名稱 值 / 範例 資料類型
apiVersion 2015-06-15 date
publisher Microsoft.HpcCompute string
type InfiniBandDriverLinux string
typeHandlerVersion 1.2 int

部署

Azure Resource Manager 範本

也可以使用 Azure Resource Manager 範本部署 Azure VM 擴充功能。 部署一或多部需要部署後設定的虛擬機器時,很適合使用範本。

虛擬機器擴充功能的 JSON 設定可以巢狀方式置於虛擬機器資源內部,或放在 Resource Manager 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": "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

將擴充功能新增至虛擬機器擴展集

下列範例會在名為 myResourceGroup 的資源群組中部署的名為 myVMSS 的現有虛擬機器擴展集中的所有 RDMA 功能型 VM 上,安裝最新版本 1.2 InfiniBandDriverLinux 擴充功能:

$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 PowerShell 和 Azure CLI,就可以從 Azure 入口網站擷取有關擴充功能部署狀態的資料。 若要查看指定 VM 的擴充功能部署狀態,請執行下列命令。

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 適用於 Hyper-V 和 Azure 的 Linux Integration Services 無法使用或未安裝 檢查 lspci 輸出
11 此 VM 大小上找不到 Mellanox InfiniBand 使用支援的 VM 大小和 OS
12 不支援的映像供應項目
13 不支援的 VM 大小 使用已啟用 InfiniBand 的 (「r」規格) H 系列N 系列 VM 來部署
14 作業失敗 檢查執行輸出記錄

支援

如果您在本文中有任何需要協助的地方,您可以連絡 MSDN Azure 和 Stack Overflow 論壇上的 Azure 專家。 或者,您可以透過 Azure 支援網站提出支援事件。 如需使用 Azure 支援的資訊,請參閱 Microsoft Azure 支援常見問題集

下一步

如需已啟用 InfiniBand (「r」規格) 的詳細資訊,請參閱 HB 系列N 系列 VM。