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

這個擴充功能可在 Linux N 系列虛擬機器 (VM) 上安裝 NVIDIA GPU 驅動程式。 視虛擬機器系列而定,擴充功能會安裝 CUDA 或 GRID 驅動程式。 若您使用此延伸模組安裝 NVIDIA 驅動程式,即表示您接受並同意 NVIDIA End-User License Agreement (NVIDIA 使用者授權合約) 的條款。 在安裝過程中,VM 可能會重新開機以便完成驅動程式設定。

有關手動安裝驅動程式的指示和目前支援的版本皆有提供。 也有擴充功能可安裝 NVIDIA GPU 驅動程式於 Windows N 系列虛擬機。

附註

此擴充將持續使用 v18.x,直到我們在 2026 年第三季完成 v20.x 的推出。

附註

啟用安全開機後,所有 OS 開機元件 (開機載入器、核心、核心驅動程式) 都必須由受信任的發行者簽署 (由系統信任的金鑰)。 使用 Windows 或 Linux 擴充功能時不支援安全開機。 欲了解更多關於啟用安全開機手動安裝 GPU 驅動程式的資訊,請參見 Azure N 系列 Linux GPU 驅動程式設定。

附註

安裝延伸模組之後,GPU 驅動程式延伸模組不會自動更新驅動程式。 如果您需要移至較新的驅動程式版本,請手動下載並安裝驅動程式,或移除並再次新增延伸模組。

附註

試試 VM assist 快速診斷。 我們建議您對 Windows 使用 VM 協助,或對 Linux 使用 VM 協助。 這些基於腳本的診斷工具能幫助你辨識影響 Azure VM 訪客代理及整體虛擬機健康狀況的常見問題。

如果你在使用虛擬機器時遇到效能問題,在聯絡客服之前,請先執行這些工具。

必要條件

作業系統

此擴充功能支援下列 OS 發行版本,視特定 OS 版本的驅動程式支援而定:

司機 Linux:Ubuntu Linux:Red Hat Enterprise Linux
CUDA 22.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 版本。 請考慮更新為較新的版本。

網際網路連線能力

Microsoft Azure 為 NVIDIA GPU 驅動程式擴充套件,要求目標虛擬機必須連上網際網路並具備存取權限。

擴展架構

下列 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 字串
typeHandlerVersion 1.6 整數 (int)

設定

所有設定都是選用的。 預設行為是如果驅動程式安裝未要求,則不更新核心,並且會安裝最新支援的驅動程式和 CUDA 工具組 (若適用)。

名稱 描述: 預設值 有效值 資料類型
updateOS 即使驅動程式安裝不需要,也會更新核心。 false true、false 布林值
驅動程式版本 NV:GRID 驅動程式版本。
NC/ND:CUDA 驅動版本。 所選 CUDA 的最新驅動程式會自動安裝。
最新 支援的驅動程式版本列表 字串
installCUDA 安裝 CUDA 工具組。 只與 NC/ND 系列 VM 相關。 是 true、false 布林值

部署

Azure 入口網站

你可以在 Azure 入口網站部署 Azure 的 NVIDIA VM 擴充功能。

  1. 在瀏覽器中,前往 Azure 入口網站。

  2. 前往您想要安裝驅動程式的虛擬機器。

  3. 在左側功能表上,選取 [延伸模組]。

    截圖,顯示在Azure入口選單中選擇擴充功能。

  4. 選取 [新增]。

    顯示為所選 VM 新增 VM 擴充功能的螢幕擷取畫面。

  5. 捲動以尋找並選取 [NVIDIA GPU 驅動程式延伸模組],然後選取 [下一步]。

    顯示選取 NVIDIA GPU 驅動程式擴充功能的螢幕擷取畫面。

  6. 請選取 [檢閱 + 建立] 然後選取 [建立]。 等候幾分鐘的時間,讓驅動程式完成部署。

    顯示選取 [檢閱 + 建立] 按鈕的螢幕擷取畫面。

  7. 確認延伸模組已新增至已安裝的延伸模組清單中。

    顯示 VM 擴充功能清單中新擴充功能的螢幕擷取畫面。

Azure 資源管理員範本

你可以使用 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": "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

下列範例也會新增兩個選用自訂設定,作為非預設驅動程式安裝的範例。 具體來說,它會更新 OS 核心至最新版,並安裝特定 CUDA 工具組版的驅動程式。 同樣地,請注意 --settings 是選用且預設的。 更新核心可能會拉長擴充功能的安裝時間。 此外,選擇特定 (較舊) 的 CUDA 工具組版本可能不一定能與較新的核心相容。

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 整合服務無法使用或未安裝 檢查 lspci 輸出。
11 在此 VM 大小上找不到 NVIDIA GPU 使用支援的虛擬機器大小和作業系統。
12 不支援的映像供應項目
13 不支援的 VM 大小 使用 N 系列 VM 進行部署。
14 作業失敗 檢查執行輸出記錄。

已知問題

  1. 要使用 Linux 擴充功能來支援NC_RTXPRO6000BSE_v6虛擬機,請通過以下設定安裝正確的驅動程式:
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'installGridNC':True; 'driverVersion':'595.58.03'}"
 
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.13",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "installGridNC":True;"driverVersion":"595.58.03"
    }
  }
}
  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 目前會安裝最新的 17.5 GRID 驅動程式,不過這些驅動程式在 A10 系列上與 CUDA 存在問題。 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 相關工作負載的 Bug。 錯誤簽章通常牽涉到無法使用 CUDA 裝置。 在 Azure 正在解決這個問題的同時,請使用 GRID 驅動程式 16.5 繼續執行你的工作負載。

支援

如果你在本文的任何時候需要更多幫助,請聯絡MSDN Azure 和 Stack Overflow 論壇 上的Azure專家。 或者你也可以提交 Azure 支援案例。 請前往 Azure 支援,選擇 Get support。 關於使用 Azure 支援 的資訊,請閱讀 Azure 支援常見問題。

下一步