適用於 Linux 的 NVIDIA GPU 驅動程式擴充功能
這個擴充功能可在 Linux N 系列虛擬機器 (VM) 上安裝 NVIDIA GPU 驅動程式。 視虛擬機器系列而定,擴充功能會安裝 CUDA 或 GRID 驅動程式。 若您使用此延伸模組安裝 NVIDIA 驅動程式,即表示您接受並同意 NVIDIA End-User License Agreement (NVIDIA 使用者授權合約) 的條款。 在安裝過程中,VM 可能會重新開機以便完成驅動程式設定。
有關手動安裝驅動程式的指示和目前支援的版本皆有提供。 也可使用擴充功能在 Windows N 系列虛擬機器上安裝 NVIDIA GPU 驅動程式。
注意
啟用安全開機後,所有 OS 開機元件 (開機載入器、核心、核心驅動程式) 都必須由受信任的發行者簽署 (由系統信任的金鑰)。 不支援使用 Windows 或 Linux 延伸模組進行安全開機。 如需手動安裝已啟用安全開機的 GPU 驅動程式詳細資訊,請參閱適用於 Linux 的 Azure N 系列 GPU 驅動程式設定。
注意
安裝延伸模組之後,GPU 驅動程式延伸模組不會自動更新驅動程式。 如果您需要移至較新的驅動程式版本,請手動下載並安裝驅動程式,或移除並再次新增延伸模組。
必要條件
作業系統
此擴充功能支援下列 OS 發行版本,視特定 OS 版本的驅動程式支援而定:
Distribution | 版本 |
---|---|
Linux Ubuntu: | 20.04 LTS |
Linux:Red Hat Enterprise Linux | 7.9 |
注意
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 |
publisher | Microsoft.HpcCompute | string |
type | NvidiaGpuDriverLinux | string |
typeHandlerVersion | 1.6 | int |
設定
所有設定都是選用的。 預設行為是如果驅動程式安裝未要求,則不更新核心,並且會安裝最新支援的驅動程式和 CUDA 工具組 (若適用)。
名稱 | 描述: | 預設值 | 有效值 | 資料類型 |
---|---|---|---|---|
updateOS | 即使驅動程式安裝不需要,也會更新核心。 | false | True、False | boolean |
driverVersion | NV:GRID 驅動程式版本。 NC/ND:CUDA 工具組版本。 系統會自動安裝所選 CUDA 的最新驅動程式。 |
latest | 支援的驅動程式版本清單 | string |
installCUDA | 安裝 CUDA 工具組。 只與 NC/ND 系列 VM 相關。 | true | True、False | boolean |
部署
Azure 入口網站
您可以在 Azure 入口網站中部署 Azure NVIDIA VM 延伸模組。
在瀏覽器中,移至 Azure 入口網站。
前往您想要安裝驅動程式的虛擬機器。
在左側功能表上,選取 [延伸模組]。
選取 [新增]。
捲動以尋找並選取 [NVIDIA GPU 驅動程式延伸模組],然後選取 [下一步]。
請選取 [檢閱 + 建立] 然後選取 [建立]。 等候幾分鐘的時間,讓驅動程式完成部署。
確認延伸模組已新增至已安裝的延伸模組清單中。
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": "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 Integration Services 無法使用或未安裝 | 檢查 lspci 輸出。 |
11 | 在此 VM 大小上找不到 NVIDIA GPU | 使用支援的虛擬機器大小和作業系統。 |
12 | 不支援的映像供應項目 | |
13 | 不支援的 VM 大小 | 使用 N 系列 VM 進行部署。 |
14 | 作業失敗 | 檢查執行輸出記錄。 |
已知問題
NvidiaGpuDriverLinux
因為憑證問題,目前無法安裝最新的驅動程式17.x
GRID 驅動程式。 雖然 Azure 正努力解決此問題,但將運行時間設定傳遞至延伸模組,以使用 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"
}
}
}
- 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"
}
}
}
支援
如果您在此文章中有任何需要協助的地方,請連絡 MSDN Azure 和 Stack Overflow 論壇上的 Azure 專家。 或者,您可以提出 Azure 支援事件。 前往 Azure 支援,然後選取 [取得支援]。 如需使用 Azure 支援的資訊,請參閱 Azure 支援常見問題集。
下一步
- 如需擴充功能的詳細資訊,請參閱虛擬機器擴充功能和 Linux 功能。
- 如需 N 系列虛擬機器的詳細資訊,請參閱 GPU 最佳化的虛擬機器大小。