Segnala un host difettoso

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 calcolo 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.reportHostAsFaulty

  • Google 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

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

gcloud

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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.

    Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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.update sull'istanza di computing
  • Per visualizzare un elenco di operazioni utilizzando Logging: logging.operations.list sul progetto
  • Per visualizzare i dettagli di un'operazione utilizzando Logging: logging.operations.get sul progetto
  • Per visualizzare un elenco di operazioni in Compute Engine: compute.zoneOperations.list sul progetto
  • Per visualizzare i dettagli di un'operazione in Compute Engine: compute.zoneOperations.describe sul 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 campo reservationOperationalMode 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 per i report sugli host difettosi 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à con tutta la capacità, si verifica quanto segue:

  1. Segnala l'host difettoso: l'istanza rimane nello stato RUNNING durante l'operazione di segnalazione dell'host difettoso, che in genere richiede 10-12 minuti per essere completata. Per esaminare lo stato dell'operazione, consulta Esaminare le operazioni dell'host difettoso del report in questo documento.
  2. Ripara l'host: al termine dell'operazione di segnalazione dell'host difettoso, l'operazione di riparazione dell'host inizia entro un minuto.

    Quando viene avviata l'operazione di riparazione dell'host, l'istanza si arresta e il suo stato cambia a seconda dell'impostazione Riavvio automatico (automaticRestart) specificata per l'istanza:

    • Se il riavvio automatico è abilitato per l'istanza, lo stato dell'istanza cambia in REPAIRING. L'istanza viene riavviata automaticamente quando il relativo host è integro, a meno che tu non la arresti prima.
    • Se il riavvio automatico è disattivato per l'istanza, lo stato dell'istanza cambia in TERMINATED. Devi riavviare manualmente l'istanza dopo che l'host è integro.

    La riparazione dell'host difettoso può richiedere da 3 a 14 giorni o anche di più a volte.

  3. Riavvia l'istanza: al termine dell'operazione di riparazione dell'host (in genere 3-14 giorni), si verifica una delle seguenti situazioni:

    • Se l'istanza si trova nello stato REPAIRING e le risorse sono disponibili al termine della riparazione, Compute Engine riavvia automaticamente l'istanza sull'host riparato.
    • Altrimenti, se l'istanza si trova nello stato TERMINATED o se le risorse non sono disponibili al termine della riparazione, lo stato dell'istanza rimane o cambia in TERMINATED. Devi riavviare manualmente l'istanza quando vuoi che venga eseguita. Tuttavia, il riavvio dell'istanza potrebbe non riuscire se le risorse non sono disponibili al riavvio dell'istanza. Ad esempio, questo può accadere se altre istanze stanno già utilizzando l'host riparato.

Quando segnali un host difettoso per un'istanza di computing eseguita in modalità gestita, si verifica quanto segue:

  1. Segnala l'host difettoso: l'istanza rimane nello stato RUNNING durante l'operazione di segnalazione dell'host difettoso, che in genere richiede 10-12 minuti per essere completata. Per esaminare lo stato dell'operazione, consulta Esaminare le operazioni dell'host difettoso del report in questo documento.
  2. Avvia la riparazione dell'host: al termine dell'operazione di segnalazione dell'host difettoso, l'operazione di riparazione dell'host inizia entro un minuto.

    Quando viene avviata l'operazione di riparazione dell'host, l'istanza si arresta e il suo stato cambia a seconda dell'impostazione Riavvio automatico (automaticRestart) specificata per l'istanza:

    • Se il riavvio automatico è abilitato per l'istanza, lo stato dell'istanza cambia in REPAIRING. L'istanza viene riavviata automaticamente quando il relativo host è integro, a meno che tu non la arresti prima.
    • Se il riavvio automatico è disattivato per l'istanza, lo stato dell'istanza cambia in TERMINATED. Devi riavviare manualmente l'istanza dopo che l'host è integro.

    La riparazione dell'host difettoso può richiedere da 3 a 14 giorni o anche più tempo a volte.

  3. Migra e riavvia l'istanza: dopo l'avvio dell'operazione di riparazione dell'host (in genere 10-12 minuti), Compute Engine tenta di riservare un altro host per sostituire l'host difettoso segnalato nella capacità riservata. Se Compute Engine trova un host integro, se sostituisce correttamente l'host difettoso o trova un host integro corrispondente nella capacità riservata, Compute Engine esegue la migrazione dell'istanza a quell'host. Il riavvio dell'istanza avviene quindi tramite uno dei seguenti metodi:

    • Se l'istanza si trova nello stato REPAIRING e le risorse sono disponibili prima o al termine della riparazione, Compute Engine riavvia automaticamente l'istanza su un host integro.
    • In caso contrario, se l'istanza si trova nello stato TERMINATED o se le risorse non sono disponibili prima o al termine della riparazione, lo stato dell'istanza rimane o cambia in TERMINATED. Devi riavviare manualmente l'istanza quando vuoi che venga eseguita. Tuttavia, il riavvio dell'istanza potrebbe non riuscire se le risorse non sono disponibili al riavvio dell'istanza. Ad esempio, questo può accadere se altre istanze stanno già utilizzando l'host riparato.

Segnala un host difettoso

Per segnalare un host difettoso:

  1. Controlla l'host su cui viene eseguita l'istanza di calcolo.

    Per le istruzioni, vedi Visualizzare la topologia di un'istanza di calcolo.

  2. (Facoltativo) Esegui il backup dei dati SSD locali. Quando l'istanza si arresta, Compute Engine elimina 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.

  3. 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 calcolo 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=ZONE
    

    Sostituisci 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 esempio ISSUE_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 POST al metodo instances.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_1 e FAULT_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_1 e DESCRIPTION_2: una descrizione per ogni problema dell'host che hai specificato, ad esempio informazioni sull'XID o sospetti problemi di rendimento.

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:

  1. 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.

  2. 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 calcolo 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.

  3. 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)

  1. Nella console Google Cloud , vai alla pagina Operazioni.

    Vai a Operazioni

  2. Nella tabella visualizzata, individua l'istanza di calcolo che hai segnalato.

  3. Nella riga contenente l'istanza di calcolo, nella colonna Stato, puoi vedere lo stato dell'operazione di segnalazione dell'host difettoso. Al termine dell'operazione, il valore è Fine.

  4. (Facoltativo) Per verificare se Compute Engine ha riavviato l'istanza di calcolo, visualizza i dettagli dell'istanza.

Console (log delle istanze di Compute)

  1. Nella console Google Cloud , vai alla pagina Esplora log.

    Vai a Esplora log

  2. Verifica che il pulsante di attivazione/disattivazione Mostra query sia impostato su On.

  3. Nell'editor di query, inserisci la seguente query:

    resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"
    
  4. Fai clic su Esegui query. Il riquadro Risultati delle query mostra i risultati della query.

gcloud

  1. Per visualizzare lo stato delle operazioni di segnalazione di host difettosi nel tuo progetto, utilizza il comando gcloud compute operations list con il flag --filter impostato su operationType:reportHostAsFaulty:

    gcloud compute operations list --filter="operationType:reportHostAsFaulty"
    
  2. 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