適用於 Linux 的 InfiniBand 驅動程式擴充功能
此擴充功能會在執行 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、22.04 LTS | 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 支援常見問題集。