Un errore di disponibilità delle risorse si verifica quando una zona non dispone di capacità disponibile sufficiente per eseguire il provisioning delle risorse di computing richieste per creare, riavviare o aggiornare le istanze di Compute Engine o per prenotare risorse di zona.
Questo documento spiega come identificare e risolvere gli errori di disponibilità delle risorse. Poiché questi errori indicano una carenza di hardware fisico in una zona anziché un limite di utilizzo del progetto, un aumento della quota non li risolve. In alternativa, per risolvere i problemi relativi ai limiti di quota, consulta Risolvi i problemi relativi agli errori di quota.
Informazioni sugli errori di disponibilità delle risorse
Gli errori di disponibilità delle risorse si verificano quando una zona non dispone di capacità sufficiente per una o più delle seguenti risorse fisiche:
Acceleratori (se presenti)
Core CPU
Dischi
Memoria
Ad esempio, supponiamo che tu voglia creare un'istanza di computing che utilizzi il tipo di macchina a2-highgpu-2g e abbia due dischi SSD locali collegati. Questo tipo di macchina include 24 vCPU sul processore Intel Xeon Platinum 8273CL, 170 GB di memoria e due GPU NVIDIA A100. Se tutte queste risorse sono disponibili nella zona specificata al momento della richiesta, quest'ultima va a buon fine. In caso contrario, la richiesta non va a buon fine e viene visualizzato un errore di disponibilità della risorsa.
Quando si verifica un errore di disponibilità delle risorse, Compute Engine restituisce un messaggio di errore simile a uno dei seguenti nella console Google Cloud , in Google Cloud CLI o nella risposta dell'API:
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.
Puoi visualizzare un messaggio di errore relativo alla disponibilità delle risorse nel seguente modo:
Per le istanze di computing autonome, le istanze di computing create in blocco, i nodi single-tenant o le prenotazioni, Compute Engine restituisce questi messaggi di errore nella console Google Cloud , in gcloud CLI o nella risposta dell'API.
Per i gruppi di istanze gestite (MIG), Compute Engine registra questi errori nell'elenco degli errori delle istanze del MIG. Per visualizzare il messaggio di errore e il vincolo hardware che lo ha causato, consulta Elenca gli errori dell'istanza.
Risolvi gli errori di disponibilità delle risorse
Gli errori di disponibilità delle risorse rientrano in due categorie: errori di configurazione che puoi correggere (ad esempio, quando tenti di richiedere un tipo di macchina non supportato in una zona) e vincoli hardware fisici che non puoi controllare.
Per risolvere un errore di disponibilità delle risorse, completa i seguenti passaggi. Se preferisci valutare le opzioni in base a ciò che il tuo workload può modificare, consulta invece il Riepilogo dei suggerimenti in base ai requisiti del workload.
Risolvi i vincoli specifici delle risorse: se il messaggio di errore include un codice motivo, consulta Risolvi gli errori in base ai motivi. Se queste soluzioni specifiche non risolvono il problema, vai al passaggio successivo.
Applica strategie generali per la capacità: se il messaggio di errore non include un codice motivo o se le modifiche specifiche non sono sufficienti, consulta Risolvi gli errori comuni.
Esamina i suggerimenti specifici per le funzionalità: se non hai ancora risolto il problema, consulta una delle seguenti sezioni in base al metodo di deployment o alla funzionalità:
Se si verificano errori di disponibilità delle risorse quando tenti di creare o scalare automaticamente un cluster Google Kubernetes Engine (GKE), consulta Risolvi i problemi di creazione del cluster.
Risolvi gli errori in base ai motivi dell'errore
Quando Compute Engine fornisce dati diagnostici dettagliati per un errore di disponibilità delle risorse, la risposta di errore identifica le cause principali specifiche che hanno impedito a Compute Engine di soddisfare la tua richiesta.
Nella console Google Cloud , in gcloud CLI o in Cloud Logging, le cause principali vengono visualizzate nel messaggio di errore dell'operazione:
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.
Nell'API REST, i dettagli dell'errore vengono visualizzati nell'array error.errors[] dell'operazione, con le cause principali restituite in LocalizedMessage e nel dettaglio google.rpc.ErrorInfo (domain: "compute.googleapis.com"):
{
"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"
}
}
}
]
}
A seconda del codice di errore nella risposta, esegui le seguenti azioni:
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: Compute Engine identifica le cause principali che hanno impedito l'evasione nella zona di destinazione. Se altre zone della stessa regione hanno capacità per la tua richiesta, i dettagli dell'errore includono anche un elenco di zone consigliate (AVAILABLE_ZONESnel messaggio ozonesAvailablenei metadatiErrorInfodell'API). Se i dettagli dell'errore elencano le zone consigliate, crea, esegui la migrazione o prenota le istanze di computing in una di queste zone. Se non ci sono altre zone nella regione con capacità, il messaggio di errore non elenca zone alternative.REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: tutte le zone valutate nella regione di destinazione non hanno capacità sufficiente per la tua richiesta. Esamina i motivi del vincolo nel messaggio di errore o riprova a inviare la richiesta in un'altra regione, con un tipo di macchina alternativo o con un modello di provisioning flessibile.POOL_CAPACITY_INSUFFICIENT: la zona selezionata non dispone di risorse sufficienti per creare il numero richiesto di istanze di computing. Richiedi meno risorse, seleziona un tipo di macchina o una zona diversi oppure utilizza il modello di provisioning con avvio flessibile, spot o con prenotazione.ACCELERATOR_INTERCONNECT_CONFIG_FAILED: Compute Engine non è riuscito a configurare la topologia di interconnessione ad alta velocità richiesta per la tua sezione di acceleratore, ad esempio una sezione TPU o GPU multinodo. Attendi qualche minuto e riprova. Se il problema persiste, contatta il team dedicato all'account o l'assistenza.
Se la richiesta incontra vincoli su più risorse fisiche contemporaneamente, Compute Engine restituisce un elenco separato da virgole di codici reason, ad esempio "reason": "gpu_availability,local_ssd_availability".
Se la risposta di errore include uno o più motivi del vincolo, consulta i seguenti passaggi per la risoluzione dei problemi relativi a ciascun vincolo delle risorse applicabile:
configuration_availability
Un errore configuration_availability indica che la zona di destinazione non supporta la combinazione di tipo di macchina, piattaforma CPU o interfaccia disco che hai richiesto. A differenza di altri errori di disponibilità delle risorse, questo errore indica
una configurazione non supportata anziché un vincolo temporaneo delle risorse. Se riprovi a inviare la richiesta in un secondo momento, questa non andrà comunque a buon fine.
Per risolvere questo errore, completa i seguenti passaggi:
Verifica il supporto hardware: per verificare se la zona di destinazione supporta la configurazione richiesta, consulta Regioni e zone disponibili e Confronto delle serie di macchine.
Modifica la richiesta: se la configurazione hardware non è supportata in quella zona, prova una delle seguenti azioni:
Modifica la richiesta in modo da utilizzare un tipo di macchina, una piattaforma CPU o un'interfaccia disco supportata dalla zona di destinazione.
Riprova a inviare la richiesta in una zona alternativa che supporti la serie di macchine, la piattaforma CPU e i tipi di disco richiesti.
cpu_availability
Un errore cpu_availability indica che la zona non dispone di capacità sufficiente per il numero di CPU o vCPU specificato.
Per risolvere questo errore, prova una o più delle seguenti azioni:
Esegui il deployment in una zona o regione alternativa: se il messaggio di errore elenca le zone disponibili (
AVAILABLE_ZONES), crea o esegui la migrazione della tua istanza di computing in una di queste zone consigliate. Se il messaggio di errore non elenca le zone disponibili, prova a richiedere risorse in un'altra zona della stessa regione o in una regione diversa.Cancella le limitazioni della piattaforma CPU: se la tua richiesta specifica una piattaforma CPU minima (
minCpuPlatform), imposta il valore suAUTOMATIC. Se hai bisogno di una piattaforma CPU specifica, Compute Engine non può posizionare l'istanza di computing su altre piattaforme CPU supportate dalla serie di macchine in quella zona.Passa a un'altra serie di macchine: se una serie di macchine specifica non ha capacità nella zona di destinazione, prova un'altra serie o generazione di macchine che supporti il tuo workload, ad esempio N2, N2D o N4. Le diverse serie di macchine utilizzano piattaforme CPU e server fisici diversi. Le serie di macchine di ultima generazione offrono anche prestazioni più elevate per vCPU, il che può consentirti di eseguire il workload con meno vCPU.
Riduci le vCPU richieste: se utilizzi tipi di macchine personalizzate, riduci il numero di vCPU al minimo richiesto per il tuo workload. Le configurazioni con vCPU più piccole si adattano ai server fisici con capacità rimanente limitata, il che aumenta la probabilità che Compute Engine soddisfi la tua richiesta.
Suddividi i requisiti di computing tra tipi di macchine più piccoli: se la tua applicazione supporta un'architettura distribuita, suddividi l'impatto del computing tra tipi di macchine più piccoli della stessa famiglia di macchine. Ad esempio, se non riesci a creare 80 istanze di computing utilizzando i tipi di macchina
n2-standard-96(con 96 vCPU ciascuna), prova a creare 160 istanze di computing utilizzando i tipi di macchinan2-standard-48(con 48 vCPU ciascuna).
gpu_availability
Un errore gpu_availability indica che la zona non ha capacità sufficiente per il modello di GPU richiesto.
Per risolvere questo errore, prova una o più delle seguenti azioni:
Esegui il deployment in una zona o regione alternativa: se il messaggio di errore elenca le zone disponibili (
AVAILABLE_ZONES), crea o esegui la migrazione della tua istanza di computing in una di queste zone consigliate. Se il messaggio di errore non elenca le zone disponibili, prova a richiedere risorse in un'altra zona o regione che supporti lo stesso modello di GPU. Per un elenco delle regioni e delle zone che supportano le GPU, consulta Disponibilità delle GPU.Utilizza un modello di provisioning alternativo: se non riesci a creare istanze GPU utilizzando il modello di provisioning standard, prova a richiedere le risorse utilizzando il modello di provisioning con avvio flessibile, spot o con prenotazione. Modelli di provisioning diversi attingono da pool di capacità separati. Per saperne di più, consulta Modelli di provisioning delle istanze Compute Engine.
local_ssd_availability
Un errore local_ssd_availability indica che la zona non dispone di capacità sufficiente per il numero o i tipi di dischi SSD locali richiesti.
Se il tuo workload tollera l'archiviazione permanente, passa dai dischi SSD locali ai volumi Hyperdisk Extreme, Hyperdisk bilanciato o SSD Persistent Disk. Per indicazioni sui compromessi tra prestazioni e durabilità, consulta Opzioni di archiviazione temporanea e durevole.
memory_availability
Un errore memory_availability indica che la zona non ha capacità sufficiente per la quantità di memoria richiesta.
Per risolvere questo errore, prova una o entrambe le seguenti azioni:
Esegui il deployment in una zona o regione alternativa: se il messaggio di errore elenca le zone disponibili (
AVAILABLE_ZONES), crea o esegui la migrazione della tua istanza di computing in una di queste zone consigliate. Se il messaggio di errore non elenca le zone disponibili, prova a richiedere risorse in un'altra zona della stessa regione o in una regione diversa.Suddividi i requisiti di computing tra tipi di macchine più piccoli: se la tua applicazione supporta un'architettura di memoria distribuita, suddividi il footprint della memoria tra più istanze di computing più piccole. Ad esempio, se non riesci a creare un'istanza di computing con 1,88 TB di memoria (come
m1-ultramem-80), suddividi il workload tra più istanze di computing più piccole che forniscono la capacità di memoria combinata.
resource_availability
Un errore resource_availability indica che la zona non ha capacità sufficiente per il tipo di macchina richiesto. Per risolvere questo errore, prova una o più delle seguenti
azioni:
Specifica una zona alternativa.
Seleziona un tipo di macchina alternativo che supporti il tuo workload. Per indicazioni sulla selezione di tipi di macchine alternativi, consulta Suggerimenti per i tipi di macchine.
Se il tuo workload può tollerare interruzioni o ore di inizio flessibili, specifica un modello di provisioning alternativo. Per saperne di più, consulta Modelli di provisioning delle istanze Compute Engine.
Se riscontri questo errore durante la richiesta di un tipo di macchina
a3-highgpu-1g,a3-highgpu-2goa3-highgpu-4g, verifica di eseguire il provisioning dell'istanza di computing utilizzando uno dei metodi di deployment supportati.
Risolvi gli errori comuni
Se il messaggio di errore non include un codice motivo, modifica la località, la configurazione hardware o l'ora di inizio delle istanze di computing. Per aumentare le probabilità che Compute Engine soddisfi la tua richiesta, prova una o più delle seguenti azioni:
Prova una regione o una zona alternativa: se il tuo workload lo consente, richiedi risorse in un'altra zona all'interno della stessa regione o in una regione diversa. Quando crei MIG regionali o istanze di computing in blocco in una regione, Compute Engine distribuisce le istanze di computing tra le zone con hardware disponibile. Per saperne di più, consulta Funzionalità di flessibilità della località.
Verifica le proprietà della prenotazione: se non riesci a creare un'istanza di computing nonostante tu abbia una prenotazione corrispondente non utilizzata completamente, verifica che le proprietà della prenotazione e dell'istanza di computing corrispondano. Se le proprietà non corrispondono, Compute Engine tenta di eseguire il provisioning della capacità on demand nella zona di destinazione anziché utilizzare la prenotazione. Questo tentativo può non riuscire se la zona non ha capacità sufficiente. Per risolvere gli errori che si verificano quando utilizzi una prenotazione, consulta Risolvi i problemi relativi al consumo delle prenotazioni.
Adotta la flessibilità dei tipi di macchine: anziché sostituire un singolo tipo di macchina con un altro, amplia le tue opzioni. Quando crei MIG regionali o istanze di computing in blocco, specifica più tipi di macchine di riserva in una policy di flessibilità delle istanze. Se il tipo di macchina principale non è disponibile, Compute Engine esegue il provisioning di un tipo di macchina di riserva disponibile dall'elenco. Puoi anche suddividere i requisiti di computing tra tipi di macchine più piccoli con meno vCPU e meno memoria. Per saperne di più, consulta Funzionalità di flessibilità dei tipi di macchina e Suggerimenti per i tipi di macchina.
Utilizza un modello di provisioning alternativo: se non riesci a creare istanze di computing utilizzando il modello di provisioning standard, prova a richiedere le risorse utilizzando il modello di provisioning con avvio flessibile, con prenotazione o spot. Modelli di provisioning diversi attingono da pool di capacità separati. Per maggiori informazioni, consulta Modelli di provisioning delle istanze Compute Engine.
Controlla la capacità in tempo reale: prima di creare, riavviare o aggiornare le VM spot, controlla la probabilità di ottenere capacità (il punteggio di ottenibilità) e l'uptime previsto per i tipi di macchine e le località. Poiché questi punteggi non garantiscono né prenotano la capacità, invia la tua richiesta non appena verifichi la disponibilità. Per istruzioni, consulta Visualizza la disponibilità delle VM spot.
Riprova a inviare la richiesta in un secondo momento: la capacità in una zona cambia man mano che i workload in Google Cloud completano e rilasciano l'hardware fisico. Se il tuo workload è flessibile in termini di tempo, riprova a inviare la richiesta in un secondo momento. Per saperne di più, consulta Funzionalità di flessibilità temporale.
Risolvi gli errori durante la creazione di istanze di computing autonome
Se la richiesta di creazione di istanze di computing autonome non va a buon fine a causa di vincoli hardware, prova una o più delle seguenti azioni:
Modifica il metodo di richiesta: le istanze di computing autonome offrono una flessibilità ridotta in caso di vincoli hardware in una zona. Se il tuo workload lo consente, crea istanze di computing in blocco. Questo metodo di creazione ti consente di:
Aggiungi flessibilità di località: puoi creare istanze di computing in una regione anziché in una singola zona. Questo approccio consente a Compute Engine di distribuire le istanze di computing tra le zone con hardware disponibile.
Aggiungi tipo di macchina di macchina: puoi specificare più tipi di macchina di riserva in una policy di flessibilità delle istanze. Questo approccio consente a Compute Engine di selezionare un altro tipo di macchina elencato se la tua scelta principale non è disponibile.
Riduci le risorse richieste: seleziona un tipo di macchina predefinita con meno vCPU, meno memoria o meno dischi collegati. Le configurazioni hardware più piccole si adattano ai server fisici con capacità rimanente limitata.
Crea tipi di macchine personalizzate: i tipi di macchine personalizzate utilizzano gli stessi server fisici dei tipi di macchine predefinite della stessa serie di macchine e non hanno un pool di capacità separato. Per adattarsi ai server fisici con capacità limitata, richiedi meno vCPU rispetto a un tipo di macchina predefinita più grande (ad esempio, richiedi un tipo di macchina personalizzata con 20 vCPU anziché un'
n2-standard-32). Per le serie di macchine ottimizzate per l'acceleratore (come G2), i tipi di macchine personalizzate richiedono comunque GPU fisiche e non possono risolvere una carenza di GPU. Per le istruzioni, consulta Crea una VM con un tipo di macchina personalizzata.Modifica i tipi di archiviazione: se il tipo di macchina supporta opzioni di archiviazione alternative, passa da Google Cloud Hyperdisk a Persistent Disk e viceversa. Persistent Disk SSD e i dischi permanenti bilanciati condividono lo stesso pool di archiviazione fisico. Se un tipo di disco non ha capacità in una zona, nella maggior parte dei casi anche l'altro tipo di disco non è disponibile. Se un volume Persistent Disk non ha capacità sufficiente, verifica che il tuo progetto abbia una quota sufficiente per Hyperdisk e passa a un tipo di macchina che supporti i volumi Hyperdisk. Per esaminare quali serie di macchine supportano i volumi Persistent Disk e Hyperdisk, consulta Confronto tra serie di macchine.
Risolvi gli errori durante la creazione collettiva di istanze di computing
Quando crei istanze di computing in blocco (bulkInsert), Compute Engine
controlla la capacità in anticipo senza accodare o riprovare la richiesta. Per impostazione predefinita, il conteggio minimo (minCount) è uguale al conteggio totale richiesto (count), quindi se Compute Engine non riesce a creare tutte le istanze di computing richieste al momento della richiesta, questa non va a buon fine e non viene creata alcuna istanza di computing.
Se la richiesta di creazione collettiva di istanze di computing non va a buon fine a causa di vincoli hardware, prova una o più delle seguenti azioni. Per indicazioni su come valutare i compromessi e le best practice, consulta Valuta e adotta un'infrastruttura flessibile.
Accetta capacità parziale (
minCount): se il tuo workload può iniziare con un numero di istanze di computing inferiore al conteggio totale richiesto, imposta un valore inferiore nel campominCount. Questa impostazione consente di soddisfare la richiesta, purché Compute Engine possa eseguire il provisioning almeno del numero minimo di istanze di computing.Crea istanze di computing in una regione: se crei istanze di computing in blocco in una zona specifica, la richiesta non va a buon fine se la zona non ha capacità sufficiente. Scegli invece come target una regione in modo che Compute Engine selezioni le zone con hardware disponibile. Per impostazione predefinita, la creazione collettiva regionale utilizza la forma di distribuzione target
ANY_SINGLE_ZONE, che posiziona tutte le istanze di computing in un'unica zona con capacità. Se nessuna singola zona può contenere il batch completo e le istanze di computing possono estendersi su più zone, imposta la forma di distribuzione target suBALANCEDoANY. Per istruzioni, consulta Crea VM in blocco in una regione.Utilizza i tipi di macchine di riserva: in una richiesta collettiva regionale, configura una policy di flessibilità delle istanze con tipi di macchine di riserva compatibili. Se necessario, puoi anche limitare il posizionamento a zone specifiche utilizzando il flag
--location-policy. Se il tipo di macchina principale non è disponibile, Compute Engine esegue il provisioning dei tipi di macchina di riserva disponibili dall'elenco.Suddividi la richiesta tra località o nel tempo: se nessuna singola zona o regione ha capacità sufficiente per il batch completo, dividi la richiesta in batch più piccoli tra zone o regioni diverse o scagliona le richieste nel tempo. Non inviare più richieste di dimensioni ridotte alla stessa zona esaurita contemporaneamente.
Allenta i vincoli di posizionamento compatto: se specifichi una policy di posizionamento compatto quando crei istanze di computing, valuta la possibilità di aumentare il valore di distanza massima o di rimuovere la policy per allentare i vincoli di posizionamento. Valori di distanza massima inferiori posizionano le istanze di computing più vicine per ridurre la latenza di rete, ma aumentano il rischio di errori di disponibilità delle risorse. Per saperne di più, consulta Informazioni sulle policy di posizionamento compatto.
Risolvi gli errori durante la creazione, la scalabilità o la riparazione dei MIG
A differenza delle richieste di creazione autonome o collettive, un MIG esegue il provisioning di un numero di istanze di computing pari alla capacità attuale. Per tutte le istanze di computing che il MIG non può ancora creare, il gruppo registra gli errori in Elenca gli errori delle istanze e continua a riprovare la creazione in background.
Se il MIG rileva errori di disponibilità delle risorse durante la creazione, lo scale out o la riparazione delle istanze di computing, prova una o più delle seguenti azioni:
Attendi o regola le dimensioni target: se la carenza di hardware è temporanea e il tuo workload può essere eseguito con capacità parziale, lascia che il MIG continui a riprovare o riduci le dimensioni target del MIG.
Aggiorna il template di istanza: se l'elenco degli errori dell'istanza mostra un errore
configuration_availability(hardware non supportato nella zona) o l'esaurimento della capacità persistente su un tipo di macchina, crea e implementa un template di istanza aggiornato che utilizzi un tipo di macchina supportato o più disponibile oppure un modello di provisioning alternativo. Questo approccio funziona su qualsiasi MIG a livello di zona o di regione esistente senza eseguire la migrazione a un nuovo gruppo.Sostituisci un MIG a livello di zona bloccato con un MIG a livello di regione: se un MIG a livello di zona presenta carenze di capacità ricorrenti e il tuo workload richiede una resilienza multi-zona continua, crea un MIG a livello di regione, esegui la migrazione del workload nel nuovo gruppo ed elimina il MIG a livello di zona originale. I MIG a livello di regione aumentano la probabilità di ottenere l'hardware perché possono eseguire il provisioning delle istanze di computing in più zone della regione.
Configura una forma di distribuzione target flessibile: con la forma di distribuzione
EVEN, un MIG a livello di regione esegue il provisioning di una quota uguale di istanze di computing in ogni zona. Se una zona non ha capacità, le altre zone della regione continuano a creare la propria quota di istanze di computing, mentre la zona con vincoli riprova a creare la propria quota. Anche i MIG con scalabilità automatica e una forma di distribuzioneEVENcontinuano a fare lo scale out nelle zone disponibili. Questo comportamento lascia un gruppo dimensionato manualmente al di sotto della sua dimensione target completa fino al ripristino della capacità nella zona con vincoli. Per evitare questa limitazione, configura il MIG a livello di regione in modo che utilizzi una forma di distribuzione target che corrisponda ai requisiti del workload:BALANCED: distribuisce le istanze di computing tra le zone con capacità disponibile, mantenendo la distribuzione il più uniforme possibile. Utilizza questa forma per i workload di distribuzione e batch ad alta affidabilità.ANY: posiziona le istanze di computing in qualsiasi zona con capacità disponibile e dà la priorità alle prenotazioni inutilizzate nella regione. Utilizza questa forma per i workload batch che non richiedono una distribuzione bilanciata tra le zone.ANY_SINGLE_ZONE: colloca tutte le istanze di computing in un'unica zona con capacità disponibile, evitando la latenza tra zone e i costi di traffico in uscita dalla rete. Utilizza questa forma per workload ad alto accoppiamento e sensibili alla latenza.
Configura la flessibilità del tipo di macchina nel MIG a livello di regione: in un MIG a livello di regione che utilizza la forma di distribuzione
BALANCED,ANYoANY_SINGLE_ZONE, aggiungi i tipi di macchina di riserva in una policy di flessibilità delle istanze (instanceFlexibilityPolicy). Se il tipo di macchina principale non è disponibile quando il MIG fa lo scale out, il MIG esegue il provisioning del tipo di macchina disponibile successivo nell'elenco. Per impostazione predefinita, le riparazioni riprovano solo il tipo di macchina originale dell'istanza di computing con errori. Per consentire alle riparazioni di utilizzare anche i tipi di macchine di riserva, attiva l'aggiornamento durante la riparazione impostando il campoinstanceLifecyclePolicy.forceUpdateOnRepairsu"YES". Per i workload in una singola zona, utilizza un MIG a livello di regione con la formaANY_SINGLE_ZONEo seleziona una singola zona target. Per saperne di più, consulta Informazioni sulla flessibilità delle istanze nei MIG.Consenti le riparazioni in una zona alternativa: in un MIG stateless a livello di regione che utilizza la forma di distribuzione
BALANCEDoANY, configura il gruppo in modo da ricreare le istanze di computing con errori in un'altra zona durante la riparazione. Questa impostazione si applica solo quando il MIG ripara le istanze di computing esistenti che non funzionano. Per posizionare nuove istanze di computing nelle zone disponibili durante la creazione o lo scale out, utilizza la forma di distribuzioneBALANCEDoANY. Per attivare la riparazione in una zona alternativa, imposta sia il campoinstanceLifecyclePolicy.onRepair.allowChangingZonesia il campoinstanceLifecyclePolicy.forceUpdateOnRepairsu"YES". Per le istruzioni, consulta Ripara una VM in una zona alternativa.Metti in coda le richieste di capacità per hardware con disponibilità limitata: per i workload batch o AI/ML che richiedono hardware con disponibilità limitata (come le GPU) e possono tollerare un'ora di inizio flessibile, utilizza le richieste di ridimensionamento dei MIG per mettere in coda la richiesta ed eseguire il provisioning delle istanze di computing richieste insieme quando la capacità diventa disponibile oppure crea un MIG con VM con avvio flessibile.
Allenta i vincoli di posizionamento compatto: se specifichi una policy di posizionamento compatto quando crei istanze di computing, valuta la possibilità di aumentare il valore di distanza massima o di rimuovere la policy per allentare i vincoli di posizionamento. Valori di distanza massima inferiori posizionano le istanze di computing più vicine per ridurre la latenza di rete, ma aumentano il rischio di errori di disponibilità delle risorse. Per saperne di più, consulta Informazioni sulle policy di posizionamento compatto.
Monitora la distribuzione delle istanze di computing: durante la creazione e lo scale out del gruppo, quando un MIG a livello di regione che utilizza la forma di distribuzione
BALANCED,ANYoANY_SINGLE_ZONEsoddisfa le dimensioni target utilizzando le zone disponibili o i tipi di macchine di riserva, il gruppo non registra errori di disponibilità delle risorse. Tuttavia, durante le riparazioni, se il tipo di macchina originale di un'istanza di computing con errori non è disponibile, il MIG registra erroriZONE_RESOURCE_POOL_EXHAUSTEDanche se attivi l'aggiornamento durante la riparazione. Per vedere dove Compute Engine ha posizionato le istanze di computing tra zone e tipi di macchine, controlla la scheda Monitoraggio del MIG nella consoleGoogle Cloud o visualizza la dashboard di Cloud Monitoring. Per le istruzioni, consulta Monitora la distribuzione delle istanze nei MIG.
Risolvi gli errori durante la creazione di nodi single-tenant
Se Compute Engine non riesce ad allocare server fisici per i nodi single-tenant, prova una o entrambe le seguenti azioni:
Utilizza un tipo di nodo diverso: scegli un template o un tipo di nodo diverso che offra configurazioni hardware diverse. Per saperne di più, consulta Panoramica della single-tenancy.
Ottimizza la capacità dei nodi con l'overcommit della CPU: se provi ad aggiungere nodi perché hai esaurito la capacità per nuove istanze di computing sui nodi esistenti, valuta la possibilità di attivare l'overcommit della CPU. Questa funzionalità ti consente di aumentare la densità delle istanze di computing sui tuoi server fisici attuali, evitando la necessità di eseguire il provisioning di nodi aggiuntivi. Per saperne di più, consulta Esegui l'overcommit delle CPU sulle VM single-tenant.
Risolvi gli errori durante la creazione di sezioni TPU
Se la richiesta di creazione o scalabilità delle sezioni TPU non va a buon fine perché una zona non dispone di hardware fisico connesso, prova una o più delle seguenti azioni:
Utilizza le VM Flex-start, le prenotazioni future in modalità calendario o le risorse in coda: anziché inviare richieste di TPU on demand non prenotate, utilizza le VM Flex-start o le prenotazioni future in modalità calendario per pianificare o mettere in coda la richiesta di una sezione TPU su Compute Engine. Se esegui il provisioning delle TPU tramite l'API Cloud TPU anziché Compute Engine, utilizza l'API Queued Resources per mettere in coda la richiesta finché non diventa disponibile una capacità contigua nella zona.
Valuta topologie più piccole: se il tuo framework di machine learning (ML) supporta slice di dimensioni inferiori, richiedi topologie più piccole. Le sezioni TPU più grandi richiedono hardware fisico connesso situato nella stessa posizione, che potrebbe non essere disponibile in una singola zona. Se il tuo modello richiede un'interconnessione inter-chip (ICI) a larghezza di banda elevata tra tutte le TPU, potresti dover modificare le impostazioni per lo sharding o la parallelizzazione del modello. Per maggiori informazioni, consulta Topologia TPU.
Riprova dopo gli errori di configurazione di Interconnect: se la richiesta non va a buon fine con un errore
ACCELERATOR_INTERCONNECT_CONFIG_FAILED, attendi qualche minuto e riprova. Se il problema persiste, contatta il team dedicato all'account o l'assistenza.
Risolvi gli errori durante la creazione di una prenotazione
Se la tua richiesta di prenotazione delle risorse non va a buon fine a causa di vincoli di capacità, prova una o più delle seguenti azioni:
Visualizza la disponibilità futura in modalità calendario: se crei una richiesta di prenotazione futura in modalità calendario, visualizza la disponibilità futura delle risorse prima di inviare la richiesta. Se specifichi risorse disponibili durante un determinato periodo di tempo, aumenti le probabilità cheGoogle Cloud approvi la tua richiesta. Per istruzioni, consulta Visualizza la disponibilità futura delle risorse.
Riduci il numero di istanze di computing prenotate: prova a prenotare un numero inferiore di istanze di computing. Se hai bisogno di un numero elevato di istanze di computing prenotate, valuta la possibilità di creare più prenotazioni di dimensioni inferiori per queste istanze di computing in regioni o zone diverse.
Rendi meno restrittivi i vincoli di posizionamento compatto: se specifichi una policy di posizionamento compatto quando crei una prenotazione on demand, valuta la possibilità di aumentare il valore di distanza massima o di rimuovere la policy per rendere meno restrittivi i vincoli di posizionamento. Le policy di posizionamento compatto ti aiutano a prenotare istanze di computing vicine tra loro per ridurre la latenza di rete, ma aumentano il rischio di riscontrare errori di disponibilità delle risorse. Per saperne di più, consulta Informazioni sulle policy di posizionamento compatto.
Risolvi gli errori durante l'aggiornamento dei tipi di macchina
Per aggiornare il tipo di macchina di un'istanza di computing esistente, devi arrestare l'istanza di computing prima di applicare la modifica. Se provi ad avviare l'istanza di computing con il nuovo tipo di macchina e la richiesta non va a buon fine a causa di vincoli hardware, l'istanza di computing rimane arrestata finché non la avvii di nuovo.
Per aggiornare e riavviare l'istanza di computing, prova una o entrambe le seguenti azioni:
Ripristina il tipo di macchina originale o utilizza un tipo di macchina alternativo: se la configurazione hardware di destinazione non è disponibile, ripristina la configurazione precedente del tipo di macchina o utilizza un tipo di macchina intermedio che supporti il tuo workload. Dopo aver eseguito una di queste azioni, riavvia l'istanza di computing. Poiché l'istanza di computing è stata eseguita su quella configurazione prima che la interrompessi, questo ripristino ti consente di riavviare il workload mentre valuti opzioni alternative o richiedi capacità in un'altra zona.
Sposta il workload in un'altra zona: se il tipo di macchina di destinazione non è disponibile nella zona attuale, sposta il workload in una zona con capacità. Poiché le istanze di computing sono risorse di zona, acquisisci uno snapshot del disco di avvio e di eventuali dischi collegati. Quindi, crea un'istanza di computing sostitutiva nella zona di destinazione con il nuovo tipo di macchina. Per le istruzioni, consulta Sposta un'istanza VM tra zone o regioni.
Riepilogo dei suggerimenti in base ai requisiti del workload
Per valutare approcci alternativi in base agli aspetti del workload che puoi modificare, consulta la tabella seguente:
| Cosa devi conservare | Cosa puoi regolare | Suggerimento | Funzionalità applicabili |
|---|---|---|---|
| Località (una zona o una regione specifica) | Serie o tipo di macchina | Configura i tipi di macchine di riserva con la flessibilità delle istanze o suddividi i requisiti di computing tra tipi di macchine più piccoli che supportano il tuo workload. | |
| Tipo di macchina (una configurazione specifica) | Località | Richiedi risorse in una regione o zona diversa, utilizza una forma di distribuzione target flessibile (BALANCED, ANY o ANY_SINGLE_ZONE) oppure attiva la riparazione in una zona alternativa per i MIG a livello di regione che utilizzano la forma BALANCED o ANY. |
|
| Hardware specifico (ad esempio un modello di GPU specifico) | L'ora di inizio o il modello di provisioning | Utilizza VM Flex-start, richieste di ridimensionamento del MIG, VM spot (anche quando crei istanze di computing in blocco), prenotazioni future in modalità calendario o risorse in coda per le TPU. | |
| Avvio immediato per le istanze di computing disponibili | Conteggio iniziale delle istanze di computing | Imposta un valore minCount inferiore quando crei istanze di computing in blocco per accettare la capacità parziale o utilizza un MIG per avviare immediatamente le istanze di computing disponibili mentre il gruppo riprova a ottenere le istanze di computing rimanenti. |
Passaggi successivi
- Scopri come ottimizzare il provisioning del computing.