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

この拡張機能では、Linux N シリーズ仮想マシン (VM) に NVIDIA GPU ドライバーをインストールします。 VM ファミリに応じて、この拡張機能では CUDA ドライバーまたは GRID ドライバーがインストールされます。 この拡張機能を使用して NVIDIA ドライバーをインストールする際は、NVIDIA のエンドユーザー使用許諾契約書の条項を受け入れ、同意します。 インストール プロセス中に、ドライバーのセットアップを完了するために仮想マシンが再起動することがあります。

ドライバーの手動インストールの手順と現在サポートされているバージョンに関する説明があります。 Windows N シリーズ VM に NVIDIA GPU ドライバーをインストールする拡張機能も利用できます。

この拡張機能は、Q3 CY2026 で v20.x ロールアウトが完了するまで v18.x を引き続き使用します。

セキュア ブートが有効になっていると、すべての OS ブート コンポーネント (ブート ローダー、カーネル、カーネル ドライバー) は、信頼された発行元によって署名されている必要があります。 セキュア ブートは、Windowsまたは Linux 拡張機能を使用してサポートされていません。 セキュア ブートを有効にして GPU ドライバーを手動でインストールする方法の詳細については、「Azure Linux 用の N シリーズ GPU ドライバーのセットアップを参照してください。

GPU ドライバーの拡張機能をインストールした後、ドライバーは拡張機能によって自動的に更新されません。 新しいバージョンのドライバーに移行する必要がある場合は、手動でドライバーをダウンロードしてインストールするか、拡張機能を削除して再度追加してください。

診断を高速化するために VM アシストを試してください。 Windows の場合は VM assist、LinuxVM assist を実行することをお勧めします>。 これらのスクリプト ベースの診断ツールは、Azure VM ゲスト エージェントと VM の全体的な正常性に影響する一般的な問題を特定するのに役立ちます。

仮想マシンでパフォーマンスの問題が発生している場合は、サポートに連絡する前に、これらのツールを実行してください。

前提条件

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

この拡張機能では、特定の OS バージョンのドライバー サポートに応じて、次の OS ディストリビューションをサポートしています。

ドライバー Linux: Ubuntu Linux: Red Hat Enterprise Linux
CUDA 20.04 LTS 7.9
グリッド 22.04 LTS
24.04 LTS
8.2

NC シリーズ VM でサポートされている最新の CUDA ドライバーは 470.82.01 です。 それ以降のバージョンのドライバーは、NC の K80 カードではサポートされていません。 拡張機能は NC 向けのこのサポート終了で更新されますが、NC シリーズの K80 カードに対して CUDA ドライバーを手動でインストールしてください。

重要

このドキュメントでは、サポート終了 (EOL) が近い、また既に終了した Linux のリリース バージョンを参照しています。 より新しいバージョンへの更新をご検討ください。

インターネット接続

NVIDIA GPU ドライバーの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": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

プロパティ

名前 値/例 データ型
apiVersion (英語) 2015-06-15 date
パブリッシャ Microsoft。HpcCompute 文字列
NvidiaGpuDriverLinux 文字列
タイプハンドラー バージョン 1.6 整数 (int)

設定

すべての設定は省略可能です。 既定の動作では、ドライバーのインストールに必要ない場合はカーネルを更新せず、サポートされている最新のドライバーと (必要に応じて) CUDA Toolkit をインストールします。

名前 説明 既定値 有効な値 データ型
OSを更新する ドライバーのインストールに必要ない場合でも、カーネルを更新します。 偽り true、false ブーリアン
driverVersion NV: GRID ドライバーのバージョン。
NC/ND: CUDA Toolkit のバージョン。 選択した CUDA の最新のドライバーが自動的にインストールされます。
latest サポートされているドライバー バージョンの List 文字列
installCUDA CUDA Toolkit をインストールします。 NC/ND シリーズの VM のみに関係します。 ほんとう true、false ブーリアン

デプロイ

Azure ポータル

AZURE ポータルAzure NVIDIA VM 拡張機能をデプロイできます。

  1. ブラウザーで、Azure ポータルに移動します。

  2. ドライバーをインストールする仮想マシンに移動します。

  3. 左側のメニューで [拡張機能] を選択します。

    Azure ポータル のメニューで拡張機能の選択を示すスクリーンショット。

  4. [追加] を選択します。

    選択した VM の VM 拡張機能を追加する場面のスクリーンショット。

  5. スクロールして [NVIDIA GPU Driver Extension](NVIDIA GPU ドライバー拡張機能) を見つけて選択し、 [次へ] を選択します。

    NVIDIA GPU ドライバー拡張機能を選択している場面のスクリーンショット。

  6. [確認および作成] を選択し、[作成] を選択します。 ドライバーがデプロイされるまで数分待ちます。

    [確認と作成] ボタンを選択する場面のスクリーンショット。

  7. インストール済み拡張機能の一覧にこの拡張機能が追加されたことを確認します。

    VM の拡張機能一覧の新しい拡張機能を示すスクリーンショット。

Azure Resource Manager テンプレート

Azure Resource Manager テンプレートを使用して、AZURE VM 拡張機能をデプロイできます。 テンプレートは、デプロイ後の構成が必要な仮想マシンを 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": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

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

Azure CLI

次の例は、上記のResource Managerと PowerShell の例を反映しています。

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

また、次の例では、既定以外のドライバーのインストールの例として、2 つのオプションのカスタム設定も追加します。 具体的には、OS カーネルを最新に更新し、特定の CUDA Toolkit バージョンのドライバーをインストールします。 ここでも、--settings は省略可能であり、既定値であることにご注意ください。 カーネルを更新すると、拡張機能のインストール時間が長くなる場合があります。 また、CUDA Toolkit の特定の (古い) バージョンを選択すると、新しいカーネルとの互換性がなくなる場合があります。

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

トラブルシューティングとサポート

トラブルシューティング

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

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

/var/log/azure/nvidia-vmext-status

終了コード

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

既知の問題

  1. GRID ドライバー 16.x と 17.x Azureカーネル 6.11 でインストールの問題が発生しています。 Nvidia は、この問題の解決に取り組んでいます。一方、次の手順に従って、Azure カーネルを 6.8 にダウングレードします。 カーネルを 6.8 にダウングレードした後、手動で、または拡張機能を使用してドライバーを再インストールしてみてください。
// Get the installed kernel. If kernel 6.11 is installed,  downgrade it to 6.8.
uname -a

// Install  kernel 6.8. Note that kernel  6.11  is not supported.
$ sudo apt install linux-image-6.8.0-1015-azure

// Get the list of installed kernels.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'

// Uninstall any 6.11 kernels.
sudo apt purge linux-headers-6.11.0-1013-azure  linux-image-6.11.0-1013-azure  linux-modules-6.11.0-1013-azure

// Run the following command to ensure only 6.8 images, headers, and modules are installed and no other versions are present.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'

// Results from the previous command:
linux-headers-6.8.0-1015-azure
linux-image-6.8.0-1015-azure
linux-modules-6.8.0-1015-azure

// Open the grub settings and modify the GRUB_DEFAULT="0" to GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure".
$ sudo vim /etc/default/grub 
 
// The grub file will look like the following:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure"
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
///////////////////

// Update GRUB and reboot.
$ sudo update-grub && sudo update-grub2
$ sudo reboot

// Reinstall the driver after reboot.
  1. NvidiaGpuDriverLinux 現在、A10 シリーズの CUDA に問題がある最新の 17.5 GRID ドライバーがインストールされています。 NVIDIA は、この問題の解決に取り組んでいます。一方、拡張機能にランタイム設定を渡すことで、GRID ドライバー 16.5 を使用します。
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}
  1. GRID ドライバー バージョン 17.x は、NVv3 (NVIDIA Tesla M60) とは互換性がありません。 バージョン 16.5 までの GRID ドライバーは、サポートされています。 NvidiaGpuDriverLinux により、NVv3 SKU に互換性のない最新のドライバーがインストールされます。 代わりに、次のランタイム設定を使用して、古いバージョンのドライバーを拡張機能により強制的にインストールします。 ドライバーのバージョンの詳細については、「NVIDIA GPU リソースを参照してください。
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}
  1. Grid 17.5 Linux ドライバーには、CUDA 関連のワークロードに影響するバグがあります。 通常、エラー署名には CUDA デバイスが使用できません。 Azureはこの問題の解決に取り組んでいますが、GRID ドライバー 16.5 を使用してワークロードの実行を続行します。

サポート

この記事の任意の時点でさらにヘルプが必要な場合は、MSDN Azure フォーラムと Stack Overflow フォーラムのAzureエキスパートにお問い合わせください。 または、Azure サポート インシデントを提出することもできます。 Azure サポート に移動し、Get サポートを選択します。 Azure サポートの使用方法については、Azure サポート FAQ を参照してください。

次のステップ