Durante un evento di manutenzione pianificata per l'hardware sottostante di un'istanza di macchina virtuale (VM) o di un'istanza bare metal, il server host non è disponibile. Per mantenere un'istanza in esecuzione durante un evento host, Compute Engine esegue una migrazione live dell'istanza a un altro server host nella stessa zona. Per maggiori informazioni sugli eventi dell'host, vedi Informazioni sugli eventi dell'host.
La migrazione live ti consente di Google Cloud eseguire la manutenzione senza interrompere un carico di lavoro, riavviare un'istanza o modificare una delle proprietà dell'istanza, come indirizzi IP, metadati, dati di archiviazione a blocchi, stato dell'applicazione o impostazioni di rete.
La migrazione live mantiene le istanze in esecuzione nelle seguenti situazioni:
Manutenzione dell'infrastruttura. La manutenzione dell'infrastruttura include l'hardware host, le reti e le reti elettriche nei data center, nonché il sistema operativo (OS) e il BIOS dell'host.
Aggiornamenti relativi alla sicurezza e modifiche alla configurazione del sistema. Questi includono eventi come l'installazione di patch di sicurezza e la modifica delle dimensioni della partizione root dell'host per l'archiviazione dell'immagine e dei pacchetti del sistema operativo host.
Guasti hardware. Sono inclusi errori di memoria, CPU, schede di interfaccia di rete e dischi. Se l'errore viene rilevato prima che si verifichi un errore completo del server, Compute Engine esegue una migrazione live preventiva dell'istanza a un nuovo server host. Se l'hardware non funziona completamente o impedisce la migrazione live, l'istanza termina e si riavvia automaticamente.
Compute Engine esegue una migrazione live solo delle VM per le quali il criterio di manutenzione dell'host è impostato su migrazione. Per informazioni su come modificare la policy di manutenzione dell'host, consulta Imposta la policy di manutenzione dell'host della VM.
Processo di migrazione live e dischi SSD locali
Compute Engine può eseguire la migrazione live delle istanze con dischi SSD locali collegati (escluse le istanze Z3 con più di 18 TiB di Titanium SSD collegato). Compute Engine sposta le istanze VM insieme ai relativi dati SSD locali su una nuova macchina prima di qualsiasi manutenzione pianificata.
Limitazioni
La migrazione live non è supportata per i seguenti tipi di VM:
- Istanze bare metal. Le istanze create con un
tipo di macchina bare metal
non supportano la migrazione live. Il comportamento di manutenzione per queste
istanze è impostato su
TERMINATE
eRESTART
, rispettivamente. - La maggior parte delle istanze Confidential VM. La migrazione live per le istanze Confidential VM è supportata solo sui tipi di macchine N2D con piattaforme CPU AMD EPYC Milan che eseguono AMD SEV. Tutte le altre istanze VM riservate non supportano la migrazione live e devono essere impostate per l'arresto e, facoltativamente, il riavvio durante un evento di manutenzione dell'host. Per ulteriori dettagli, consulta la sezione Migrazione live.
VM con GPU collegate. Le istanze VM con GPU collegate devono essere impostate per l'arresto e, facoltativamente, il riavvio. Compute Engine offre una notifica prima che una VM con una GPU collegata venga arrestata, a seconda del tipo di GPU:
- Per la maggior parte delle GPU, Compute Engine fornisce un preavviso di 60 minuti.
- Per le famiglie di GPU in esecuzione su AI Hypercomputer Cluster Director, Compute Engine fornisce un avviso di 10 minuti.
Per saperne di più su queste notifiche di eventi di manutenzione, leggi Server di metadati delle query per le notifiche di eventi di manutenzione.
Per scoprire di più sulla gestione della manutenzione dell'host con le GPU, leggi Gestione della manutenzione dell'host nella documentazione sulle GPU.
- Cloud TPU. Le Cloud TPU non supportano la migrazione live.
- VM ottimizzate per l'archiviazione. Le VM Z3 con più di 18 TiB di
SSD Titanium collegato non supportano la migrazione live. Il comportamento di manutenzione per queste VM è impostato su
TERMINATE
eRESTART
.Compute Engine conserva i dati su Titanium SSD durante l'evento di manutenzione, come descritto in Persistenza dei dischi dopo la terminazione dell'istanza.
Come funziona il processo di migrazione live?
Quando è pianificata la migrazione live di una VM, Compute Engine fornisce una notifica in modo che tu possa preparare i tuoi carichi di lavoro e le tue applicazioni per questa interruzione della migrazione live. Durante la migrazione live, Google Cloud si osserva un tempo di interruzione minimo, che in genere è molto inferiore a 1 secondo. Se una VM non è impostata per la migrazione live, Compute Engine la termina durante la manutenzione dell'host. Le VM impostate per la terminazione durante un evento host si arrestano e (facoltativamente) si riavviano.
Quando Google Cloud migra una VM in esecuzione da un host a un altro, sposta l'intero stato della VM dall'origine alla destinazione in modo trasparente per il sistema operativo guest e per qualsiasi elemento che comunica con esso. Sono molti i componenti coinvolti nel funzionamento ottimale di questa funzionalità, ma i passaggi di alto livello sono mostrati nella seguente illustrazione:
Il processo inizia con una notifica che indica che una VM deve essere spostata dalla macchina host corrente. La notifica potrebbe iniziare con una modifica del file che indica che è disponibile una nuova versione del BIOS, una pianificazione dell'operazione hardware di manutenzione o un segnale automatico di un imminente guasto hardware.
Il software di gestione dei cluster diGoogle Cloudmonitora costantemente questi eventi e li pianifica in base a criteri che controllano i data center, ad esempio i tassi di utilizzo della capacità e il numero di VM che un singolo cliente può migrare contemporaneamente.
Dopo aver selezionato una VM per la migrazione, Google Cloud invia una notifica all'ospite che la migrazione avverrà a breve. Dopo un periodo di attesa, viene selezionato un host di destinazione e all'host viene chiesto di configurare una nuova VM "di destinazione" vuota per ricevere la VM "di origine" in fase di migrazione. L'autenticazione viene utilizzata per stabilire una connessione tra l'origine e la destinazione.
La migrazione della VM prevede tre fasi:
Interruzione dell'alimentazione della sorgente. La VM viene ancora eseguita sull'origine, mentre la maggior parte dello stato viene inviata dall'origine alla destinazione. Ad esempio, Google Cloud copia tutta la memoria ospite nella destinazione, mentre monitora le pagine che sono state modificate nell'origine. Il tempo trascorso in brownout della sorgente è una funzione della dimensione della memoria guest e della velocità con cui vengono modificate le pagine.
Blackout. Un momento molto breve in cui la VM non è in esecuzione da nessuna parte, la VM di origine è in pausa e viene inviato tutto lo stato rimanente necessario per iniziare l'esecuzione della VM sulla destinazione. La VM entra nella fase di blackout quando l'invio delle modifiche dello stato durante la fase di brownout della sorgente raggiunge un punto di rendimenti decrescenti. Viene utilizzato un algoritmo che bilancia il numero di byte di memoria inviati in base alla velocità con cui la VM guest apporta modifiche.
Durante gli eventi di blackout, l'orologio di sistema sembra avanzare di un massimo di 5 secondi. Se un evento di interruzione supera i 5 secondi, Google Cloud si interrompe e sincronizza l'orologio utilizzando un daemon incluso nei pacchetti guest VM.
Target brownout. La VM viene eseguita sulla VM di destinazione. La VM di origine è presente e potrebbe fornire supporto per la VM di destinazione. Ad esempio, finché la struttura di rete non si adegua alla nuova posizione della VM di destinazione, la VM di origine fornisce servizi di inoltro per i pacchetti da e verso la VM di destinazione.
Infine, la migrazione è completata e il sistema elimina la VM di origine. Puoi vedere che la migrazione è avvenuta nei log di Cloud Logging della tua VM.
Migrazione live delle VM single-tenant
Mentre il workload è in esecuzione, potresti voler spostare le VM in un nodo o un gruppo di nodi single-tenant diverso. Se sposti una VM in un gruppo di nodi, Compute Engine determina su quale nodo posizionarla. Per informazioni sulla single-tenancy, vedi Panoramica della single-tenancy.
Per spostare le VM single-tenant in un nodo o gruppo di nodi diverso, puoi avviare manualmente una migrazione live. Puoi anche avviare manualmente una migrazione live per spostare una VM su un host multi-tenant in un nodo con singolo tenant. Per ulteriori informazioni, consulta Esegui la migrazione live manuale delle VM.
Passaggi successivi
Imposta le opzioni della policy di manutenzione dell'host della VM per configurare le istanze per la migrazione live.
Leggi i suggerimenti per progettare un sistema solido in grado di gestire le interruzioni del servizio.