次の方法で共有


Linux 用の InfiniBand ドライバー拡張機能

注意

この記事では、間もなくサポート終了 (EOL) 状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

この拡張機能により、InfiniBand OFED ドライバーが、Linux を実行している InfiniBand と SR-IOV 対応 ('r' サイズ) の HB シリーズN シリーズの VM にインストールされます。 VM ファミリに応じて、Connect-X NIC に適したドライバーがインストールされます。 SR-IOV に対応していない HB シリーズN シリーズには、InfiniBand ND ドライバーがインストールされません。

OFED ドライバーの手動インストール手順については、HPC VM での InfiniBand の有効化に関する記事を参照してください。

Windows VM 用の InfiniBand ドライバーをインストールする拡張機能もあります。

前提条件

オペレーティング システム

この拡張機能では、特定の OS バージョンのドライバー サポートに応じて、次の OS ディストリビューションをサポートしています。 サポートされている OS とドライバーのバージョンの最新の一覧については、resources.json を参照してください。

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

Properties

名前 値/例 データ型
apiVersion 2015-06-15 date
publisher Microsoft.HpcCompute string
type InfiniBandDriverLinux string
typeHandlerVersion 1.2 INT

デプロイ

Azure Resource Manager テンプレート

Azure VM 拡張機能は、Azure Resource Manager テンプレートでデプロイできます。 テンプレートは、デプロイ後の構成が必要な仮想マシンを 1 つ以上デプロイするときに最適です。

仮想マシン拡張機能の 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 portal から取得することも、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

拡張機能の実行の出力は、次のファイルにログ記録されます。 インストールの状態を追跡する場合、および障害のトラブルシューティングを行うときは、このファイルを参照してください。

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

終了コード

次の表では、拡張機能のインストール プロセスの終了コードに基づいて、その意味と推奨アクションを記載します。

終了コード 意味 可能なアクション
0 操作に成功しました
1 拡張機能の使い方に誤りがあります 実行の出力ログを確認します
10 Hyper-V と Azure 用の Linux Integration Services が使用できないかインストールされていません lspci の出力を確認します
11 Mellanox InfiniBand は、この VM サイズでは見つかりません サポートされている VM サイズと OS を使用します
12 イメージの提供がサポートされていません
13 VM サイズがサポートされていません InfiniBand 対応 ('r' サイズ) の H シリーズN シリーズの VM を使用してデプロイします
14 操作が失敗しました 実行の出力ログを確認します

サポート

この記事についてさらにヘルプが必要な場合は、いつでも MSDN の Azure フォーラムと Stack Overflow フォーラムで Azure エキスパートに問い合わせることができます。 または、Azure サポート サイトからサポート インシデントを送信できます。 Azure サポートの使用方法の詳細については、「 Microsoft Azure サポートに関する FAQ」を参照してください。

次のステップ

InfiniBand 対応 ('r' サイズ) の詳細については、HB シリーズN シリーズの VM を参照してください。