Se noti problemi su una VM H4D prenotata che non riesci a risolvere in altro modo, ad esempio errori persistenti con il dispositivo RDMA, ti consigliamo di segnalare l'host come difettoso. Quando segnali un host come difettoso, Compute Engine lo segnala come difettoso e poi ripara automaticamente la VM eseguendo la manutenzione dell'host. Per le VM H4D, Compute Engine tenta di eseguire la migrazione della VM a un host diverso all'inizio della manutenzione, il che può contribuire a ridurre al minimo i tempi di inattività del workload.
Questo documento spiega come segnalare e riparare gli host difettosi per le istanze di macchine virtuali (VM) che fanno parte di cluster basati su VM. Per i 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 la VM in esecuzione sull'host soddisfa tutte le seguenti condizioni:
La VM è in esecuzione.
La VM utilizza un tipo di macchina H4D.
La VM utilizza il modello di provisioning con prenotazione.
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
-
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) sulla VM 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.updatesulla VM -
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 una VM H4D, l'ora in cui la VM H4D viene riavviata varia in base alla modalità operativa della prenotazione utilizzata per creare la VM. Per verificare la modalità operativa di una prenotazione, visualizza il campo reservationOperationalMode nella prenotazione.
Modalità gestita (HIGHLY_AVAILABLE_CAPACITY) |
|
|---|---|
| Tipi di macchine supportati | H4D |
| Limitazione di frequenza delle richieste API di report sugli host difettosi | Le chiamate all'API potrebbero essere soggette a limiti di frequenza. |
| Procedura di segnalazione di un host difettoso |
Quando segnali un host difettoso per una VM H4D in esecuzione in modalità gestita, si verifica quanto segue:
|
Segnala un host difettoso
Per segnalare un host difettoso:
Controlla l'host su cui viene eseguita la VM.
Per istruzioni, vedi Visualizzare la topologia del cluster H4D.
(Facoltativo) Esegui il backup dei dati SSD locali. Quando la VM si arresta, Compute Engine ignora automaticamente i dati di tutti i dischi SSD locali collegati alla VM. Non puoi recuperare i dati dell'unità 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 la VM non risponde dopo l'avvio dell'operazione di segnalazione dell'host difettoso, ti consigliamo di riavviarla 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 VM_NAME \ --async \ --disruption-schedule=IMMEDIATE \ --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \ --zone=ZONESostituisci quanto segue:
VM_NAME: il nome della VM.FAULT_REASON: un elenco di problemi dell'host riscontrati dalla VM, separati da virgole, ad esempioISSUE_1,ISSUE_2. Puoi specificare i seguenti valori:PERFORMANCE: si verifica un peggioramento delle prestazioni della CPU o dell'operazione di rete Cloud RDMA, errori dell'interfaccia di rete IRDMA o il dispositivo di rete IRDMA non è presente.SILENT_DATA_CORRUPTION: i dati della VM sono danneggiati, ma la VM continua a essere eseguita. Il danneggiamento silenzioso dei dati può essere dovuto a problemi come difetti della vCPU, bug del software o problemi del kernel.BEHAVIOR_UNSPECIFIED: non sai con certezza quale problema interessa la tua VM o il problema non è coperto dalle altre opzioni.
DESCRIPTION: una descrizione del problema che riguarda la tua VM, ad esempio informazioni XID o sospetti problemi di rendimento.ZONE: la zona in cui esiste la VM.
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/VM_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 la VM.ZONE: la zona in cui esiste la VM.VM_NAME: il nome della VM.FAULT_REASON_1eFAULT_REASON_2: ogni problema dell'host riscontrato dalla tua VM. Puoi specificare i seguenti valori:PERFORMANCE: si verifica un peggioramento delle prestazioni della CPU o dell'operazione di rete RDMA, errori del dispositivo RDMA o il dispositivo RDMA non è presente.SILENT_DATA_CORRUPTION: i dati della VM sono danneggiati, ma la VM 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.BEHAVIOR_UNSPECIFIED: non hai la certezza di quale sia il problema della tua VM.
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 host difettoso del 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 la VM e avvia l'operazione di riparazione dell'host difettoso. In base alla modalità operativa della prenotazione specificata nella prenotazione utilizzata dalla VM e se sono disponibili host integri, Compute Engine mantiene la VM arrestata o tenta di eseguire automaticamente la migrazione e il riavvio della VM.
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 VM)
Nella console Google Cloud , vai alla pagina Operazioni.
Nella tabella visualizzata, individua la VM che hai segnalato.
Nella riga contenente la VM, nella colonna Stato, puoi visualizzare lo stato dell'operazione di segnalazione dell'host difettoso. Al termine dell'operazione, il valore è Fine.
(Facoltativo) Per verificare se Compute Engine ha riavviato la VM, visualizza i dettagli della VM.
Console (log VM)
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:compute.instances.reportHostAsFaulty:gcloud compute operations list --filter="operationType:compute.instances.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:compute.instances.reportHostAsFaulty.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations&filter=items.operationType:compute.instances.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.