VM-Instanz mit NVIDIA-GPUs erstellen und starten

In diesem Dokument wird beschrieben, wie Sie eine Linux-basierte VM-Instanz (Virtual Machine) mit NVIDIA-GPUs (Graphics Processing Units) erstellen. Informationen zu ähnlichen Schritten für eine Windows-VM-Instanz finden Sie unter NVIDIA-GPU-Treiber auf einer Windows-VM installieren.

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

VMs mit GPUs gehören zur beschleunigungsoptimierten Maschinenfamilie der 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 Google Distributed Cloud-Umgebung (GDC) ohne Internetverbindung erstellen. Weitere Informationen finden Sie unter Zielgruppen für die Dokumentation zu GDC mit Air Gap.

Hinweis

Umgebung vorbereiten

Wenn Sie Befehle der gdcloud-Befehlszeilenschnittstelle (Command-Line Interface, CLI) verwenden möchten, müssen Sie die gdcloud CLI heruntergeladen, installiert und konfiguriert haben. Alle Befehle für Distributed Cloud verwenden die gdcloud- oder kubectl-CLI und erfordern eine Linux-Umgebung.

IAM-Rollen anfordern

Wenden Sie sich an Ihren Projekt-IAM-Administrator, um die folgenden Rollen für Ihr Projekt anzufordern:

  • VM-Projektadministrator (project-vm-admin): VMs im Projekt-Namespace erstellen, ändern, auflisten und löschen.

  • Projektbetrachter(project-viewer): Alle Ressourcen im Projekt-Namespace ansehen.

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 überprüfen.

VM erstellen

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

NVIDIA-Treiber installieren

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

Paket installieren

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

Bei Image-Versionen vor v20250809 und von Nutzern bereitgestellten benutzerdefinierten Images installieren Sie den Treiber aus dem GDC-Paket-Repository. Stellen Sie eine Verbindung zur VM über SSH her und führen Sie den Befehl aus, der Ihrem VM-Betriebssystem 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 eine Verbindung zur VM über SSH her und führen Sie dann den Befehl aus, der Ihrem VM-Betriebssystem 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 aktivieren auf Ihrer VM mit GPUs möchten, müssen Sie die GPU-Treiber signieren. Folgen Sie der Anleitung für Ihr entsprechendes Betriebssystem.

Ubuntu

  1. Stellen Sie eine Verbindung zur VM über SSH 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 und geben Sie bei Aufforderung ein neues Passwort Ihrer Wahl ein.

  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 Verbindung zur VM über SSH her.
  2. Wechseln Sie zum Superuser:

    sudo su
    
  3. Signieren Sie den Treiber mit dem Schlüssel mit 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, starten Sie die VM-Instanz neu und stellen Sie sofort eine Verbindung zum seriellen Port her. Der Bildschirm ist zeitkritisch und wird nur kurz während des Startvorgangs angezeigt. Führen Sie dazu die folgenden Schritte aus:

  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 das MOK über die Console:

    MOK-Verwaltungsbildschirm der seriellen VM-Konsole

    Bildschirm für die MOK-Verwaltung in der seriellen Konsole der VM mit hervorgehobenem „MOK registrieren“

    Sie können den Schlüssel ansehen, um sicherzustellen, dass er mit dem in einem früheren Schritt generierten Schlüssel übereinstimmt:

    MOK-Verwaltungsbildschirm der seriellen Konsole der VM mit ausgewählter Option „Continue“ (Weiter)

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

    MOK-Verwaltungsbildschirm der seriellen Konsole der VM, in dem nach einem Passwort gefragt wird

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

    MOK-Verwaltungsbildschirm der seriellen VM-Konsole mit ausgewählter Option „Reboot“ (Neu starten)

  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