We are at re:Invent 2026Book my merch
Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Verlieren Sie Ihre GPUs nicht bei Wartungen in der Google Cloud

Kapazität sichern mit GCP Reservations

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

Oct 15, 20267 min read
Joshua Fox

About Joshua Fox

Senior Cloud Architect II

Joshua Fox has been a software architect in innovative technology companies for 20 years. Now, he advises tech startups and growth companies on architecture and cost optimization for Google Cloud Platform and Amazon Web Services; also publishing articles, and speaking to cloud engineers.

He has a PhD from Harvard University and a BA in math from Brandeis.

My personal page

Die weltweite Nachfrage nach GPUs ist enorm. Wenn Ihr Engineering-Team NVIDIA-L4-, A100- oder H100-Ressourcen in der Google Cloud Platform (GCP) ergattert, fühlt sich das oft wie ein großer Erfolg an. Doch genau diese Kapazität können Sie wieder verlieren – bei einer Wartung der zugrunde liegenden Hardware oder wenn Sie Ihre Instanz für Routineaufgaben manuell stoppen.

Beim Stoppen Ihrer VM werden die Ressourcen freigegeben – egal, ob es sich um ein geplantes Google-Cloud-Wartungsereignis handelt oder um einen von Ihnen selbst initiierten Stopp, um einen Treiber zu patchen, ein Image auszutauschen oder Instanz-Scopes zu ändern. Ihre GPU landet damit wieder im öffentlichen Pool, und Ihre kritischen ML-Trainingsläufe oder Inferenz-Workloads bleiben auf der Strecke. So sichern Sie Ihre GPUs ab und stellen sicher, dass sie Infrastruktur-Updates überstehen.

Das Problem: GCPs Wartungsmodell für GPUs

Eine der besten Funktionen von GCP ist die Live-Migration, die laufende VMs bei Infrastrukturwartungen nahezu unterbrechungsfrei auf intakte Hosts verschiebt. Allerdings wird Live-Migration für VMs mit angeschlossenen GPUs nicht unterstützt.

Da die GPU physisch per PCIe mit dem Host verbunden ist, kann GCP den Zustand des GPU-Speichers nicht über das Netzwerk migrieren. Deshalb verwendet Compute Engine für VMs mit angeschlossenen GPUs die Host-Wartungsrichtlinie TERMINATE (onHostMaintenance).

Wenn Google die physische Hardware, auf der Ihre Instanz läuft, patchen oder austauschen muss:

  1. Compute Engine kündigt geplante Host-Ereignisse im Voraus an – in der Regel eine Stunde vorher (bei Notfallwartungen kann die Vorwarnzeit kürzer ausfallen).
  2. Die VM erhält ein ACPI-Shutdown-Signal und wird zwangsweise gestoppt.
  3. Ist Ihre VM mit automaticRestart: true konfiguriert (Standardeinstellung), versucht GCP automatisch, die VM auf einem anderen, intakten Host wieder hochzufahren.

Storage-Warnung: Daten auf lokalen SSDs sind flüchtig und können bei Terminierung, manuellen Stopps oder einer fehlgeschlagenen Wiederherstellung nach einem Host-Ereignis verloren gehen. Speichern Sie dauerhafte Daten auf Persistent Disk, Hyperdisk oder in Cloud Storage und nutzen Sie lokale SSDs nur für Caches und temporäre Daten.

Risiken bei benutzerinitiierten Wartungen

Neben geplanten Host-Ereignissen erfordern viele administrative Routineaufgaben einen vollständigen Stopp/Start der VM statt eines einfachen Neustarts. Beispiele:

  • Updates von NVIDIA-Treibern oder CUDA-Toolkits, die einen Offline-Zustand erfordern.
  • Änderungen an zentralen Instanz-Attributen (etwa Service-Accounts oder Access Scopes).
  • Wechsel auf ein neues Machine Image oder rollierendes OS-Patch-Management über einen Cluster hinweg.

Ein gewöhnliches gcloud compute instances stop gibt Ihre Hardware sofort an den gemeinsamen Kapazitätspool zurück.

Das Risiko: Die Kapazitätslotterie

Wenn GCP versucht, Ihre gestoppte VM neu zu starten (oder wenn Sie den Start manuell anstoßen), greift sie auf den Ressourcenpool der Zone zu und fordert eine neue GPU an.

Da GPUs nahezu dauerhaft knapp sind, kann ein späterer Start fehlschlagen, wenn keine Kapazität verfügbar ist. Statt neu zu starten, gibt Ihre VM den Fehler ZONE_RESOURCE_POOL_EXHAUSTED oder ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS aus.

Ihre VM verbleibt im Status TERMINATED. Sie haben Ihre GPU offiziell verloren und müssen sich hinten anstellen – und die Instanz so lange immer wieder zu starten versuchen, bis Kapazität frei wird. Eine ausreichende Projekt-Quota hilft Ihnen hier nicht weiter: Sie ist nicht dasselbe wie physisch verfügbare Kapazität in einer bestimmten Zone. Die Quota ist ein von Google festgelegtes Maximallimit, während die Kapazität davon abhängt, ob andere Nutzer die vorhandenen Ressourcen gerade belegen.

Die Lösung: Zonale Reservations mit exaktem Hardware-Matching

Die Lösung, die verhindert, dass Ihre GPU bei einem Neustart an den öffentlichen Pool zurückfällt, sind Compute Engine Reservations.

Eine Reservation in GCP bietet ein hohes Maß an Kapazitätssicherheit. Wird Ihre VM für eine Wartung gestoppt, gibt sie ihren Anspruch auf die physische Hardware auf – Ihre Capacity Reservation fängt den "frei gewordenen Platz" jedoch sofort auf und hält die Zuteilung für Ihr Projekt reserviert. Wenn Compute Engine die VM automatisch neu startet oder Sie sie manuell wieder hochfahren, belegt Ihre VM einfach Ihre dedizierte Reservation.

GCP Reservations sind sehr spezifisch:

In diesem Szenario dient die Reservation dazu, Ihre bestehenden Ressourcen zu behalten. Falls Sie die GPU noch nicht betreiben, kann das Anlegen der Reservation fehlschlagen; erst wenn die Ressource verfügbar ist, wird die Reservation erfolgreich erstellt.

Cloud bill shouldn't be a mystery

One platform for AI and Cloud optimization.

Wichtige Einschränkungen und Sonderfälle

Reservations sind das Standardmittel gegen Kapazitätsverlust, dennoch müssen Sie einige architektonische Besonderheiten von GCP berücksichtigen:

  • Eingeschränkte GPU-Konfigurationen: Aufgrund extremer Lieferengpässe lassen sich manche neuere oder besonders gefragte GPU-Konfigurationen nicht über Standard-On-Demand-Capacity-Reservations reservieren. Aktuell gelten beispielsweise Einschränkungen für A4X Max, A3 Ultra sowie A3-High-Konfigurationen mit weniger als acht GPUs. Prüfen Sie die Reservierbarkeit immer in der GCP-Dokumentation.
  • Spot-VMs vs. CUDs: Reservations schützen Standard-VM-Workloads. Spot-VMs schützen sie nicht – diese können keine Reservations belegen und sind per Design unterbrechbar.
  • CUDs: Committed Use Discounts wirken sich auf den Preis aus; sie reservieren selbst keine Kapazität. Beachten Sie, dass CUDs sowohl für VMs als auch für ungenutzte Reservations berechnet werden.
  • GKE-Integration: Compute Engine Reservations können GPU-Kapazität schützen, die von der Google Kubernetes Engine (GKE) genutzt wird. In GKE Standard konfigurieren Sie den Node-Pool mit Reservation Affinity. In GKE Autopilot müssen Sie explizit eine Reservation auswählen oder eine unterstützte benutzerdefinierte ComputeClass konfigurieren.

So setzen Sie GPU Reservations für benutzerinitiierte Wartungen um

Der sicherste Weg, Konfigurationsabweichungen zu vermeiden: Definieren Sie die VM einmal in einem Instance Template und erstellen Sie die Reservation aus diesem Template. Standardmäßig stehen Reservations auf "Automatisch verbrauchen". Jede in Ihrem Projekt erstellte VM, die exakt zu den Spezifikationen der Reservation passt, belegt sie automatisch.

1. Reservation erstellen

Wenn Sie rollierende Wartungen über einen Cluster hinweg durchführen (etwa Node-für-Node-OS-Patching), müssen Sie nicht die Kapazität der gesamten Flotte reservieren. Dimensionieren Sie Ihre Reservation auf exakt die Anzahl der Instanzen, die Sie gleichzeitig herunterfahren wollen. Wenn Sie beispielsweise jeweils zwei Nodes drainen und aktualisieren, setzen Sie --vm-count auf 2, um genau diese Instanzen beim Neustart aufzufangen.

Sie können die Reservation über ein Instance Template provisionieren, um eine exakte Übereinstimmung sicherzustellen – per Kommandozeile:

Terminal window
gcloud compute reservations create gpu-maintenance-reservation \
--project=my-project-id \
--source-instance-template=projects/my-project-id/global/instanceTemplates/my-gpu-template \
--vm-count=1 \
--zone=us-central1-c

Alternativ können Sie die Reservation direkt definieren:

Terminal window
gcloud compute reservations create reservation-v100 \
--project=joshua-playground \
--zone=us-east1-c \
--machine-type=n1-standard-1 \
--accelerator=count=1,type=nvidia-tesla-v100 \
--vm-count=1 \
--require-specific-reservation=false

Und natürlich geht das auch in der Google Cloud Console.

Google Cloud Console: Dialog zum Erstellen einer Reservation

2. VM bereitstellen und Belegung prüfen

Da --require-specific-reservation auf false steht, müssen Sie Ihre VM-Deployment-Skripte nicht anpassen. Solange Sie eine exakt passende VM in derselben Zone starten, ordnet GCP sie automatisch Ihrer reservierten Kapazität zu.

Um zu prüfen, ob die erwartete Anzahl an Instanzen die reservierten Slots belegt, sehen Sie sich die Reservation-Metriken in der Google Cloud Console an. Aktuelle Reservations finden Sie unter Compute Engine > Reservations, die historische Nutzung in Google Cloud Monitoring – über die Metriken compute.googleapis.com/reservation/used und compute.googleapis.com/reservation/reserved.

3. Reservation bereinigen

Anders als Standard-VMs müssen Capacity Reservations explizit gelöscht werden, sobald Sie sie nicht mehr benötigen. Wenn Sie Ihren Workload dauerhaft stilllegen und die VM löschen, aber vergessen, die Reservation zu entfernen, zahlen Sie weiterhin den vollen On-Demand-Preis für die ungenutzte GPU-Kapazität – und CUDs werden ebenfalls berechnet.

Wenn Sie die Reservation nicht mehr benötigen, entfernen Sie sie per Kommandozeile:

Terminal window
gcloud compute reservations delete gpu-maintenance-reservation \
--project=my-project-id \
--zone=us-central1-c \
--quiet

Die Kostenseite

Reservations in GCP kosten nichts extra, allerdings zahlen Sie für die reservierten Ressourcen – unabhängig davon, ob sie aktiv an eine laufende VM gebunden sind oder brachliegen. Da Sie ohnehin für die aktive GPU-VM zahlen, ist das Absichern per Reservation kostenneutral. Leerlaufkosten fallen nur in den wenigen Minuten an, in denen die VM während der Wartung neu startet – eine günstige Versicherung gegen den Verlust Ihrer Hardware.

Wie viel Sie genau für die reservierte Kapazität gezahlt haben, während Ihre Instanzen gestoppt waren, können Sie mit DoiT Cloud Analytics nachvollziehen. Filtern Sie Ihre Reports nach der SKU compute.googleapis.com/reservation, um die exakten Kosten der garantierten Kapazität während Ihrer Downtime zu prüfen.

Mit GCP Reservations verwandeln Sie Hardware-Verfügbarkeit von einem Glücksspiel in eine planbare Garantie. Da Reservations über Ihre zugrunde liegende Compute-Nutzung hinaus nichts extra kosten, ist es ein unnötiges Risiko, Ihre kritischen GPU-Instanzen nicht mit einer Reservation abzusichern. Provisionieren Sie exakt die benötigte Kapazität in Ihrer Zielzone, deployen Sie aus einem passenden Instance Template und stellen Sie sicher, dass Ihre Workloads bei Routine-Neustarts oder unvermeidbaren Google-Wartungen nie auf der Strecke bleiben.