Udostępnij przez


Rozszerzenie sterownika procesora GPU firmy NVIDIA dla systemu Linux

To rozszerzenie instaluje sterowniki procesora GPU FIRMY NVIDIA na maszynach wirtualnych z serii N systemu Linux. W zależności od rodziny maszyn wirtualnych rozszerzenie instaluje sterowniki CUDA lub GRID. Podczas instalowania sterowników FIRMY NVIDIA przy użyciu tego rozszerzenia akceptujesz warunki umowy licencyjnej użytkownika końcowego firmy NVIDIA i zgadzasz się na nie. Podczas procesu instalacji maszyna wirtualna może zostać ponownie uruchomiona, aby ukończyć konfigurację sterownika.

Dostępne są instrukcje dotyczące ręcznej instalacji sterowników i bieżących obsługiwanych wersji. Rozszerzenie jest również dostępne do instalowania sterowników procesora GPU FIRMY NVIDIA na maszynach wirtualnych z serii N systemu Windows.

Uwaga

W przypadku maszyn wirtualnych serii NVadsA10v5 to rozszerzenie będzie nadal używać wersji 17.x do momentu zakończenia wdrożenia wersji 18.x w suwerennych chmurach w styczniu 2026 r.

Uwaga

Po włączeniu Bezpiecznego Rozruchu wszystkie składniki rozruchu systemu operacyjnego (bootloader, jądro, sterowniki jądra) muszą być podpisane przez zaufanych wydawców (klucz zaufany przez system). Bezpieczny rozruch nie jest obsługiwany przy użyciu rozszerzeń systemu Windows lub Linux. Aby uzyskać więcej informacji na temat ręcznego instalowania sterowników procesora GPU z włączonym bezpiecznym rozruchem, zobacz Konfiguracja sterownika procesora GPU serii N platformy Azure dla systemu Linux.

Uwaga

Rozszerzenia sterowników procesora GPU nie aktualizują automatycznie sterownika po zainstalowaniu rozszerzenia. Jeśli musisz przejść do nowszej wersji sterownika, pobierz ręcznie i zainstaluj sterownik lub usuń i ponownie dodaj rozszerzenie.

Uwaga

Wypróbuj pomoc maszyny wirtualnej, aby uzyskać szybszą diagnostykę. Zalecamy uruchomienie asysty maszyny wirtualnej dla systemu Windows lub asystenta maszyny wirtualnej dla systemu Linux. Te narzędzia diagnostyczne oparte na skryptach ułatwiają identyfikowanie typowych problemów, które mają wpływ na agenta gościa maszyny wirtualnej platformy Azure i ogólną kondycję maszyny wirtualnej.

Jeśli występują problemy z wydajnością maszyn wirtualnych, przed skontaktowaniem się z pomocą techniczną uruchom te narzędzia.

Wymagania wstępne

System operacyjny

To rozszerzenie obsługuje następujące dystrybucje systemu operacyjnego, w zależności od obsługi sterowników dla określonej wersji systemu operacyjnego:

Sterownik Linux: Ubuntu Linux: Red Hat Enterprise Linux
CUDA 20.04 LTS (Long Term Support - wsparcie długoterminowe) 7,9
SIATKA 22.04 LTS
24.04 LTS
8.2

Uwaga

Najnowsze obsługiwane sterowniki CUDA dla maszyn wirtualnych serii NC są obecnie 470.82.01. Nowsze wersje sterowników nie są obsługiwane na kartach K80 w NC. Podczas aktualizacji rozszerzenia związanej z zakończeniem wsparcia dla serii NC, zainstaluj sterowniki CUDA ręcznie dla kart K80 w serii NC.

Ważne

Ten dokument odnosi się do wersji systemu Linux, która zbliża się lub znajduje się w fazie końca wsparcia (EOL). Rozważ aktualizację do nowszej wersji.

Łączność z Internetem

Rozszerzenie platformy Microsoft Azure dla sterowników procesora GPU firmy NVIDIA wymaga, aby docelowa maszyna wirtualna została połączona z Internetem i ma dostęp.

Schemat rozszerzenia

Poniższy kod JSON przedstawia schemat rozszerzenia:

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

Właściwości

Nazwisko Wartość/przykład Typ danych
apiVersion (wersja interfejsu api) 2015-06-15 data
wydawca Microsoft.HpcCompute ciąg
typ NvidiaGpuDriverLinux ciąg
wersjaTypeHandlera 1.6 typ danych int

Ustawienia

Wszystkie ustawienia są opcjonalne. Domyślne zachowanie polega na tym, aby nie aktualizować jądra, jeśli nie jest to wymagane w przypadku instalacji sterownika i instalowania najnowszego obsługiwanego sterownika i zestawu narzędzi CUDA (zgodnie z potrzebami).

Nazwisko opis Domyślna wartość Prawidłowe wartości Typ danych
aktualizacjaOS Zaktualizuj jądro, nawet jeśli nie jest wymagane do instalacji sterownika. fałsz prawda, fałsz typ logiczny (boolowski)
wersja sterownika NV: wersja sterownika GRID.
NC/ND: wersja zestawu narzędzi CUDA. Najnowsze sterowniki dla wybranej funkcji CUDA są instalowane automatycznie.
najnowszy Lista obsługiwanych wersji sterowników ciąg
installCUDA Zainstaluj zestaw narzędzi CUDA. Dotyczy tylko maszyn wirtualnych serii NC/ND. prawda prawda, fałsz typ logiczny (boolowski)

Wdrożenie

Azure Portal

Rozszerzenia maszyn wirtualnych NVIDIA platformy Azure można wdrożyć w portalu Azure.

  1. Otwórz portal Azure w przeglądarce.

  2. Przejdź do maszyny wirtualnej, na której chcesz zainstalować sterownik.

  3. W menu po lewej stronie wybierz pozycję Rozszerzenia.

    Zrzut ekranu przedstawiający wybieranie pozycji Rozszerzenia w menu witryny Azure Portal.

  4. Wybierz Dodaj.

    Zrzut ekranu pokazujący dodawanie rozszerzenia V M dla wybranego V M.

  5. Przewiń, aby znaleźć i wybrać Rozszerzenie Sterownika GPU NVIDIA, a następnie wybierz Dalej.

    Zrzut ekranu przedstawiający wybieranie rozszerzenia sterownika NVIDIA G P U.

  6. Wybierz Przejrzyj i utwórz, a następnie Utwórz. Poczekaj kilka minut na zainstalowanie sterownika.

    Zrzut ekranu przedstawiający wybieranie przycisku Przejrzyj + utwórz.

  7. Sprawdź, czy rozszerzenie zostało dodane do listy zainstalowanych rozszerzeń.

    Zrzut ekranu przedstawiający nowe rozszerzenie na liście rozszerzeń dla V M.

Szablon usługi Azure Resource Manager

Szablony usługi Azure Resource Manager umożliwiają wdrażanie rozszerzeń maszyn wirtualnych platformy Azure. Szablony są idealne podczas wdrażania co najmniej jednej maszyny wirtualnej wymagającej konfiguracji po wdrożeniu.

Konfiguracja JSON rozszerzenia maszyny wirtualnej może być zagnieżdżona wewnątrz zasobu maszyny wirtualnej lub umieszczona na poziomie głównym lub najwyższym szablonu JSON usługi Resource Manager. Umieszczanie konfiguracji JSON wpływa na wartość nazwy i typu zasobu. Aby uzyskać więcej informacji, zobacz Ustaw nazwę i typ zasobów podrzędnych.

W poniższym przykładzie założono, że rozszerzenie jest zagnieżdżone wewnątrz zasobu maszyny wirtualnej. Gdy zasób rozszerzenia jest zagnieżdżony, kod JSON umieszczany jest w obiekcie "resources": [] maszyny wirtualnej.

{
  "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 (interfejs wiersza polecenia platformy Azure)

Poniższy przykład odzwierciedla powyższe przykłady usługi Resource Manager i programu PowerShell:

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

W poniższym przykładzie dodano również dwa opcjonalne ustawienia niestandardowe jako przykład instalacji niezdefaultowego sterownika. W szczególności aktualizuje jądro systemu operacyjnego do najnowszej wersji i instaluje określony sterownik wersji zestawu narzędzi CUDA. Ponownie zwróć uwagę, że --settings wartości są opcjonalne i domyślne. Aktualizowanie jądra może zwiększyć czas instalacji rozszerzenia. Ponadto wybranie określonej (starszej) wersji zestawu narzędzi CUDA może nie zawsze być zgodne z nowszymi jądrami.

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" \
  }'

Rozwiązywanie problemów i pomoc techniczna

Rozwiązywanie problemów

Dane dotyczące stanu wdrożeń rozszerzeń można pobrać z witryny Azure Portal i przy użyciu programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure. Aby wyświetlić stan wdrożenia rozszerzeń dla danej maszyny wirtualnej, uruchom następujące polecenie:

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

Dane wyjściowe wykonywania rozszerzenia są rejestrowane w następującym pliku. Zapoznaj się z tym plikiem, aby śledzić stan każdej długotrwałej instalacji i rozwiązać problemy z błędami.

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

Kody zakończenia

Kod zakończenia Znaczenie Możliwe działanie
0 Operacja powiodła się
1 Nieprawidłowe użycie rozszerzenia Sprawdź dziennik wyników wykonywania.
10 Usługi integracji z systemem Linux dla Hyper-V i Azure nie są dostępne ani zainstalowane Sprawdź dane wyjściowe lspci.
11 Nie można odnaleźć procesora GPU firmy NVIDIA w tym rozmiarze maszyny wirtualnej Użyj obsługiwanego rozmiaru maszyny wirtualnej i systemu operacyjnego.
12 Obsługa obrazu nie jest wspierana
13 Rozmiar maszyny wirtualnej nie jest obsługiwany Do wdrożenia użyj maszyny wirtualnej serii N.
14 Operacja nie powiodła się Sprawdź dziennik wyników wykonywania.

Znane problemy

  1. Sterownik GRID 16.x i 17.x mają problemy z instalacją w jądrze platformy Azure 6.11. Firma Nvidia pracuje nad rozwiązaniem tego problemu, w międzyczasie obniży jądro platformy Azure do wersji 6.8, wykonując następujące kroki. Spróbuj ponownie zainstalować sterowniki ręcznie lub używając rozszerzenia po obniżeniu poziomu jądra do wersji 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 obecnie instaluje najnowsze 17.5 sterowniki GRID, które mają problemy z CUDA w serii A10. W międzyczasie firma NVIDIA pracuje nad rozwiązaniem tego problemu, używając sterownika 16.5 GRID, przekazując ustawienie środowiska uruchomieniowego do rozszerzenia.
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. Wersja 17.x sterownika GRID jest niezgodna w systemie NVv3 (NVIDIA Tesla M60). Obsługiwane są sterowniki GRID do wersji 16.5 . NvidiaGpuDriverLinux instaluje najnowsze sterowniki, które są niezgodne z wersją NVv3 SKU. Zamiast tego użyj następujących ustawień środowiska uruchomieniowego, aby wymusić zainstalowanie starszej wersji sterownika. Aby uzyskać więcej informacji na temat wersji sterowników, zobacz Zasoby procesora GPU firmy 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"
    }
  }
}
  1. Sterownik Grid 17.5 systemu Linux posiada błąd wpływający na obciążenie związane z CUDA. Podpis błędu zwykle wiąże się z niedostępnością urządzeń CUDA. Gdy platforma Azure pracuje nad rozwiązaniem tego problemu, użyj sterownika GRID 16.5, aby kontynuować uruchamianie obciążenia.

Pomoc

Jeśli potrzebujesz więcej pomocy w dowolnym momencie tego artykułu, skontaktuj się z ekspertami platformy Azure na forach MSDN Azure i Stack Overflow. Alternatywnie możesz zgłosić zgłoszenie do pomocy technicznej Azure. Przejdź do pomoc techniczna platformy Azure i wybierz pozycję Uzyskaj pomoc techniczną. Aby uzyskać informacje na temat korzystania z pomocy technicznej platformy Azure, przeczytaj często zadawane pytania dotyczące pomocy technicznej platformy Azure.

Następne kroki