Se noti un problema su un'istanza A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU) che non riesci a risolvere autonomamente, puoi segnalare il relativo host come difettoso. Un esempio di questo problema potrebbe essere un calo delle prestazioni all'interno di un cluster o temperature della GPU costantemente elevate.
Quando segnali un host come difettoso, Compute Engine ripara automaticamente l'istanza di computing eseguendo la manutenzione dell'host.
- Per le istanze A4 e A3 Ultra, Compute Engine tenta di eseguire la migrazione dell'istanza a un host diverso all'inizio della manutenzione, se hai capacità riservata inutilizzata o se la capacità è disponibile nella zona dell'istanza. La segnalazione di un host come difettoso ti aiuta a ridurre al minimo i tempi di inattività del carico di lavoro.
- Per le istanze A3 Mega e A3 High, Compute Engine arresta l'istanza, esegue le riparazioni dell'host necessarie e poi riavvia l'istanza sullo stesso host.
Questo documento spiega come segnalare e riparare le istanze host difettose che fanno parte di un cluster Slurm o di altri cluster basati su istanze di computing. Per segnalare host difettosi in un cluster Google Kubernetes Engine (GKE), consulta Segnala host difettosi tramite GKE.
Limitazioni
Quando segnali un host difettoso, si applicano le seguenti limitazioni:
Puoi segnalare un host difettoso solo se l'istanza di computing in esecuzione sull'host soddisfa tutte le seguenti condizioni:
L'istanza di calcolo è in esecuzione.
L'istanza di calcolo utilizza un tipo di macchina A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU).
L'istanza di computing utilizza il modello di provisioning con prenotazione.
Se elimini un'istanza di computing mentre è in corso l'operazione
reportHostAsFaulty, quest'ultima non andrà a buon fine.reportHostAsFaultyGoogle Cloud fa del suo meglio per soddisfare tutte le tue richieste di segnalazione di host difettosi. Tuttavia, a causa di vincoli di capacità o limiti di frequenza, una richiesta potrebbe non essere sempre soddisfatta.
Prima di iniziare
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per segnalare un host difettoso, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) sull'istanza di computing o sul progetto -
Per visualizzare lo stato di un'operazione di report host difettoso utilizzando Cloud Logging:
Visualizzatore log (
roles/logging.viewer) sul progetto
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per segnalare un host difettoso. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per segnalare un host difettoso sono necessarie le seguenti autorizzazioni:
-
Per creare un report sull'host difettoso:
compute.instances.updatesull'istanza di computing -
Per visualizzare un elenco di operazioni utilizzando Logging:
logging.operations.listsul progetto -
Per visualizzare i dettagli di un'operazione utilizzando Logging:
logging.operations.getsul progetto -
Per visualizzare un elenco di operazioni in Compute Engine:
compute.zoneOperations.listsul progetto -
Per visualizzare i dettagli di un'operazione in Compute Engine:
compute.zoneOperations.describesul progetto
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Informazioni sulla procedura di segnalazione di un host difettoso
Dopo aver segnalato un host difettoso per un'istanza di computing, l'ora in cui l'istanza di computing viene riavviata varia in base alla modalità operativa della prenotazione specificata nella prenotazione utilizzata dall'istanza di computing. Per verificare la modalità operativa di una prenotazione, visualizza il camporeservationOperationalMode nella prenotazione.
La tabella seguente riepiloga la procedura di gestione dell'host difettoso per le due modalità operative di prenotazione disponibili: modalità tutta la capacità e modalità gestita.
Modalità Tutta la capacità (ALL_CAPACITY) |
Modalità gestita (HIGHLY_AVAILABLE_CAPACITY) |
|
|---|---|---|
| Tipi di macchine supportati | A4X Max e A4X | A4, A3 Ultra, A3 Mega e A3 High |
| Limitazione di frequenza delle richieste API di report sull'host difettoso | Non si applicano limiti di frequenza. | Le chiamate all'API potrebbero essere soggette a limiti di frequenza. |
| Procedura di segnalazione di un host difettoso |
Quando segnali un host difettoso per un'istanza di computing eseguita in modalità di capacità completa, si verifica quanto segue:
|
Quando segnali un host difettoso per un'istanza di computing eseguita in modalità gestita, si verifica quanto segue:
|
Segnala un host difettoso
Per segnalare un host difettoso:
Controlla l'host su cui viene eseguita l'istanza di computing.
Per le istruzioni, vedi Visualizzare la topologia di un'istanza di computing.
(Facoltativo) Esegui il backup dei dati SSD locali. Quando l'istanza si arresta, Compute Engine ignora automaticamente i dati di tutti i dischi SSD locali collegati all'istanza. Non puoi recuperare i dati dell'SSD locale dopo che Compute Engine li ha eliminati.
Per istruzioni su come conservare i dati dell'SSD locale, consulta Backup dei dati su SSD locale.
Segnala l'host difettoso. Per segnalare un host difettoso, seleziona una delle seguenti opzioni. L'operazione di riparazione dell'host inizia immediatamente, entro un minuto dal completamento dell'operazione di segnalazione dell'host difettoso. Se l'istanza non risponde dopo l'avvio dell'operazione di report sull'host difettoso, ti consigliamo di riavviare l'istanza di Compute dopo aver atteso almeno 15 minuti.
gcloud
Per segnalare un host difettoso, utilizza il seguente comando
gcloud compute instances report-host-as-faulty:gcloud compute instances report-host-as-faulty INSTANCE_NAME \ --async \ --disruption-schedule=IMMEDIATE \ --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \ --zone=ZONESostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanza di computing.FAULT_REASON: un elenco di problemi dell'host riscontrati dalla tua istanza di Compute, separati da virgole, ad esempioISSUE_1,ISSUE_2. Puoi specificare i seguenti valori:PERFORMANCE: le GPU collegate all'istanza di calcolo presentano problemi di prestazioni rispetto ad altre GPU nel cluster, non vengono visualizzati errori XID nei log e Compute Engine non rileva altri pattern di errore comuni, come il danneggiamento silenzioso dei dati.SILENT_DATA_CORRUPTION: i dati dell'istanza di computing sono danneggiati, ma l'istanza di computing continua a essere eseguita. Il danneggiamento silenzioso dei dati può essere dovuto a problemi come difetti delle vCPU, bug del software o problemi del kernel.UNRECOVERABLE_GPU_ERROR: hai identificato un errore della GPU non recuperabile con un XID.BEHAVIOR_UNSPECIFIED: non hai la certezza di quale sia il problema della tua istanza di computing.
DESCRIPTION: una descrizione del problema che interessa l'istanza di computing, ad esempio informazioni XID o sospetti problemi di prestazioni.ZONE: la zona in cui esiste l'istanza di computing.
REST
Per segnalare un host difettoso, invia la seguente richiesta
POSTal metodoinstances.reportHostAsFaulty.Quando segnali un host difettoso, puoi specificare più motivi di guasto contemporaneamente. Ad esempio, per specificare due motivi di errore, invia una richiesta come segue:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/reportHostAsFaulty { "disruptionSchedule": "IMMEDIATE", "faultReasons": [ { "behavior": "FAULT_REASON_1", "description": "DESCRIPTION_1" }, { "behavior": "FAULT_REASON_2", "description": "DESCRIPTION_2" } ] }Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui esiste l'istanza di computing.ZONE: la zona in cui esiste l'istanza di computing.INSTANCE_NAME: il nome dell'istanza di computing.FAULT_REASON_1eFAULT_REASON_2: ogni problema dell'host riscontrato dalla tua istanza di calcolo. Puoi specificare i seguenti valori:PERFORMANCE: le GPU collegate all'istanza di calcolo presentano problemi di prestazioni rispetto ad altre GPU nel cluster, non vengono visualizzati errori XID nei log e Compute Engine non rileva altri pattern di errore comuni, come il danneggiamento silenzioso dei dati.SILENT_DATA_CORRUPTION: i dati dell'istanza di computing sono danneggiati, ma l'istanza di computing continua a essere eseguita. Il danneggiamento silenzioso dei dati può essere dovuto a problemi come difetti delle vCPU, bug del software o problemi del kernel.UNRECOVERABLE_GPU_ERROR: hai identificato un errore della GPU non recuperabile con un XID.BEHAVIOR_UNSPECIFIED: non hai la certezza di quale sia il problema della tua istanza di computing.
DESCRIPTION_1eDESCRIPTION_2: una descrizione per ogni problema dell'host che hai specificato, ad esempio informazioni sull'XID o problemi di rendimento sospetti.
Esamina le operazioni di segnalazione di un host difettoso
Dopo aver segnalato un host difettoso, Compute Engine avvia una serie di operazioni per contrassegnare l'host come difettoso e lo prepara per la riparazione. Nello specifico, durante un'operazione di segnalazione di un host difettoso, si verifica la seguente procedura:
Contrassegna l'host come difettoso. Compute Engine crea l'operazione faulty host report. L'operazione di segnalazione dell'host difettoso crea quindi una sequenza di operazioni secondarie. Queste operazioni secondarie contrassegnano l'host sottostante come difettoso.
Prepara l'host per le riparazioni. Al termine di tutte le operazioni secondarie, inizia l'operazione Segnala host difettoso. Compute Engine arresta l'istanza di computing e avvia l'operazione di riparazione dell'host difettoso. In base alla modalità operativa della prenotazione specificata nella prenotazione utilizzata dall'istanza di computing e se sono disponibili host integri, Compute Engine mantiene l'istanza di computing arrestata o tenta di eseguire la migrazione e il riavvio automatici dell'istanza di computing.
Completa la segnalazione e ripara l'host. Compute Engine completa l'operazione di segnalazione dell'host difettoso e viene eseguita l'operazione di riparazione dell'host.
Per monitorare lo stato delle operazioni di segnalazione di host difettoso
(compute.instances.reportHostAsFaulty) nel tuo progetto, seleziona una
delle seguenti opzioni. Per saperne di più su altre operazioni che puoi utilizzare per monitorare riparazioni, migrazione e riavvio automatico, consulta Comportamenti di manutenzione e riavvio e Monitorare e pianificare un evento di manutenzione dell'host nella documentazione di Compute Engine.
Console (operazioni istanza)
Nella console Google Cloud , vai alla pagina Operazioni.
Nella tabella visualizzata, individua l'istanza di computing che hai segnalato.
Nella riga contenente l'istanza di computing, nella colonna Stato, puoi vedere lo stato dell'operazione di segnalazione dell'host difettoso. Al termine dell'operazione, il valore è Fine.
(Facoltativo) Per verificare se Compute Engine ha riavviato l'istanza di calcolo, visualizza i dettagli dell'istanza.
Console (log delle istanze di Compute)
Nella console Google Cloud , vai alla pagina Esplora log.
Verifica che il pulsante di attivazione/disattivazione Mostra query sia impostato su On.
Nell'editor di query, inserisci la seguente query:
resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"Fai clic su Esegui query. Il riquadro Risultati delle query mostra i risultati della query.
gcloud
Per visualizzare lo stato delle operazioni di segnalazione di host difettosi nel tuo progetto, utilizza il comando
gcloud compute operations listcon il flag--filterimpostato suoperationType:reportHostAsFaulty:gcloud compute operations list --filter="operationType:reportHostAsFaulty"Se vuoi visualizzare i dettagli di un'operazione host specifica non riuscita, utilizza il comando
gcloud compute operations describe:gcloud compute operations describe OPERATION_NAME \ --zone="ZONE"Sostituisci quanto segue:
OPERATION_NAME: il nome dell'operazione.ZONE: la zona in cui esiste l'operazione.
REST
Per visualizzare lo stato delle operazioni di segnalazione di host difettosi nel tuo progetto,
invia una richiesta GET al
metodo zoneOperations.list.
Nell'URL della richiesta, includi il parametro di query filter impostato su
items.operationType:reportHostAsFaulty.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations&filter=items.operationType:reportHostAsFaulty
Sostituisci quanto segue:
PROJECT_ID: il nome dell'operazione.ZONE: la zona in cui esistono le operazioni.
Passaggi successivi
- Se riscontri problemi durante la segnalazione di un host difettoso, consulta Risolvere i problemi relativi all'API host difettoso.