VM-Instanz mit NVIDIA-GPUs erstellen und starten

In diesem Dokument wird beschrieben, wie Sie eine Linux-basierte VM-Instanz mit NVIDIA-Grafikprozessoren (GPUs) erstellen. Informationen zum Ausführen ähnlicher Schritte auf einer Windows-VM-Instanz finden Sie unter NVIDIA-GPU-Treiber auf einer Windows-VM installieren.

Mit einer virtuellen Maschine mit GPUs können Sie verschiedene GPU-beschleunigte Arbeitslasten ausführen, z. B. künstliche Intelligenz und maschinelles Lernen.

Virtuelle Maschinen mit GPUs gehören zur „beschleunigungsoptimierten“ A-Serie, z. B. A2 und A3. Weitere Informationen finden Sie unter VM-Maschinentyp ansehen.

Dieses Dokument richtet sich an Entwickler in Plattformadministrator- oder Anwendungsoperatorgruppen, die VMs in einer GDC-Umgebung (Google Distributed Cloud) mit Air Gap erstellen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Umgebung vorbereiten

Wenn Sie gdcloud-Befehle der gdcloud-Befehlszeile (CLI) verwenden möchten, müssen Sie die gdcloud CLI herunterladen, installieren und konfigurieren. Alle Befehle für Distributed Cloud verwenden die gdcloud- oder kubectl-Befehlszeile und erfordern eine Linux-Umgebung.

IAM-Rollen anfordern

Bitten Sie Ihren IAM-Projektadministrator, Ihnen die folgenden Rollen für Ihr Projekt zuzuweisen:

  • Virtual Machine Project Admin (project-vm-admin): VMs im Projekt-Namespace erstellen, ändern, auflisten und löschen.

  • Project Viewer (project-viewer): Kann alle Ressourcen im Projekt-Namespace aufrufen.

Alle VM-Rollen müssen an den Namespace des Projekts gebunden sein, in dem sich die VM befindet. Folgen Sie der Anleitung, um Ihren Zugriff zu bestätigen.

VM erstellen

Erstellen Sie eine VM, indem Sie die Schritte unter VM aus einem Image erstellen ausführen, und wählen Sie einen Maschinentyp der A-Serie aus.

NVIDIA-Treiber installieren

In diesem Abschnitt wird beschrieben, wie Sie NVIDIA-Treiber auf Ihrer GDC-VM-Instanz installieren.

Paket installieren

Ab Version v20250809 sind auf den von GDC bereitgestellten Ubuntu- und Rocky Linux-Images NVIDIA-Treiber vorinstalliert.

Installieren Sie den Treiber für Image-Versionen vor v20250809 und für vom Nutzer bereitgestellte benutzerdefinierte Images aus dem GDC-Paket-Repository. Stellen Sie über SSH eine Verbindung zur VM her und führen Sie den Befehl aus, der dem Betriebssystem Ihrer VM entspricht:

Ubuntu

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

Rocky Linux und RHEL

 sudo dnf install nvidia-driver-cuda

DKMS ausführen

Aktivieren Sie den NVIDIA-Treiber auf Ihrer VM mit dem Befehl dkms. Sie müssen diese Aufgabe nur einmal pro VM ausführen:

   sudo dkms autoinstall

CUDA-Toolkit installieren

Das NVIDIA CUDA-Toolkit ist in den GDC-Paket-Repositories verfügbar. Stellen Sie über SSH eine Verbindung zur VM her und führen Sie dann den Befehl aus, der dem Betriebssystem Ihrer VM entspricht:

Ubuntu

 sudo apt install cuda-toolkit-12-8

Rocky Linux und RHEL

 sudo dnf install cuda-toolkit-12-8

Secure Boot aktivieren und Treiber signieren

Wenn Sie Secure Boot auf Ihrer VM mit GPUs aktivieren müssen, müssen Sie die GPU-Treiber signieren. Eine Anleitung für Ihr Betriebssystem finden Sie hier.

Ubuntu

  1. Stellen Sie eine SSH-Verbindung zur VM her.
  2. Wechseln Sie zum Superuser:

    sudo su
    
  3. Generieren Sie einen MOK-Schlüssel, falls noch keiner vorhanden ist:

    [ -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. Registrieren Sie den Schlüssel mit mokutil:

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. Erstellen Sie ein neues Passwort und geben Sie es ein, wenn Sie dazu aufgefordert werden.

  6. Signieren Sie die NVIDIA-Kernelmodule mit dem 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 und RHEL

  1. Stellen Sie eine SSH-Verbindung zur VM her.
  2. Wechseln Sie zum Superuser:

    sudo su
    
  3. Signieren Sie den Treiber mit dem Schlüssel mithilfe von dkms autoinstall:

    sudo dkms autoinstall
    
  4. Registrieren Sie den DKMS-Schlüssel in MOK:

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

MOK-Registrierung und -Überprüfung abschließen

Um auf den MOK-Verwaltungsbildschirm zuzugreifen, müssen Sie die VM-Instanz neu starten und sofort eine Verbindung zum seriellen Port herstellen. Der Bildschirm ist zeitkritisch und wird während des Bootvorgangs nur kurz angezeigt. Gehen Sie dazu so vor:

  1. Starten Sie die VM-Instanz neu:

    reboot
    
  2. Stellen Sie eine Verbindung zur seriellen Konsole der VM her. Weitere Informationen finden Sie unter Verbindung zu einem seriellen Port herstellen.

  3. Registrieren Sie den MOK über die Console:

    MOK-Verwaltungsbildschirm der seriellen VM-Konsole

    MOK-Verwaltungsbildschirm der seriellen VM-Konsole mit hervorgehobenem „Enroll MOK“

    Sie können sich den Schlüssel ansehen, um zu prüfen, ob er mit dem in einem früheren Schritt generierten Schlüssel übereinstimmt:

    MOK-Verwaltungsbildschirm der seriellen VM-Konsole mit der Option „Weiter“

  4. Geben Sie das zuvor ausgewählte Passwort ein:

    MOK-Verwaltungsbildschirm der seriellen Konsole der VM, auf dem zur Eingabe eines Passworts aufgefordert wird

  5. Wählen Sie im MOK-Verwaltungsmenü die Option „Reboot“ aus:

    MOK-Verwaltungsbildschirm der seriellen VM-Konsole mit der Option „Reboot“

  6. Prüfen Sie mit nvidia-smi, ob der NVIDIA-Treiber funktioniert.

    In der Ausgabe werden der GPU-Status und die Treiberinformationen angezeigt:

    $ 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                                                             |
    +-----------------------------------------------------------------------------------------+
    

Nächste Schritte