Questo documento spiega come monitorare, pianificare ed eseguire la manutenzione programmata su istanze di GPU cluster (A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU)) e GPU generiche. Se gestisci in modo proattivo gli eventi dell'host di manutenzione imminenti sulle tue istanze Compute Engine, puoi ridurre al minimo le interruzioni e mantenere un rendimento ottimale.
Per ulteriori opzioni di manutenzione dell'infrastruttura, consulta le seguenti risorse:
Per gestire la manutenzione dei blocchi di capacità prenotata, indipendentemente dal fatto che le istanze di computing siano in esecuzione o meno, consulta Gestisci gli eventi sull'host nelle prenotazioni.
Per gestire la manutenzione di un cluster in Cluster Director, consulta Gestisci l'integrità del cluster.
Prima di iniziare
Seleziona la scheda in base a come prevedi di utilizzare gli esempi in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi e alle API Google Cloud , non devi configurare l'autenticazione.
gcloud
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initREST
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, quindi accedi 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 gestire gli eventi di manutenzione dell'host nelle istanze di computing, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Compute Admin (
roles/compute.admin) sul progetto -
Per l'accesso di sola lettura agli audit log degli eventi di sistema:
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 gestire gli eventi di manutenzione dell'host nelle istanze di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire gli eventi di manutenzione sull'host nelle istanze di computing sono necessarie le seguenti autorizzazioni:
-
Per visualizzare i dettagli di un'istanza:
compute.instances.getsul progetto
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Panoramica
Per ottimizzare la manutenzione delle istanze di computing, completa i seguenti passaggi:
Comprendi e gestisci la manutenzione dell'host. Scopri la frequenza e il comportamento di manutenzione delle tue istanze in base alla serie di macchine e impara a preparare il workload per gestire la manutenzione dell'host. Queste informazioni ti aiutano a ridurre al minimo le interruzioni e a prevenire la perdita di dati.
Configura gli avvisi di notifica. Crea avvisi basati su log per ricevere notifiche quando la manutenzione delle tue istanze viene pianificata, avviata o completata. Questo approccio ti aiuta a pianificare in modo proattivo le tue attività ed evitare tempi di inattività imprevisti.
Gestisci la manutenzione tra le istanze. Visualizza se è pianificata la manutenzione per le tue istanze. Se necessario, puoi avviare manualmente la manutenzione nelle tue istanze. Questo processo ti aiuta ad aumentare la resilienza dei tuoi workload agli eventi dell'host, a prevenire i tempi di inattività e a massimizzare la disponibilità delle tue applicazioni.
Comprendi e gestisci la manutenzione dell'host
Durante il ciclo di vita di un'istanza Compute Engine, la macchina host su cui viene eseguita l'istanza subisce diversi eventi dell'host. Un evento host può includere quanto segue:
- Manutenzione pianificata dell'infrastruttura di Compute Engine.
- Manutenzione di emergenza non pianificata per riparare l'infrastruttura Compute Engine dopo un errore dell'host o un report di host difettoso.
La tabella seguente descrive le funzionalità di manutenzione dell'host per i tipi di macchina ottimizzati per l'acceleratore:
| Tipo di macchina | Frequenza tipica degli eventi di manutenzione programmata | Comportamento manutenzione | Notifica avanzata per la manutenzione pianificata | Notifiche avanzate per la manutenzione di emergenza | Manutenzione on demand | Simulazione di manutenzione |
|---|---|---|---|---|---|---|
| A4X Max e A4X | Almeno ogni 90 giorni | Termina con Persistenza dei dati di SSD locali | 90 giorni | Se attivi le notifiche di emergenza, 7 giorni. In caso contrario, alcune ore. | Sì | No |
| A4 | Almeno ogni 90 giorni | Termina con Persistenza dei dati di SSD locali | 90 giorni | Se attivi le notifiche di emergenza, 7 giorni. In caso contrario, alcune ore. | Sì | No |
| A3 Ultra | Almeno ogni 90 giorni | Termina con Persistenza dei dati di SSD locali | 90 giorni | Se attivi le notifiche di emergenza, 7 giorni. In caso contrario, alcune ore. | Sì | No |
| A3 Mega e A3 High (8 GPU) | Almeno ogni 90 giorni | Termina con Persistenza dei dati di SSD locali | 90 giorni | Se attivi le notifiche di emergenza, 7 giorni. In caso contrario, alcune ore. | Sì | Sì |
| A3 Edge | Almeno ogni 30 giorni | Terminazione e riavvio | 7 giorni | Se attivi le notifiche di emergenza, 7 giorni. In caso contrario, alcune ore. | Sì | Sì |
Le seguenti note si applicano alla tabella precedente:
- Frequenza tipica degli eventi di manutenzione programmata:
La frequenza di manutenzione indicata nella tabella precedente ha solo valore indicativo. Può accadere che Compute Engine esegua la manutenzione con maggiore frequenza.
Per evitare di perdere dati o progressi, configura i workload in modo che gestiscano la manutenzione dell'host. Ad esempio, utilizza le seguenti tecniche per salvare i dati temporanei e i progressi prima che il workload venga interrotto:
Configura gli avvisi di notifica per le istanze di computing
Puoi ricevere notifiche sugli eventi di manutenzione pianificati, avviati o completati per le tue istanze creando policy di avviso basate su log.
Per creare un avviso per gli eventi di manutenzione delle tue istanze, completa la seguente procedura. Ripeti questa procedura per ogni avviso che vuoi creare.
-
Nella console Google Cloud , vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Fai clic sul pulsante di attivazione/disattivazione Mostra query in modo che sia impostato su On.
Nel riquadro Query, crea una delle seguenti query. Queste query filtrano le voci di log per identificare eventi di manutenzione specifici. Se vuoi utilizzare più query, ripeti questa procedura per creare un avviso univoco per ogni query.
Per ricevere avvisi quando è pianificata la manutenzione di un'istanza:
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "scheduled"Per ricevere avvisi quando si apre il periodo di manutenzione di un'istanza:
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "ongoing"Per ricevere avvisi quando inizia la manutenzione di un'istanza:
protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULTPer ricevere avvisi quando la manutenzione di un'istanza è stata completata:
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "completed"
Per convalidare la query, fai clic su Esegui query. Se la query è valida, il riquadro Risultati delle query visualizza le voci di log che corrispondono alla query.
Nella barra degli strumenti dei risultati della query, fai clic sull'elenco Azioni e poi seleziona Crea avviso log. Viene visualizzato il riquadro Crea policy di avviso basata su log.
Nella sezione Dettagli avviso, segui questi passaggi:
Nel campo Nome policy di avviso, inserisci un nome per la policy.
Nell'elenco Livello di gravità della policy, seleziona Avviso (o una gravità superiore).
Fai clic su Avanti.
Nella sezione Scegli i log da includere nell'avviso, fai clic su Avanti.
Nella sezione Imposta la frequenza delle notifiche e la durata della chiusura automatica, specifica quanto segue:
Nell'elenco Tempo tra le notifiche, seleziona la frequenza con cui vuoi ricevere le notifiche.
Nell'elenco Durata chiusura automatica incidenti, seleziona dopo quanto tempo Cloud Logging interrompe l'invio di notifiche e chiude automaticamente l'incidente.
Fai clic su Avanti.
Nella sezione Chi dovrebbe ricevere le notifiche?, specifica un canale di notifica a cui Logging deve inviare le notifiche.
Fai clic su Salva.
Per visualizzare esempi di notifiche di eventi di manutenzione in Esplora log, consulta Esempi di notifiche relative alla manutenzione nella documentazione di Compute Engine.
Gestisci la manutenzione nelle istanze di computing
Puoi visualizzare e controllare la manutenzione delle tue istanze eseguendo una o più delle seguenti operazioni:
Per controllare lo stato e l'ora pianificata della manutenzione imminente per le tue istanze, visualizza lo stato di manutenzione delle istanze.
Per avviare immediatamente la manutenzione sulle istanze, anziché attendere l'ora di manutenzione pianificata, avvia manualmente la manutenzione sulle istanze.
Visualizza lo stato di manutenzione delle istanze di computing
Puoi visualizzare lo stato e l'ora pianificata della manutenzione imminente per le tue istanze controllando il valore del campo upcomingMaintenance nei metadati dell'istanza. Se un'istanza non contiene il campo upcomingMaintenance, non è pianificato alcun evento di manutenzione dell'host per l'istanza. Per saperne di più sui campi di upcomingMaintenance, consulta Definizioni dello stato di manutenzione nella documentazione di Compute Engine.
Inoltre, se è pianificata la manutenzione di un'istanza, il campo upcomingGroupMaintenance contiene il campo maintenanceReasons. Questo campo descrive il motivo per cui è stata pianificata la manutenzione per l'istanza, come descritto nella tabella seguente:
| Tipo di manutenzione | Motivo della manutenzione | Stato dell'istanza di computing |
|---|---|---|
| Manutenzione pianificata dopo la segnalazione di un host difettoso | FAILURE_GPU_CUSTOMER_REPORTED |
Si applica solo alle istanze in esecuzione sull'host che hai segnalato come difettoso. |
| Manutenzione pianificata per la manutenzione regolare |
|
Si applica alle istanze in esecuzione, arrestate o sospese. |
| Manutenzione di emergenza non pianificata |
|
Si applica solo alle istanze in esecuzione. |
Per visualizzare il campo maintenanceReasons in un'istanza, devi utilizzare
gcloud CLI o l'API REST. Per visualizzare lo stato di manutenzione di più istanze di computing contemporaneamente, devi utilizzare la console Google Cloud o l'API REST. In caso contrario, seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Nella colonna Stato manutenzione, Compute Engine visualizza lo stato di manutenzione delle istanze. Se non vedi questa colonna nella tabella Istanze VM, fai clic su view_column Opzioni di visualizzazione delle colonne, seleziona la casella di controllo Stato manutenzione e poi fai clic su Ok.
gcloud
Per visualizzare lo stato di manutenzione di un'istanza, utilizza il comando gcloud compute instances describe con il flag --flatten=resourceStatus.upcomingMaintenance:
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.upcomingMaintenance \
--zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanzaZONE: la zona in cui esiste l'istanza
L'output è simile a uno dei seguenti:
Se per la tua istanza è pianificato un evento di manutenzione dell'host, l'output è simile al seguente:
--- canReschedule: true latestWindowStartTime: '2025-11-01T19:00:00Z' maintenanceReasons: - 'PLANNED_UPDATE' - 'PLANNED_NETWORK_UPDATE' maintenanceStatus: 'PENDING' type: 'SCHEDULED' windowEndTime: '2025-11-01T22:00:00Z' windowStartTime: '2025-11-01T19:00:00Z'Se non è pianificato un evento di manutenzione dell'host per l'istanza, l'output è simile al seguente:
--- null
REST
Per visualizzare lo stato di manutenzione delle tue istanze, effettua una delle seguenti richieste GET. Quando effettui una richiesta, devi includere il parametro di query fields per mostrare solo il nome, il tipo di macchina e la manutenzione imminente di un'istanza. Devi anche includere il parametro di query filter per filtrare le istanze solo in base a un tipo di macchina specifico.
Per visualizzare le istanze in tutte le zone: metodo
instances.aggregatedList.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPEPer visualizzare le istanze in una zona specifica: metodo
instances.list.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui hai creato le istanze.ZONE: la zona in cui si trovano le istanze.MACHINE_TYPE: il tipo di macchina in base al quale vuoi filtrare le istanze.
Se è pianificato un evento di manutenzione dell'host per un'istanza, l'istanza contiene il campo upcomingMaintenance:
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"upcomingMaintenance": {
"canReschedule": true,
"latestWindowStartTime": "2024-11-01T19:00:00Z",
"maintenanceStatus": "PENDING",
"maintenanceReasons": [
"PLANNED_UPDATE",
"PLANNED_NETWORK_UPDATE"
],
"type": "SCHEDULED",
"windowEndTime": "2024-11-01T22:00:00Z",
"windowStartTime": "2024-11-01T19:00:00Z"
}
}
},
...
]
}
Facoltativamente, per restringere ulteriormente un elenco di istanze, imposta il parametro di query filter su un'espressione di filtro diversa.
Server di metadati
Per visualizzare lo stato di manutenzione di un'istanza, segui questi passaggi:
Se non l'hai ancora fatto, connettiti all'istanza Linux o Windows.
Per visualizzare la pianificazione della manutenzione imminente, esegui una query sull'endpoint
upcoming-maintenance:curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"Se per la tua istanza è pianificato un evento di manutenzione dell'host, l'output è simile al seguente:
"Upcoming maintenance": { "can_reschedule": "true", "latest_window_start_time": "2024-12-01T19:00:01Z", "maintenance_reasons": [ "PLANNED_UPDATE", "PLANNED_NETWORK_UPDATE" ], "maintenance_status": "PENDING", "type": "SCHEDULED", "window_end_time": "2024-12-01T21:00:01Z", "window_start_time": "2024-12-01T19:00:01Z" }Se non è pianificato un evento di manutenzione dell'host, l'output è simile al seguente:
{ }Per visualizzare lo stato di manutenzione attuale di una VM, esegui una query sull'endpoint
maintenance-event:curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"Per saperne di più sull'output di queste query, consulta Esamina gli output.
Avvia manualmente la manutenzione sulle istanze di computing
Puoi avviare manualmente la manutenzione delle istanze anziché attendere l'ora pianificata.
A seconda dello stato di manutenzione di un'istanza, si verifica quanto segue:
| Stato della manutenzione | Descrizione | Dati visualizzati |
|---|---|---|
| Pianificato | Compute Engine ha pianificato la manutenzione dell'istanza. Puoi avviare manualmente la manutenzione prima dell'ora pianificata. |
|
| In corso | La manutenzione è in corso. Non puoi riprogrammarlo. |
|
| Completa | La manutenzione è stata completata. Compute Engine ha rimosso tutte le notifiche di manutenzione dall'istanza. |
|
Puoi avviare manualmente la manutenzione per più istanze contemporaneamente o per singole istanze. Per più istanze, utilizza la console Google Cloud o, per istanze situate nella stessa zona, gcloud CLI. Per le istanze singole seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona le righe per le istanze in cui vuoi avviare la manutenzione.
Fai clic su Esegui manutenzione.
Per confermare, fai clic su Esegui manutenzione.
gcloud
Per avviare manualmente la manutenzione di una o più istanze nella stessa zona, utilizza il comando gcloud compute instances perform-maintenance:
gcloud compute instances perform-maintenance INSTANCE_NAMES \
--zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAMES: un elenco di nomi di istanze separati da spazi, ad esempiovm-01 vm-02 vm-03.ZONE: la zona in cui si trovano le istanze.
REST
Per avviare manualmente la manutenzione di un'istanza, effettua una richiesta POST al
metodo instances.performMaintenance:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui hai creato l'istanzaZONE: la zona in cui esiste l'istanzaINSTANCE_NAME: il nome dell'istanza
Passaggi successivi
Per testare il workload dopo un evento host, consulta Best practice per il benchmarking.
Per scoprire di più sul monitoraggio delle VM, consulta Monitora le VM e i cluster Slurm.