Fehler in der Ressourcenverfügbarkeit beheben

Ein Ressourcenverfügbarkeitsfehler tritt auf, wenn eine Zone nicht genügend verfügbare Kapazität hat, um die von Ihnen angeforderten Rechenressourcen zum Erstellen, Neustarten oder Aktualisieren von Compute Engine-Instanzen oder zum Reservieren zonaler Ressourcen bereitzustellen.

In diesem Dokument wird beschrieben, wie Sie Fehler bei der Ressourcenverfügbarkeit identifizieren und beheben. Da diese Fehler auf einen Mangel an physischer Hardware in einer Zone und nicht auf ein Nutzungslimit für das Projekt hinweisen, können sie nicht durch eine Erhöhung des Kontingents behoben werden. Informationen zur Fehlerbehebung bei Kontingentlimits finden Sie unter Kontingentfehler beheben.

Fehler bei der Ressourcenverfügbarkeit verstehen

Ressourcenverfügbarkeitsfehler treten auf, wenn eine Zone nicht genügend Kapazität für eine oder mehrere der folgenden physischen Ressourcen hat:

  • Beschleuniger (falls vorhanden)

  • CPU-Kerne

  • Laufwerke

  • Arbeitsspeicher

Angenommen, Sie möchten eine Compute-Instanz erstellen, die den Maschinentyp a2-highgpu-2g verwendet und an die zwei lokale SSD-Laufwerke angehängt sind. Dieser Maschinentyp umfasst 24 vCPUs auf dem Intel Xeon Platinum 8273CL-Prozessor, 170 GB Arbeitsspeicher und zwei NVIDIA A100-GPUs. Wenn alle diese Ressourcen zum Zeitpunkt Ihrer Anfrage in der angegebenen Zone verfügbar sind, ist Ihre Anfrage erfolgreich. Andernfalls schlägt Ihre Anfrage mit einem Ressourcenverfügbarkeitsfehler fehl.

Wenn ein Fehler bei der Ressourcenverfügbarkeit auftritt, gibt Compute Engine in der Google Cloud Console, der Google Cloud CLI oder der API-Antwort eine Fehlermeldung zurück, die einer der folgenden ähnelt:

ZONE_RESOURCE_POOL_EXHAUSTED
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
POOL_CAPACITY_INSUFFICIENT
The zone 'projects/PROJECT_ID/zones/ZONE' does not have
enough resources available to fulfill the request. Try a different zone, or try
again later.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is
currently unavailable in the ZONE zone.

Capacity changes frequently, so try your request in a different zone, with a
different VM hardware configuration, or at a later time. For more options, see
troubleshooting documentation.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is
currently unavailable in the ZONE zone because of REASON.

Consider trying your request in the AVAILABLE_ZONES zones, which
currently has capacity to accommodate your request.

If you cannot move your VM to AVAILABLE_ZONES, review the
instructions to resolve the REASON failure that are available in
troubleshooting documentation, then try your request again. If your workload
can't accommodate the suggested resolution, try your request with a different VM
hardware configuration or at a later time.

So rufen Sie eine Fehlermeldung für einen Ressourcenverfügbarkeitsfehler auf:

  • Für eigenständige Compute-Instanzen, im Bulk erstellte Compute-Instanzen, Knoten für einzelne Mandanten oder Reservierungen gibt Compute Engine diese Fehlermeldungen in der Google Cloud Console, der gcloud CLI oder der API-Antwort zurück.

  • Bei verwalteten Instanzgruppen (MIGs) protokolliert Compute Engine diese Fehler in der Fehlerliste der MIG-Instanz. Informationen zur Fehlermeldung und zur Hardwareeinschränkung, die den Fehler verursacht hat, finden Sie unter Instanzfehler auflisten.

Fehler in der Ressourcenverfügbarkeit beheben

Ressourcenverfügbarkeitsfehler lassen sich in zwei Kategorien einteilen: Konfigurationsfehler, die Sie beheben können (z. B. wenn Sie versuchen, einen nicht unterstützten Maschinentyp in einer Zone anzufordern), und physische Hardwareeinschränkungen, die Sie nicht kontrollieren können.

Führen Sie die folgenden Schritte aus, um einen Fehler bei der Ressourcenverfügbarkeit zu beheben. Wenn Sie Optionen lieber anhand der Anpassungsmöglichkeiten Ihrer Arbeitslast bewerten möchten, lesen Sie stattdessen die Zusammenfassung der Empfehlungen nach Arbeitslastanforderungen.

  1. Spezifische Ressourceneinschränkungen beheben: Wenn Ihre Fehlermeldung einen Ursachencode enthält, lesen Sie den Abschnitt Fehler nach Fehlerursachen beheben. Wenn das Problem durch diese spezifischen Lösungen nicht behoben wird, fahre mit dem nächsten Schritt fort.

  2. Allgemeine Kapazitätsstrategien anwenden: Wenn Ihre Fehlermeldung keinen Ursachencode enthält oder bestimmte Anpassungen nicht ausreichen, lesen Sie den Abschnitt Häufige Fehler beheben.

  3. Funktionsspezifische Empfehlungen prüfen: Wenn das Problem weiterhin besteht, lesen Sie einen der folgenden Abschnitte, je nach Bereitstellungsmethode oder Funktion:

Wenn beim Erstellen oder automatischen Skalieren eines Google Kubernetes Engine-Clusters (GKE) Fehler bei der Ressourcenverfügbarkeit auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der Clustererstellung.

Fehler nach Fehlerursache beheben

Wenn Compute Engine detaillierte Diagnosedaten für einen Fehler bei der Ressourcenverfügbarkeit bereitstellt, werden in der Fehlerantwort die spezifischen Ursachen angegeben, die Compute Engine daran gehindert haben, Ihre Anfrage zu erfüllen.

In der Google Cloud Console, der gcloud CLI oder in Cloud Logging werden die Ursachen in der Fehlermeldung des Vorgangs angezeigt:

ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - A n1-standard-1 VM instance with 2 local SSD(s) is currently unavailable in the us-central1-a zone, because of cpu_availability,local_ssd_availability root cause(s). Consider trying your request in the us-central1-b, us-central1-c zone(s), which currently has capacity to accommodate your request.

In der REST API werden die Fehlerdetails im Array error.errors[] des Vorgangs angezeigt. Die Ursachen werden im Detail LocalizedMessage und im Detail google.rpc.ErrorInfo (domain: "compute.googleapis.com") zurückgegeben:

{
  "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
  "message": "A n1-standard-1 VM instance with 2 local SSD(s) is currently unavailable in the us-central1-a zone, because of cpu_availability,local_ssd_availability root cause(s). Consider trying your request in the us-central1-b, us-central1-c zone(s), which currently has capacity to accommodate your request.",
  "errorDetails": [
    {
      "errorInfo": {
        "domain": "compute.googleapis.com",
        "reason": "cpu_availability,local_ssd_availability",
        "metadata": {
          "vmType": "n1-standard-1",
          "zone": "us-central1-a",
          "attachment": "local-ssd:2",
          "zonesAvailable": "us-central1-b,us-central1-c"
        }
      }
    }
  ]
}

Führen Sie je nach Fehlercode in Ihrer Antwort die folgenden Schritte aus:

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: Compute Engine ermittelt die Ursachen, die die Erfüllung in der Zielzone verhindert haben. Wenn andere Zonen in derselben Region Kapazität für Ihre Anfrage haben, enthalten die Fehlerdetails auch eine Liste der empfohlenen Zonen (AVAILABLE_ZONES in der Nachricht oder zonesAvailable in den API-ErrorInfo-Metadaten). Wenn in den Fehlerdetails empfohlene Zonen aufgeführt sind, erstellen, migrieren oder reservieren Sie Ihre Compute-Instanzen in einer dieser Zonen. Wenn keine anderen Zonen in der Region Kapazität haben, werden in der Fehlermeldung keine alternativen Zonen aufgeführt.

  • REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: In allen ausgewerteten Zonen in Ihrer Zielregion ist nicht genügend Kapazität für Ihre Anfrage vorhanden. Prüfen Sie die Gründe für die Einschränkung in der Fehlermeldung oder wiederholen Sie die Anfrage in einer anderen Region, mit einem anderen Maschinentyp oder mit einem flexiblen Bereitstellungsmodell.

  • POOL_CAPACITY_INSUFFICIENT: In der ausgewählten Zone sind nicht genügend Ressourcen verfügbar, um die angeforderte Anzahl von Compute-Instanzen zu erstellen. Fordern Sie weniger Ressourcen an, wählen Sie einen anderen Maschinentyp oder eine andere Zone aus oder verwenden Sie das Bereitstellungsmodell „Flex-Start“, „Spot“ oder „Reservierungsgebunden“.

  • ACCELERATOR_INTERCONNECT_CONFIG_FAILED: Die Compute Engine konnte die für Ihr Beschleuniger-Slice erforderliche Hochgeschwindigkeits-Interconnect-Topologie nicht konfigurieren, z. B. ein TPU- oder Multi-Knoten-GPU-Slice. Warten Sie einige Minuten und versuchen Sie es dann noch einmal. Wenn das Problem weiterhin besteht, wenden Sie sich an Ihr Account-Management-Team oder den Support.

Wenn Ihre Anfrage gleichzeitig Einschränkungen für mehrere physische Ressourcen aufweist, gibt Compute Engine eine durch Kommas getrennte Liste von reason-Codes zurück, z. B. "reason": "gpu_availability,local_ssd_availability". Wenn die Fehlerantwort einen oder mehrere Einschränkungsgründe enthält, führen Sie die folgenden Schritte zur Fehlerbehebung für jede anwendbare Ressourceneinschränkung aus:

configuration_availability

Der Fehler configuration_availability weist darauf hin, dass die Zielzone die von Ihnen angeforderte Kombination aus Maschinentyp, CPU-Plattform oder Laufwerksschnittstelle nicht unterstützt. Im Gegensatz zu anderen Ressourcenverfügbarkeitsfehlern weist dieser Fehler auf eine nicht unterstützte Konfiguration und nicht auf eine vorübergehende Ressourceneinschränkung hin. Wenn Sie die Anfrage später wiederholen, schlägt sie weiterhin fehl.

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. Hardwareunterstützung prüfen: Ob die Zielzone die gewünschte Konfiguration unterstützt, können Sie unter Verfügbare Regionen und Zonen und Vergleich der Maschinenserien nachlesen.

  2. Anfrage ändern: Wenn Ihre Hardwarekonfiguration in dieser Zone nicht unterstützt wird, versuchen Sie eine der folgenden Aktionen:

    • Ändern Sie Ihre Anfrage so, dass ein Maschinentyp, eine CPU-Plattform oder eine Laufwerksschnittstelle verwendet wird, die von der Zielzone unterstützt wird.

    • Wiederholen Sie die Anfrage in einer anderen Zone, die die erforderliche Maschinenserie, CPU-Plattform und Laufwerkstypen unterstützt.

cpu_availability

Der Fehler cpu_availability gibt an, dass die Zone nicht genügend Kapazität für die angegebene Anzahl von CPUs oder vCPUs hat.

Versuchen Sie Folgendes (eines davon oder mehr) um diesen Fehler zu beheben:

  • In einer alternativen Zone oder Region bereitstellen: Wenn in der Fehlermeldung verfügbare Zonen (AVAILABLE_ZONES) aufgeführt sind, erstellen oder migrieren Sie Ihre Compute-Instanz in eine dieser empfohlenen Zonen. Wenn in der Fehlermeldung keine verfügbaren Zonen aufgeführt sind, fordern Sie Ressourcen in einer anderen Zone in derselben Region oder in einer anderen Region an.

  • CPU-Plattformbeschränkungen löschen: Wenn in Ihrer Anfrage eine Mindest-CPU-Plattform (minCpuPlatform) angegeben ist, setzen Sie den Wert auf AUTOMATIC. Wenn Sie eine bestimmte CPU-Plattform benötigen, kann Compute Engine Ihre Compute-Instanz nicht auf anderen CPU-Plattformen platzieren, die Ihre Maschinenserie in dieser Zone unterstützt.

  • Zu einer anderen Maschinenserie wechseln: Wenn eine bestimmte Maschinenserie in Ihrer Zielzone nicht genügend Kapazität hat, versuchen Sie es mit einer anderen Maschinenserie oder Generation, die Ihre Arbeitslast unterstützt, z. B. N2, N2D oder N4. Unterschiedliche Maschinenreihen verwenden unterschiedliche CPU-Plattformen und physische Server. Maschinenserien der neueren Generation bieten außerdem eine höhere Leistung pro vCPU, sodass Sie Ihre Arbeitslast mit weniger vCPUs ausführen können.

  • Angeforderte vCPUs reduzieren: Wenn Sie benutzerdefinierte Maschinentypen verwenden, reduzieren Sie die vCPU-Anzahl auf das für Ihre Arbeitslast erforderliche Minimum. Kleinere vCPU-Konfigurationen passen auf physische Server mit begrenzter Restkapazität. Dadurch erhöht sich die Wahrscheinlichkeit, dass die Compute Engine Ihre Anfrage erfüllt.

  • Rechenanforderungen auf kleinere Maschinentypen aufteilen: Wenn Ihre Anwendung eine verteilte Architektur unterstützt, teilen Sie Ihre Rechenanforderungen auf kleinere Maschinentypen in derselben Maschinenfamilie auf. Wenn Sie beispielsweise keine 80 Compute-Instanzen mit n2-standard-96-Maschinentypen (mit jeweils 96 vCPUs) erstellen können, versuchen Sie, 160 Compute-Instanzen mit n2-standard-48-Maschinentypen (mit jeweils 48 vCPUs) zu erstellen.

gpu_availability

Der Fehler gpu_availability weist darauf hin, dass die Zone nicht genügend Kapazität für das angeforderte GPU-Modell hat.

Versuchen Sie Folgendes (eines davon oder mehr) um diesen Fehler zu beheben:

  • In einer alternativen Zone oder Region bereitstellen: Wenn in der Fehlermeldung verfügbare Zonen (AVAILABLE_ZONES) aufgeführt sind, erstellen oder migrieren Sie Ihre Compute-Instanz in eine dieser empfohlenen Zonen. Wenn in der Fehlermeldung keine verfügbaren Zonen aufgeführt sind, versuchen Sie, Ressourcen in einer anderen Zone oder Region anzufordern, die dasselbe GPU-Modell unterstützt. Eine Liste der Regionen und Zonen, die GPUs unterstützen, finden Sie unter GPU-Verfügbarkeit.

  • Alternatives Bereitstellungsmodell verwenden: Wenn Sie keine GPU-Instanzen mit dem Standardbereitstellungsmodell erstellen können, versuchen Sie, Ressourcen mit dem Bereitstellungsmodell „Flex-Start“, „Spot“ oder „Reservierungsgebunden“ anzufordern. Verschiedene Bereitstellungsmodelle greifen auf separate Kapazitätspools zu. Weitere Informationen finden Sie unter Bereitstellungsmodelle für Compute Engine-Instanzen.

local_ssd_availability

Ein local_ssd_availability-Fehler weist darauf hin, dass in der Zone nicht genügend Kapazität für die angeforderte Anzahl oder die angeforderten Typen von lokalen SSD-Laufwerken vorhanden ist.

Wenn Ihre Arbeitslast nichtflüchtigen Speicher toleriert, wechseln Sie von lokalen SSD-Laufwerken zu Hyperdisk Extreme-, Hyperdisk Balanced- oder nichtflüchtiger SSD-Speicher-Volumes. Informationen zu den Vor- und Nachteilen von Leistung und Dauerhaftigkeit finden Sie unter Temporäre und langlebige Speicheroptionen.

memory_availability

Der Fehler memory_availability gibt an, dass die Zone nicht genügend Kapazität für die angeforderte Speichermenge hat.

Führen Sie einen oder beide der folgenden Schritte aus, um diesen Fehler zu beheben:

  • In einer alternativen Zone oder Region bereitstellen: Wenn in der Fehlermeldung verfügbare Zonen (AVAILABLE_ZONES) aufgeführt sind, erstellen oder migrieren Sie Ihre Compute-Instanz in eine dieser empfohlenen Zonen. Wenn in der Fehlermeldung keine verfügbaren Zonen aufgeführt sind, fordern Sie Ressourcen in einer anderen Zone in derselben Region oder in einer anderen Region an.

  • Rechenanforderungen auf kleinere Maschinentypen aufteilen: Wenn Ihre Anwendung eine verteilte Speicherarchitektur unterstützt, teilen Sie Ihren Speicherbedarf auf mehrere kleinere Compute-Instanzen auf. Wenn Sie beispielsweise keine Compute-Instanz mit 1,88 TB Arbeitsspeicher (z. B. m1-ultramem-80) erstellen können, teilen Sie Ihre Arbeitslast auf mehrere kleinere Compute-Instanzen auf, die diese kombinierte Speicherkapazität bieten.

resource_availability

Der Fehler resource_availability gibt an, dass die Zone nicht genügend Kapazität für den angeforderten Maschinentyp hat. Führen Sie einen oder mehrere der folgenden Schritte aus, um diesen Fehler zu beheben:

  • Geben Sie eine alternative Zone an.

  • Wählen Sie einen alternativen Maschinentyp aus, der Ihre Arbeitslast unterstützt. Informationen zur Auswahl alternativer Maschinentypen finden Sie unter Empfehlungen für Maschinentypen.

  • Wenn Ihre Arbeitslast Unterbrechungen oder flexible Startzeiten toleriert, geben Sie ein alternatives Bereitstellungsmodell an. Weitere Informationen finden Sie unter Bereitstellungsmodelle für Compute Engine-Instanzen.

  • Wenn dieser Fehler beim Anfordern eines Maschinentyps a3-highgpu-1g, a3-highgpu-2g oder a3-highgpu-4g auftritt, prüfen Sie, ob Sie die Compute-Instanz mit einer der unterstützten Bereitstellungsmethoden bereitstellen.

Häufige Fehler beheben

Wenn Ihre Fehlermeldung keinen Ursachencode enthält, passen Sie den Standort, die Hardwarekonfiguration oder die Startzeit Ihrer Compute-Instanzen an. Wenn Sie die Wahrscheinlichkeit erhöhen möchten, dass Compute Engine Ihre Anfrage erfüllt, versuchen Sie es mit einer oder mehreren der folgenden Maßnahmen:

  • Alternative Region oder Zone ausprobieren: Wenn Ihre Arbeitslast dies zulässt, fordern Sie Ressourcen in einer anderen Zone innerhalb derselben Region oder in einer anderen Region an. Wenn Sie regionale MIGs oder Compute-Instanzen im Bulk in einer Region erstellen, verteilt Compute Engine die Compute-Instanzen auf Zonen, in denen Hardware verfügbar ist. Weitere Informationen finden Sie unter Features für die Standortflexibilität.

  • Reservierungsattribute prüfen: Wenn Sie trotz einer übereinstimmenden Reservierung, die nicht vollständig genutzt wird, keine Compute-Instanz erstellen können, prüfen Sie, ob die Attribute der Reservierung und der Compute-Instanz übereinstimmen. Wenn die Attribute nicht übereinstimmen, versucht Compute Engine, On-Demand-Kapazität in der Zielzone bereitzustellen, anstatt die Reservierung zu verwenden. Dieser Versuch kann fehlschlagen, wenn die Zone nicht genügend Kapazität hat. Informationen zur Fehlerbehebung bei der Nutzung einer Reservierung finden Sie unter Fehlerbehebung bei der Nutzung von Reservierungen.

  • Flexibilität bei Maschinentypen nutzen: Erweitern Sie Ihre Optionen, anstatt einen einzelnen Maschinentyp durch einen anderen einzelnen Maschinentyp zu ersetzen. Wenn Sie regionale MIGs oder Compute-Instanzen im Bulk erstellen, geben Sie mehrere Fallback-Maschinentypen in einer Richtlinie für die Instanzflexibilität an. Wenn Ihr primärer Maschinentyp nicht verfügbar ist, stellt Compute Engine einen verfügbaren Fallback-Maschinentyp aus Ihrer Liste bereit. Sie können Ihre Rechenanforderungen auch auf kleinere Maschinentypen mit weniger vCPUs und weniger Arbeitsspeicher aufteilen. Weitere Informationen finden Sie unter Flexibilitätsfunktionen für Maschinentypen und Empfehlungen für Maschinentypen.

  • Alternatives Bereitstellungsmodell verwenden: Wenn Sie keine Compute-Instanzen mit dem Standardbereitstellungsmodell erstellen können, versuchen Sie, Ressourcen mit dem Bereitstellungsmodell „Flex-Start“, „Reservierungsgebunden“ oder „Spot“ anzufordern. Verschiedene Bereitstellungsmodelle greifen auf separate Kapazitätspools zu. Weitere Informationen finden Sie unter Bereitstellungsmodelle für Compute Engine-Instanzen.

  • Echtzeitkapazität prüfen: Bevor Sie Spot-VMs erstellen, neu starten oder aktualisieren, prüfen Sie die Wahrscheinlichkeit, Kapazität zu erhalten (den Score für die Verfügbarkeit), und die erwartete Verfügbarkeit für verschiedene Maschinentypen und Standorte. Da diese Werte keine Kapazität garantieren oder reservieren, sollten Sie Ihre Anfrage senden, sobald Sie die Verfügbarkeit geprüft haben. Eine Anleitung finden Sie unter Verfügbarkeit von Spot-VMs ansehen.

  • Anfrage zu einem späteren Zeitpunkt wiederholen: Die Kapazität in einer Zone ändert sich, wenn Arbeitslasten in Google Cloud abgeschlossen werden und physische Hardware freigegeben wird. Wenn Ihre Arbeitslast zeitlich flexibel ist, wiederholen Sie die Anfrage später. Weitere Informationen finden Sie unter Funktionen für zeitliche Flexibilität.

Fehler beim Erstellen eigenständiger Compute-Instanzen beheben

Wenn Ihre Anfrage zum Erstellen eigenständiger Compute-Instanzen aufgrund von Hardwareeinschränkungen fehlschlägt, versuchen Sie es mit einer oder mehreren der folgenden Aktionen:

  • Anfragemethode ändern: Eigenständige Compute-Instanzen bieten bei Hardwareeinschränkungen in einer Zone nur geringe Flexibilität. Wenn Ihre Arbeitslast es zulässt, erstellen Sie Compute-Instanzen im Bulk. Mit dieser Erstellungsmethode können Sie Folgendes tun:

    • Standortflexibilität hinzufügen: Sie können Compute-Instanzen in einer Region statt in einer einzelnen Zone erstellen. Bei diesem Ansatz kann Compute Engine Compute-Instanzen auf Zonen mit verfügbarer Hardware verteilen.

    • Flexibilität bei Maschinentypen hinzufügen: Sie können in einer Richtlinie für Instanzflexibilität mehrere Fallback-Maschinentypen angeben. Bei diesem Ansatz kann Compute Engine einen anderen aufgeführten Maschinentyp auswählen, wenn Ihre primäre Auswahl nicht verfügbar ist.

  • Angeforderte Ressourcen reduzieren: Wählen Sie einen vordefinierten Maschinentyp mit weniger vCPUs, weniger Arbeitsspeicher oder weniger angehängten Laufwerken aus. Kleinere Hardwarekonfigurationen passen auf physische Server mit begrenzter verbleibender Kapazität.

  • Benutzerdefinierte Maschinentypen erstellen: Benutzerdefinierte Maschinentypen verwenden dieselben physischen Server wie vordefinierte Maschinentypen in derselben Maschinenserie und haben keinen separaten Kapazitätspool. Wenn Sie auf physische Server mit begrenzter Kapazität passen möchten, fordern Sie weniger vCPUs als einen größeren vordefinierten Maschinentyp an (z. B. einen benutzerdefinierten Maschinentyp mit 20 vCPUs anstelle eines n2-standard-32). Für beschleunigungsoptimierte Maschinenserien (z. B. G2) sind für benutzerdefinierte Maschinentypen weiterhin physische GPUs erforderlich und ein GPU-Mangel kann nicht behoben werden. Eine Anleitung finden Sie unter VM mit benutzerdefiniertem Maschinentyp erstellen.

  • Speichertypen ändern: Wenn Ihr Maschinentyp alternative Speicheroptionen unterstützt, können Sie zwischen Google Cloud Hyperdisk und Persistent Disk wechseln. Nichtflüchtige SSD-Speicher und abgestimmte nichtflüchtige Speicher nutzen denselben physischen Speicherpool. Wenn ein Laufwerkstyp in einer Zone nicht genügend Kapazität hat, ist der andere Laufwerkstyp in den meisten Fällen ebenfalls nicht verfügbar. Wenn ein Persistent Disk-Volume nicht genügend Kapazität hat, prüfen Sie, ob Ihr Projekt ein ausreichendes Kontingent für Hyperdisk hat, und wechseln Sie zu einem Maschinentyp, der Hyperdisk-Volumes unterstützt. Informationen dazu, welche Maschinenserien sowohl Persistent Disk- als auch Hyperdisk-Volumes unterstützen, finden Sie unter Maschinenserienvergleich.

Fehler beim Erstellen mehrerer Compute-Instanzen auf einmal beheben

Wenn Sie Compute-Instanzen im Bulk (bulkInsert) erstellen, prüft Compute Engine die Kapazität im Voraus, ohne Ihre Anfrage in die Warteschlange zu stellen oder zu wiederholen. Standardmäßig entspricht die Mindestanzahl (minCount) der insgesamt angeforderten Anzahl (count). Wenn Compute Engine also zum Zeitpunkt Ihrer Anfrage nicht alle angeforderten Compute-Instanzen erstellen kann, schlägt die Anfrage fehl und es werden keine Compute-Instanzen erstellt.

Wenn Ihre Anfrage zum Erstellen mehrerer Compute-Instanzen aufgrund von Hardwareeinschränkungen fehlschlägt, versuchen Sie es mit einer oder mehreren der folgenden Aktionen. Anleitungen zum Abwägen von Vor- und Nachteilen sowie Best Practices finden Sie unter Flexible Infrastruktur bewerten und übernehmen.

  • Teilkapazität akzeptieren (minCount): Wenn Ihre Arbeitslast mit weniger Compute-Instanzen als der von Ihnen angeforderten Gesamtzahl gestartet werden kann, legen Sie im Feld minCount einen niedrigeren Wert fest. Mit dieser Einstellung wird Ihre Anfrage erfolgreich ausgeführt, solange Compute Engine mindestens die von Ihnen angegebene Mindestanzahl von Compute-Instanzen bereitstellen kann.

  • Compute-Instanzen in einer Region erstellen: Wenn Sie Compute-Instanzen im Bulk in einer bestimmten Zone erstellen, schlägt Ihre Anfrage fehl, wenn diese Zone nicht genügend Kapazität hat. Wählen Sie stattdessen eine Region aus, damit Compute Engine Zonen mit verfügbarer Hardware auswählt. Standardmäßig wird beim regionalen Erstellen im Bulk die Zielverteilungsform ANY_SINGLE_ZONE verwendet, bei der alle Compute-Instanzen in einer einzelnen Zone mit Kapazität platziert werden. Wenn keine einzelne Zone Ihren gesamten Batch aufnehmen kann und Ihre Compute-Instanzen sich über mehrere Zonen erstrecken können, legen Sie die Zielverteilungsform auf BALANCED oder ANY fest. Eine Anleitung finden Sie unter Mehrere VMs in einer Region erstellen.

  • Fallback-Maschinentypen verwenden: Konfigurieren Sie in einer regionalen Bulk-Anfrage eine Richtlinie für die Instanzflexibilität mit kompatiblen Fallback-Maschinentypen. Bei Bedarf können Sie die Platzierung mit dem Flag --location-policy auch auf bestimmte Zonen beschränken. Wenn Ihr primärer Maschinentyp nicht verfügbar ist, stellt Compute Engine verfügbare Fallback-Maschinentypen aus Ihrer Liste bereit.

  • Anfrage auf mehrere Standorte oder Zeiträume aufteilen: Wenn keine einzelne Zone oder Region genügend Kapazität für den gesamten Batch hat, teilen Sie Ihre Anfrage in kleinere Batches auf verschiedene Zonen oder Regionen auf oder staffeln Sie Ihre Anfragen über einen längeren Zeitraum. Senden Sie nicht mehrere kleinere Anfragen gleichzeitig an dieselbe erschöpfte Zone.

  • Einschränkungen für kompakte Platzierung lockern: Wenn Sie beim Erstellen von Compute-Instanzen eine Richtlinie für kompakte Platzierung angeben, sollten Sie den Wert für die maximale Entfernung erhöhen oder die Richtlinie entfernen, um die Platzierungseinschränkungen zu lockern. Niedrigere Werte für den maximalen Abstand platzieren Compute-Instanzen näher beieinander, um die Netzwerklatenz zu verringern. Dadurch erhöht sich jedoch das Risiko von Fehlern bei der Ressourcenverfügbarkeit. Weitere Informationen finden Sie unter Richtlinien für kompakte Platzierung.

Fehler beim Erstellen, Skalieren oder Reparieren von verwalteten Instanzgruppen beheben

Im Gegensatz zu eigenständigen oder Bulk-Erstellungsanfragen stellt eine MIG so viele Compute-Instanzen bereit, wie die aktuelle Kapazität zulässt. Für alle Compute-Instanzen, die die MIG noch nicht erstellen kann, protokolliert die Gruppe Fehler in Instanzfehler auflisten und versucht weiterhin, die Instanzen im Hintergrund zu erstellen.

Wenn in Ihrer MIG Fehler bei der Ressourcenverfügbarkeit auftreten, wenn sie Compute-Instanzen erstellt, horizontal skaliert oder repariert, versuchen Sie eine oder mehrere der folgenden Aktionen:

  • Warten oder Zielgröße anpassen: Wenn der Hardwaremangel vorübergehend ist und Ihre Arbeitslast mit Teilkapazität ausgeführt werden kann, lassen Sie die verwaltete Instanzgruppe weiterhin versuchen, die Zielgröße zu erreichen, oder reduzieren Sie die Zielgröße der verwalteten Instanzgruppe.

  • Instanzvorlage aktualisieren: Wenn in der Instanzfehlerliste ein configuration_availability-Fehler (nicht unterstützte Hardware in der Zone) oder eine dauerhafte Kapazitätserschöpfung für einen Maschinentyp angezeigt wird, erstellen Sie eine aktualisierte Instanzvorlage, die einen unterstützten oder besser verfügbaren Maschinentyp oder ein alternatives Bereitstellungsmodell verwendet, und führen Sie sie ein. Dieser Ansatz funktioniert für jede vorhandene zonale oder regionale MIG, ohne dass eine Migration zu einer neuen Gruppe erforderlich ist.

  • Zonale MIG, die nicht mehr reagiert, durch eine regionale MIG ersetzen: Wenn bei einer zonalen MIG wiederholt Kapazitätsengpässe auftreten und Ihre Arbeitslast eine kontinuierliche Ausfallsicherheit über mehrere Zonen hinweg erfordert, erstellen Sie eine regionale MIG, migrieren Sie Ihre Arbeitslast in die neue Gruppe und löschen Sie die ursprüngliche zonale MIG. Regionale MIGs erhöhen die Wahrscheinlichkeit, Hardware zu erhalten, da sie Compute-Instanzen in mehreren Zonen in der Region bereitstellen können.

  • Flexible Zielverteilungsform konfigurieren: Mit der Verteilungsform EVEN stellt eine regionale MIG in jeder Zone einen gleichen Anteil an Compute-Instanzen bereit. Wenn in einer Zone nicht genügend Kapazität vorhanden ist, werden in anderen Zonen der Region weiterhin die entsprechenden Compute-Instanzen erstellt, während die eingeschränkte Zone versucht, ihren Anteil zu erstellen. Automatisch skalierte MIGs mit der Verteilungsform EVEN werden auch in verfügbaren Zonen horizontal skaliert. Dadurch bleibt eine Gruppe mit manuell festgelegter Größe unter ihrer vollen Zielgröße, bis die Kapazität in der eingeschränkten Zone wiederhergestellt ist. Konfigurieren Sie Ihre regionale verwaltete Instanzgruppe so, dass sie eine Form der Zielverteilung verwendet, die Ihren Arbeitslastanforderungen entspricht, um diese Einschränkung zu vermeiden:

    • BALANCED: Verteilt Compute-Instanzen auf Zonen mit verfügbarer Kapazität und sorgt dabei für eine möglichst gleichmäßige Verteilung. Verwenden Sie diese Form für hochverfügbare Bereitstellungs- und Batcharbeitslasten.

    • ANY: Platziert Compute-Instanzen in einer beliebigen Zone mit verfügbarer Kapazität und priorisiert nicht verwendete Reservierungen in der Region. Verwenden Sie diese Form für Batcharbeitslasten, die keine ausgewogene Verteilung über Zonen hinweg erfordern.

    • ANY_SINGLE_ZONE: Platziert alle Compute-Instanzen in einer einzelnen Zone mit verfügbarer Kapazität. Dadurch werden zonenübergreifende Latenz und Kosten für ausgehenden Netzwerktraffic vermieden. Verwenden Sie diese Form für eng gekoppelte, latenzempfindliche Arbeitslasten.

  • Maschinentypflexibilität in Ihrer regionalen MIG konfigurieren: Fügen Sie in einer regionalen MIG, die die Verteilungsform BALANCED, ANY oder ANY_SINGLE_ZONE verwendet, Fallback-Maschinentypen in einer Richtlinie für Instanzflexibilität (instanceFlexibilityPolicy) hinzu. Wenn der primäre Maschinentyp nicht verfügbar ist, wenn die MIG horizontal skaliert wird, stellt die MIG den nächsten verfügbaren Maschinentyp in Ihrer Liste bereit. Standardmäßig wird bei Reparaturen nur der ursprüngliche Maschinentyp der fehlgeschlagenen Compute-Instanz wiederholt. Wenn Sie zulassen möchten, dass bei Reparaturen auch Fallback-Maschinentypen verwendet werden, aktivieren Sie Update während der Reparatur, indem Sie das Feld instanceLifecyclePolicy.forceUpdateOnRepair auf "YES" setzen. Verwenden Sie für Arbeitslasten in einer einzelnen Zone eine regionale verwaltete Instanzgruppe mit der Form ANY_SINGLE_ZONE oder wählen Sie eine einzelne Zielzone aus. Weitere Informationen finden Sie unter Instanzflexibilität in MIGs.

  • Reparaturen in einer alternativen Zone zulassen: In einer zustandslosen regionalen MIG, die die Verteilungsform BALANCED oder ANY verwendet, können Sie die Gruppe so konfigurieren, dass fehlgeschlagene Compute-Instanzen während der Reparatur in einer anderen Zone neu erstellt werden. Diese Einstellung gilt nur, wenn die MIG vorhandene Compute-Instanzen repariert, die fehlschlagen. Wenn Sie neue Compute-Instanzen während der Erstellung oder horizontalen Skalierung in verfügbaren Zonen platzieren möchten, verwenden Sie die Verteilungsform BALANCED oder ANY. Wenn Sie die Reparatur in einer alternativen Zone aktivieren möchten, setzen Sie sowohl das Feld instanceLifecyclePolicy.onRepair.allowChangingZone als auch das Feld instanceLifecyclePolicy.forceUpdateOnRepair auf "YES". Eine Anleitung finden Sie unter VM in einer alternativen Zone reparieren.

  • Kapazitätsanfragen für knappe Hardware in die Warteschlange stellen: Für Batch- oder KI/ML-Arbeitslasten, die knappe Hardware (z. B. GPUs) erfordern und eine flexible Startzeit tolerieren können, verwenden Sie MIG-Anfragen zur Größenanpassung, um Ihre Anfrage in die Warteschlange zu stellen und die angeforderten Compute-Instanzen zusammen bereitzustellen, wenn Kapazität verfügbar wird, oder erstellen Sie eine MIG mit Flex-Start-VMs.

  • Einschränkungen für kompakte Platzierung lockern: Wenn Sie beim Erstellen von Compute-Instanzen eine Richtlinie für kompakte Platzierung angeben, sollten Sie den Wert für die maximale Entfernung erhöhen oder die Richtlinie entfernen, um die Platzierungseinschränkungen zu lockern. Niedrigere Werte für den maximalen Abstand platzieren Compute-Instanzen näher beieinander, um die Netzwerklatenz zu verringern. Dadurch erhöht sich jedoch das Risiko von Fehlern bei der Ressourcenverfügbarkeit. Weitere Informationen finden Sie unter Richtlinien für kompakte Platzierung.

  • Verteilung von Compute-Instanzen überwachen: Wenn eine regionale verwaltete Instanzgruppe, die die Verteilungsform BALANCED, ANY oder ANY_SINGLE_ZONE verwendet, während der Gruppenerstellung und horizontalen Skalierung ihre Zielgröße mithilfe verfügbarer Zonen oder Fallback-Maschinentypen erreicht, protokolliert die Gruppe keine Fehler bei der Ressourcenverfügbarkeit. Wenn jedoch während der Reparatur der ursprüngliche Maschinentyp einer fehlgeschlagenen Compute-Instanz nicht verfügbar ist, protokolliert die MIG ZONE_RESOURCE_POOL_EXHAUSTED-Fehler, auch wenn Sie die Aktualisierung bei der Reparatur aktivieren. Wenn Sie sehen möchten, wo Compute Engine Ihre Compute-Instanzen über Zonen und Maschinentypen hinweg platziert hat, rufen Sie den Tab Monitoring für die MIG in derGoogle Cloud Console auf oder rufen Sie das Cloud Monitoring-Dashboard auf. Eine Anleitung finden Sie unter Instanzverteilung in MIGs überwachen.

Fehler beim Erstellen von Knoten für einzelne Mandanten beheben

Wenn Compute Engine keine physischen Server für Ihre Knoten für einzelne Mandanten zuweisen kann, versuchen Sie es mit einer oder beiden der folgenden Aktionen:

  • Anderen Knotentyp verwenden: Wählen Sie eine andere Knotenvorlage oder einen anderen Knotentyp mit anderen Hardwarekonfigurationen aus. Weitere Informationen finden Sie unter Einzelne Mandanten.

  • Knotenkapazität mit CPU-Overcommit optimieren: Wenn Sie Knoten hinzufügen möchten, weil die Kapazität für neue Compute-Instanzen auf Ihren vorhandenen Knoten nicht ausreicht, sollten Sie CPU-Overcommit aktivieren. Mit dieser Funktion können Sie die Dichte der Compute-Instanzen auf Ihren aktuellen physischen Servern erhöhen, sodass keine zusätzlichen Knoten bereitgestellt werden müssen. Weitere Informationen finden Sie unter CPU-Overcommit auf VMs für einzelne Mandanten.

Fehler beim Erstellen von TPU-Slices beheben

Wenn Ihre Anfrage zum Erstellen oder Skalieren von TPU-Slices fehlschlägt, weil in einer Zone keine verbundene physische Hardware vorhanden ist, versuchen Sie eine oder mehrere der folgenden Aktionen:

  • Flex-Start-VMs, vorausschauende Reservierungen im Kalendermodus oder in die Warteschlange gestellte Ressourcen verwenden: Anstatt nicht reservierte On-Demand-TPU-Anfragen zu senden, können Sie Flex-Start-VMs oder vorausschauende Reservierungen im Kalendermodus verwenden, um Ihre TPU-Slice-Anfrage in Compute Engine zu planen oder in die Warteschlange zu stellen. Wenn Sie TPUs über die Cloud TPU API anstelle von Compute Engine bereitstellen, verwenden Sie die Queued Resources API, um Ihre Anfrage in die Warteschlange zu stellen, bis zusammenhängende Kapazität in der Zone verfügbar ist.

  • Kleinere Topologien bewerten: Wenn Ihr ML-Framework kleinere Slice-Größen unterstützt, fordern Sie kleinere Topologien an. Größere TPU-Slices erfordern verbundene physische Hardware, die sich am selben Ort befindet. Diese ist möglicherweise nicht in einer einzelnen Zone verfügbar. Wenn Ihr Modell eine Hochgeschwindigkeits-Verbindung zwischen den Chips (ICI) über alle TPUs hinweg erfordert, müssen Sie möglicherweise die Einstellungen für Modell-Sharding oder Parallelisierung anpassen. Weitere Informationen finden Sie unter TPU-Topologie.

  • Wiederholen Sie den Vorgang nach Interconnect-Konfigurationsfehlern: Wenn Ihre Anfrage mit einem ACCELERATOR_INTERCONNECT_CONFIG_FAILED-Fehler fehlschlägt, warten Sie einige Minuten und versuchen Sie es dann noch einmal. Wenn das Problem weiterhin besteht, wenden Sie sich an Ihr Account-Management-Team oder den Support.

Fehler beim Erstellen einer Reservierung beheben

Wenn Ihre Anfrage zum Reservieren von Ressourcen aufgrund von Kapazitätseinschränkungen fehlschlägt, versuchen Sie es mit einer oder mehreren der folgenden Maßnahmen:

  • Zukünftige Verfügbarkeit im Kalendermodus ansehen: Wenn Sie eine Anfrage für eine vorausschauende Reservierung im Kalendermodus erstellen, können Sie sich die zukünftige Verfügbarkeit von Ressourcen ansehen, bevor Sie Ihre Anfrage senden. Wenn Sie Ressourcen angeben, die während eines bestimmten Zeitfensters verfügbar sind, erhöht sich die Wahrscheinlichkeit, dassGoogle Cloud Ihre Anfrage genehmigt. Eine Anleitung finden Sie unter Zukünftige Verfügbarkeit von Ressourcen ansehen.

  • Anzahl der reservierten Compute-Instanzen reduzieren: Versuchen Sie, eine kleinere Anzahl von Compute-Instanzen zu reservieren. Wenn Sie eine große Anzahl reservierter Compute-Instanzen benötigen, sollten Sie mehrere kleinere Reservierungen für diese Compute-Instanzen in verschiedenen Regionen oder Zonen erstellen.

  • Einschränkungen für kompakte Platzierung lockern: Wenn Sie beim Erstellen einer On-Demand-Reservierung eine Richtlinie für kompakte Platzierung angeben, sollten Sie den Wert für die maximale Entfernung erhöhen oder die Richtlinie entfernen, um die Platzierungseinschränkungen zu lockern. Mit Richtlinien für kompakte Platzierung können Sie Compute-Instanzen nahe beieinander reservieren, um die Netzwerklatenz zu reduzieren. Allerdings erhöht sich dadurch das Risiko von Fehlern bei der Ressourcenverfügbarkeit. Weitere Informationen finden Sie unter Richtlinien für kompakte Platzierung.

Fehler beim Aktualisieren von Maschinentyps beheben

Wenn Sie den Maschinentyp einer vorhandenen Compute-Instanz aktualisieren möchten, müssen Sie die Compute-Instanz beenden, bevor Sie die Änderung anwenden. Wenn Sie versuchen, die Compute-Instanz mit dem neuen Maschinentyp zu starten, und die Anfrage aufgrund von Hardwareeinschränkungen fehlschlägt, bleibt die Compute-Instanz beendet, bis Sie sie wieder starten.

Führen Sie einen oder beide der folgenden Schritte aus, um Ihre Compute-Instanz zu aktualisieren und neu zu starten:

  • Zum ursprünglichen Maschinentyp zurückkehren oder einen alternativen Maschinentyp verwenden: Wenn die Zielhardwarekonfiguration nicht verfügbar ist, ändern Sie den Maschinentyp wieder in die vorherige Konfiguration oder verwenden Sie einen Zwischenmaschinentyp, der Ihre Arbeitslast unterstützt. Nachdem Sie eine dieser Aktionen ausgeführt haben, starten Sie Ihre Compute-Instanz neu. Da die Compute-Instanz vor dem Beenden mit dieser Konfiguration ausgeführt wurde, können Sie Ihre Arbeitslast neu starten, während Sie alternative Optionen prüfen oder Kapazität in einer anderen Zone anfordern.

  • Arbeitslast in eine andere Zone verschieben: Wenn der Zielmaschinentyp in Ihrer aktuellen Zone nicht verfügbar ist, verschieben Sie Ihre Arbeitslast in eine Zone mit Kapazität. Da Compute-Instanzen zonale Ressourcen sind, erstellen Sie einen Snapshot des Bootlaufwerks und aller angehängten Laufwerke. Erstellen Sie dann eine Ersatz-Compute-Instanz in der Zielzone mit dem neuen Maschinentyp. Eine Anleitung dazu finden Sie unter VM-Instanz zwischen Zonen oder Regionen verschieben.

Zusammenfassung der Empfehlungen nach Arbeitslastanforderungen

In der folgenden Tabelle finden Sie alternative Ansätze, die auf den Aspekten Ihrer Arbeitslast basieren, die Sie anpassen können:

Was Sie behalten müssen Was du anpassen kannst Empfehlung Anwendbare Funktionen
Standort (eine bestimmte Zone oder Region) Maschinenreihe oder -typ Konfigurieren Sie Fallback-Maschinentypen mit Instanz-Flexibilität oder verteilen Sie die Rechenanforderungen auf kleinere Maschinentypen, die Ihre Arbeitslast unterstützen.
Maschinentyp (eine bestimmte Konfiguration) Standort Fordern Sie Ressourcen in einer anderen Region oder Zone an, verwenden Sie eine flexible Zielverteilungsform (BALANCED, ANY oder ANY_SINGLE_ZONE) oder aktivieren Sie die Reparatur in einer alternativen Zone für regionale MIGs, die die Form BALANCED oder ANY verwenden.
Spezifische Hardware (z. B. ein bestimmtes GPU-Modell) Die Startzeit oder das Bereitstellungsmodell Verwenden Sie Flex-Start-VMs, Anfragen zur Größenanpassung von verwalteten Instanzgruppen, Spot-VMs (auch beim Erstellen von Compute-Instanzen im Bulk), vorausschauende Reservierungen im Kalendermodus oder TPU-Ressourcen in der Warteschlange.
Sofortiger Start für verfügbare Compute-Instanzen Anfängliche Anzahl von Compute-Instanzen Legen Sie einen niedrigeren minCount-Wert fest, wenn Sie Compute-Instanzen im Bulk erstellen, um eine Teilkapazität zu akzeptieren, oder verwenden Sie eine MIG, um verfügbare Compute-Instanzen sofort zu starten, während die Gruppe versucht, die verbleibenden Compute-Instanzen zu erhalten.

Nächste Schritte