Creare e avviare un'istanza VM con GPU NVIDIA

Questo documento spiega come creare un'istanza di macchina virtuale (VM) basata su Linux con unità di elaborazione grafica (GPU) NVIDIA. Per eseguire passaggi simili su un'istanza VM Windows, consulta Installare i driver della GPU NVIDIA su una VM Windows.

Una macchina virtuale con GPU consente di eseguire vari carichi di lavoro con accelerazione GPU, ad esempio intelligenza artificiale e machine learning.

Le macchine virtuali con GPU fanno parte della famiglia di macchine della serie A "ottimizzate per l'acceleratore", ad esempio A2 e A3. Per saperne di più, consulta Visualizzare il tipo di macchina VM.

Questo documento è destinato agli sviluppatori dei gruppi di amministratori della piattaforma o operatori di applicazioni che creano VM in un ambiente air-gapped di Google Distributed Cloud (GDC). Per saperne di più, consulta Pubblico per la documentazione GDC con air gap.

Prima di iniziare

Prepara l'ambiente

Per utilizzare i comandi dell'interfaccia a riga di comando (CLI) gdcloud, assicurati di aver scaricato, installato e configurato la CLI gdcloud. Tutti i comandi per Distributed Cloud utilizzano la CLI gdcloud o kubectl e richiedono un ambiente Linux.

Richiedi ruoli IAM

Contatta l'amministratore IAM del progetto per richiedere i seguenti ruoli nel progetto:

  • Amministratore progetto macchina virtuale (project-vm-admin): crea, modifica, elenca ed elimina le VM nello spazio dei nomi del progetto.

  • Visualizzatore progetto(project-viewer): visualizza tutte le risorse all'interno dello spazio dei nomi del progetto.

Tutti i ruoli VM devono essere associati allo spazio dei nomi del progetto in cui risiede la VM. Segui i passaggi per verificare l'accesso.

Crea una VM

Crea una VM seguendo i passaggi descritti in Creare una VM da un'immagine e seleziona un tipo di macchina della serie A.

Installa i driver NVIDIA

Questa sezione fornisce i passaggi per installare i driver NVIDIA sull'istanza VM GDC.

Installa il pacchetto

A partire dalla versione v20250809 e successive, le immagini Ubuntu e Rocky Linux fornite da GDC hanno i driver NVIDIA preinstallati.

Per le versioni delle immagini precedenti a v20250809 e le immagini personalizzate fornite dall'utente, installa il driver dal repository dei pacchetti GDC. Connettiti alla VM utilizzando SSH ed esegui il comando corrispondente al sistema operativo (OS) della VM:

Ubuntu

 sudo apt install nvidia-dkms-570-server-open

Rocky Linux e RHEL

 sudo dnf install nvidia-driver-cuda

Esegui DKMS

Abilita il driver NVIDIA sulla VM con il comando dkms. Devi eseguire questa attività una sola volta per VM:

   sudo dkms autoinstall

Installa il toolkit CUDA

Il toolkit NVIDIA CUDA è disponibile nei repository dei pacchetti GDC. Connettiti alla VM utilizzando SSH, quindi esegui il comando corrispondente al sistema operativo della VM:

Ubuntu

 sudo apt install cuda-toolkit-12-8

Rocky Linux e RHEL

 sudo dnf install cuda-toolkit-12-8

Abilita l'avvio protetto e firma i driver

Se devi abilitare l'avvio protetto sulla VM con GPU, devi firmare i driver della GPU. Fai riferimento alle istruzioni per il sistema operativo corrispondente.

Ubuntu

  1. Connettiti alla VM utilizzando SSH.
  2. Passa a super user:

    sudo su
    
  3. Genera una chiave MOK se non ne esiste già una:

    [ -f /var/lib/shim-signed/mok/MOK.der ] || openssl req -new -x509 -newkey rsa:2048 -keyout /var/lib/shim-signed/mok/MOK.priv \
        -outform DER -out /var/lib/shim-signed/mok/MOK.der \
        -nodes -days 36500 -subj "/CN=DKMS Signing Key/"
    
  4. Registra la chiave utilizzando mokutil:

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. Quando richiesto, crea e inserisci una nuova password a tua scelta.

  6. Firma i moduli kernel NVIDIA utilizzando MOK:

    for module in nvidia nvidia_drm nvidia_modeset nvidia_uvm nvidia_peermem; do
        /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der $(modinfo -n $module)
    done
    

Rocky Linux e RHEL

  1. Connettiti alla VM utilizzando SSH.
  2. Passa a super user:

    sudo su
    
  3. Firma il driver con la chiave utilizzando dkms autoinstall:

    sudo dkms autoinstall
    
  4. Registra la chiave DKMS in MOK:

    mokutil --import /var/lib/dkms/mok.pub
    

Finalizza la registrazione e la verifica di MOK

Per accedere alla schermata di gestione MOK, riavvia l'istanza VM e connettiti immediatamente alla porta seriale. La schermata è sensibile al tempo e viene visualizzata solo brevemente durante la procedura di avvio. In particolare, segui questi passaggi:

  1. Riavvia l'istanza VM:

    reboot
    
  2. Connettiti alla console seriale della VM. Per saperne di più, consulta Connettersi a una porta seriale.

  3. Registra MOK dalla console:

    Schermata di gestione MOK della console seriale della VM

    Schermata di gestione MOK della console seriale della VM con "Registra MOK" evidenziato

    Puoi visualizzare la chiave per assicurarti che corrisponda a quella generata in un passaggio precedente:

    Schermata di gestione MOK della console seriale della VM con l'opzione "Continua" selezionata

  4. Inserisci la password selezionata in precedenza:

    Schermata di gestione MOK della console seriale della VM che richiede una password

  5. Seleziona Riavvia dal menu di gestione MOK:

    Schermata di gestione MOK della console seriale della VM con "Riavvia" selezionato

  6. Verifica che il driver NVIDIA funzioni eseguendo nvidia-smi.

    L'output mostra lo stato della GPU e le informazioni sul driver:

    $ nvidia-smi
    Wed Aug 13 00:09:17 2025
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 570.158.01             Driver Version: 570.158.01     CUDA Version: 12.8     |
    |-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  NVIDIA H200                    Off |   00000000:08:00.0 Off |                    0 |
    | N/A   42C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   1  NVIDIA H200                    Off |   00000000:09:00.0 Off |                    0 |
    | N/A   36C    P0            127W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   2  NVIDIA H200                    Off |   00000000:0A:00.0 Off |                    0 |
    | N/A   34C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   3  NVIDIA H200                    Off |   00000000:0B:00.0 Off |                    0 |
    | N/A   40C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   4  NVIDIA H200                    Off |   00000000:0C:00.0 Off |                    0 |
    | N/A   39C    P0            125W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   5  NVIDIA H200                    Off |   00000000:0D:00.0 Off |                    0 |
    | N/A   35C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   6  NVIDIA H200                    Off |   00000000:0E:00.0 Off |                    0 |
    | N/A   39C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   7  NVIDIA H200                    Off |   00000000:0F:00.0 Off |                    0 |
    | N/A   35C    P0            121W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+
    

Passaggi successivi