Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa estensione installa i driver GPU NVIDIA in macchine virtuali serie N Linux. A seconda della famiglia di macchine virtuali, l'estensione installa i driver CUDA o GRID. Quando si installano i driver NVIDIA con questa estensione, l'utente accetta e acconsente alle condizioni del contratto di licenza con l'utente finale di NVIDIA. Durante il processo di installazione, la macchina virtuale potrebbe venire riavviata per completare l'installazione del driver.
Sono disponibili istruzioni sull'installazione manuale dei driver e sulle versioni supportate correnti. È anche disponibile un'estensione per installare i driver GPU NVIDIA nelle macchine virtuali serie N di Windows.
Nota
Con l'avvio protetto abilitato, tutti i componenti di avvio del sistema operativo (caricatore di avvio, kernel, driver kernel) devono essere firmati da autori attendibili (chiave considerata attendibile dal sistema). L'avvio protetto non è supportato con le estensioni Windows o Linux. Per altre informazioni sull'installazione manuale dei driver GPU con avvio protetto abilitato, vedere Configurazione del driver GPU serie N di Azure per Linux.
Nota
Le estensioni del driver GPU non aggiornano automaticamente il driver dopo l'installazione dell'estensione. Se è necessario passare a una versione più recente del driver, scaricare e installare manualmente il driver o rimuovere e aggiungere nuovamente l'estensione.
Prerequisiti
Sistema operativo
Questa estensione supporta le distribuzioni dei sistemi operativi seguenti, in base al supporto dei driver per la versione del sistema operativo specifica:
Distribuzione | Versione |
---|---|
Linux: Ubuntu | 20.04 LTS |
Linux: Red Hat Enterprise Linux | 7.9 |
Nota
I driver CUDA supportati più recenti per le macchine virtuali serie NC sono attualmente 470.82.01. Le versioni successive del driver non sono supportate nelle schede K80 in NC. Mentre l'estensione viene aggiornata con questa fine del supporto per NC, installare manualmente i driver CUDA per le schede K80 nella serie NC.
Importante
Questo documento fa riferimento a una versione di Linux vicina o alla fine del servizio (EOL). Prendere in considerazione l'aggiornamento a una versione più recente.
Connettività Internet
L'estensione di Microsoft Azure per i driver GPU NVIDIA richiede che la macchina virtuale di destinazione sia connessa e abbia accesso a Internet.
Schema dell'estensione
Il codice JSON riportato di seguito mostra lo schema dell'estensione:
{
"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": {
}
}
}
Proprietà
Nome | Valore/Esempio | Tipo di dati |
---|---|---|
apiVersion | 2015-06-15 | dattero |
editore | Microsoft.HpcCompute | corda |
tipo | NvidiaGpuDriverLinux | corda |
typeHandlerVersion | 1.6 | Int |
Impostazione
Tutte le impostazioni sono facoltative. In base al comportamento predefinito, il kernel non viene aggiornato se non è necessario per l'installazione del driver e vengono installati il driver supportato più recente e il toolkit CUDA (se applicabile).
Nome | Descrizione | Valore predefinito | Valori validi | Tipo di dati |
---|---|---|---|---|
updateOS | Aggiorna il kernel anche se non è necessario per l'installazione del driver. | falso | vero, falso | booleano |
versione del driver | NV: versione del driver GRID. NC/ND: versione del toolkit CUDA. I driver più recenti del CUDA scelto vengono installati automaticamente. |
più recente | Elenco delle versioni dei driver supportate | corda |
installCUDA | Installa il toolkit CUDA. Pertinente solo per le macchine virtuali serie NC/ND. | vero | vero, falso | booleano |
Distribuzione
Portale di Azure
È possibile distribuire le estensioni di macchine virtuali NVIDIA di Azure nel portale di Azure.
Nel browser passare al portale di Azure.
Passare alla macchina virtuale in cui si vuole installare il driver.
Nel menu a sinistra selezionare Estensioni.
Selezionare Aggiungi.
Scorrere fino a trovare e selezionare Estensione driver GPU NVIDIA e quindi selezionare Avanti.
Selezionare Rivedi e crea e quindi Crea. Attendere alcuni minuti per la distribuzione del driver.
Verificare che l'estensione sia stata aggiunta all'elenco delle estensioni installate.
Modello di Azure Resource Manager
È possibile usare i modelli di Azure Resource Manager per distribuire le estensioni delle macchine virtuali di Azure. I modelli sono ideali quando si distribuiscono una o più macchine virtuali che richiedono la configurazione post-distribuzione.
La configurazione JSON per un'estensione macchina virtuale può essere annidata nella risorsa della macchina virtuale o posizionata nel livello radice o nel livello superiore di un modello JSON di Resource Manager. Il posizionamento della configurazione JSON influisce sul valore del nome e del tipo di risorsa. Per altre informazioni, vedere Set name and type for child resources (Impostare il nome e il tipo per le risorse figlio).
L'esempio seguente presuppone che l'estensione sia annidata all'interno della risorsa della macchina virtuale. Quando la risorsa di estensione è annidata, il codice JSON viene inserito nell'oggetto "resources": []
della macchina virtuale.
{
"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 '{ `
}'
CLI di Azure
L'esempio seguente rispecchia gli esempi precedenti di Resource Manager e PowerShell:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name NvidiaGpuDriverLinux \
--publisher Microsoft.HpcCompute \
--version 1.6
Nell'esempio seguente vengono aggiunte anche due impostazioni personalizzate facoltative come esempio per l'installazione non predefinita del driver. In particolare, aggiorna il kernel del sistema operativo alla versione più recente e installa un driver di versione specifico del toolkit CUDA. Anche in questo caso, si noti che --settings
sono facoltativi e predefiniti. L'aggiornamento del kernel potrebbe aumentare i tempi di installazione dell'estensione. Inoltre, la scelta di una versione specifica del toolkit CUDA (precedente) potrebbe non essere sempre compatibile con i kernel più recenti.
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" \
}'
Risoluzione dei problemi e supporto
Risoluzione dei problemi
È possibile recuperare i dati sullo stato delle distribuzioni dell'estensione nel portale di Azure e tramite Azure PowerShell e l'interfaccia della riga di comando di Azure. Per visualizzare lo stato di distribuzione delle estensioni per una determinata macchina virtuale, eseguire il comando seguente:
Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
L'output dell'esecuzione dell'estensione viene registrato nel file seguente. Fare riferimento a questo file per tenere traccia dello stato di qualsiasi installazione a esecuzione prolungata e per la risoluzione di eventuali errori.
/var/log/azure/nvidia-vmext-status
Codici di uscita
Codice di uscita | Significato | Azione possibile |
---|---|---|
0 | Operazione riuscita | |
1 | Uso non corretto dell'estensione | Controlla il registro dei risultati dell'esecuzione. |
10 | Servizi di Integrazione Linux per Hyper-V e Azure non disponibili né installati | Controllare l'output di lspci. |
11 | GPU NVIDIA non trovata in questa dimensione di macchina virtuale | Utilizzare una dimensione e un sistema operativo della macchina virtuale supportati. |
12 | Offerta di immagine non supportata | |
13 | Dimensioni della macchina virtuale non supportate | Usare una macchina virtuale serie N per la distribuzione. |
14 | Operazione non riuscita | Controlla il registro dei risultati dell'esecuzione. |
Problemi noti
- Il driver GRID 16.x e 17.x presenta problemi di installazione nel kernel di Azure 6.11. Nvidia sta lavorando per risolvere questo problema, nel frattempo, effettuare il downgrade del kernel di Azure alla versione 6.8 seguendo questa procedura. Provare a reinstallare i driver manualmente o usando un'estensione dopo il downgrade del kernel alla versione 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.
-
NvidiaGpuDriverLinux
installa attualmente i driver GRID più recenti17.5
, i quali stanno avendo problemi con CUDA nella serie A10. NVIDIA sta lavorando per risolvere questo problema, nel frattempo, usare il driver16.5
GRID passando un'impostazione di runtime all'estensione.
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"
}
}
}
- La versione
17.x
del driver GRID non è compatibile con NVv3 (NVIDIA Tesla M60). Sono supportati i driver GRID fino alla versione16.5
.NvidiaGpuDriverLinux
installa i driver più recenti incompatibili nello SKU NVv3. Usare invece le impostazioni di runtime seguenti per forzare l'estensione a installare una versione precedente del driver. Per altre informazioni sulle versioni dei driver, vedere Risorse GPU NVIDIA.
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"
}
}
}
- Il driver Linux grid 17.5 presenta un bug in cui influisce sul carico di lavoro correlato a CUDA. La firma dell'errore solitamente implica la non disponibilità dei dispositivi CUDA. Mentre Azure sta lavorando per risolvere questo problema, usare il driver GRID 16.5 per continuare a eseguire il carico di lavoro.
Supporto tecnico
Per ricevere assistenza in relazione a qualsiasi aspetto di questo articolo, contattare gli esperti di Azure nei forum MSDN e Stack Overflow di Azure. In alternativa, è possibile archiviare un evento imprevisto di supporto tecnico di Azure. Passare al supporto di Azure e selezionare Ottenere supporto. Per informazioni sull'uso del supporto di Azure, vedere le domande frequenti sul supporto di Azure.
Passaggi successivi
- Per altre informazioni sulle estensioni, vedere Estensioni e funzionalità delle macchine virtuali per Linux.
- Per altre informazioni sulle macchine virtuali di serie N, vedere Dimensioni delle macchine virtuali ottimizzate per il GPU.