Durante un evento di manutenzione pianificata per l'hardware sottostante di un'istanza della macchina virtuale (VM) o dell'istanza bare metal, il server host non è disponibile. Per mantenere in esecuzione un'istanza durante un evento dell'host, Compute Engine esegue una migrazione live dell'istanza a un altro server host nella stessa zona. Per maggiori informazioni sugli eventi host, consulta Informazioni sugli eventi host.
La migrazione in tempo reale consente a Google Cloud di eseguire la manutenzione senza interrompere un carico di lavoro, riavviare un'istanza o modificare le proprietà dell'istanza, ad esempio 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 hardware, reti e reti elettriche dell'host nei data center, nonché il sistema operativo (OS) e il BIOS dell'host.
Aggiornamenti relativi alla sicurezza e modifiche alla configurazione del sistema. Sono inclusi eventi come l'installazione di patch di sicurezza e la modifica delle dimensioni della partizione principale dell'host per l'archiviazione dell'immagine e dei pacchetti del sistema operativo host.
Guasti hardware. Sono inclusi i guasti 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 si guasta completamente o impedisce in altro modo migrazione live, l'istanza viene terminata e riavviata automaticamente.
Compute Engine esegue una migrazione live solo delle VM per le quali è impostato il criterio di manutenzione dell'host per la migrazione. Per informazioni su come modificare la policy di manutenzione dell'host, consulta Impostare la policy di manutenzione dell'host della VM.
Processo di migrazione in tempo reale e dischi SSD locali
Compute Engine può eseguire la migrazione live delle istanze con dischi SSD locali collegati (escluse le istanze Z3). Compute Engine sposta le istanze VM insieme ai relativi dati dell'unità SSD locale su una nuova macchina prima di qualsiasi attività di manutenzione pianificata.
Limitazioni
La migrazione live non è supportata per i seguenti tipi di VM:
- Istanze bare metal. Le istanze Bare Metal C3 e X4 non supportano la migrazione live. Il comportamento di manutenzione per queste istanze è impostato rispettivamente su
TERMINATE
eRESTART
. - La maggior parte delle istanze Confidential VM. La migrazione live per le istanze VM riservate è 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 su stop e, facoltativamente, su riavvio. Compute Engine offre un preavviso di 60 minuti prima dell'interruzione di un'istanza VM con una GPU collegata. Per scoprire di più su queste notifiche relative agli eventi di manutenzione, consulta Ricevere notifiche relative alla migrazione live.
Per scoprire di più sulla gestione della manutenzione dell'host con le GPU, consulta Gestire la manutenzione dell'host nella documentazione delle GPU.
- Cloud TPU. Le Cloud TPU non supportano la migrazione live.
- VM ottimizzate per l'archiviazione. Le VM Z3 non supportano la migrazione live. Il comportamento di manutenzione per le VM Z3 è impostato su
TERMINATE
.
Come funziona il processo di migrazione live?
Quando è pianificata la migrazione live di una VM, Compute Engine fornisce una notifica in modo che puoi preparare i tuoi carichi di lavoro e le tue applicazioni per questa interruzione della migrazione live. Durante la migrazione live, Google Cloud garantisce un tempo di interruzione minimo, 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 essere terminate durante un evento dell'host si arrestano e (facoltativamente) si riavviano.
Quando Google Cloud esegue la migrazione di una VM in esecuzione da un host a un altro, sposta lo stato completo della VM dall'origine alla destinazione in modo trasparente per il sistema operativo guest e per qualsiasi elemento che comunica con esso. Per far funzionare tutto senza problemi sono coinvolti molti componenti, 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 attuale. La notifica potrebbe iniziare con una modifica del file che indica che è disponibile una nuova versione del BIOS, la manutenzione della pianificazione delle operazioni hardware o un segnale automatico di un imminente guasto hardware.
Il software di gestione dei cluster di Google Cloud monitora 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ò eseguire la migrazione contemporaneamente.
Dopo aver selezionato una VM per la migrazione, Google Cloud invia al guest una notifica che indica che a breve verrà eseguita una migrazione. Dopo un periodo di attesa, viene selezionato un host di destinazione a cui viene chiesto di configurare una nuova VM "di destinazione" vuota per ricevere la VM "di origine" di cui è in corso la migrazione. L'autenticazione viene utilizzata per stabilire una connessione tra l'origine e la destinazione.
La migrazione della VM prevede tre fasi:
Brownout dell'alimentazione della sorgente. La VM è ancora in esecuzione sull'origine, mentre la maggior parte dello stato viene inviata dall'origine alla destinazione. Ad esempio, Google Cloud copia tutta la memoria guest nella destinazione, mentre monitora le pagine che sono state modificate nell'origine. Il tempo trascorso in un brownout dell'origine è funzione delle dimensioni della memoria guest e della frequenza con cui le pagine vengono modificate.
Blackout. Per un istante molto breve, quando la VM non è in esecuzione da nessuna parte, la VM di origine viene messa in pausa e viene inviato tutto lo stato rimanente necessario per avviare l'esecuzione della VM sulla destinazione. La VM entra nella fase di blackout quando l'invio di modifiche dello stato durante la fase di calo di tensione della sorgente raggiunge un punto di rendimento decrescente. 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 fino a 5 secondi. Se un evento di blackout supera i 5 secondi, Google Cloud interrompe e sincronizza l'orologio utilizzando un demone incluso nei pacchetti guest della VM.
Abbassamento di potenza target. La VM viene eseguita sulla VM di destinazione. La VM di origine è presente e potrebbe fornire assistenza per la VM di destinazione. Ad esempio, fino a quando l'infrastruttura di rete non ha raggiunto la nuova posizione della VM di destinazione, la VM di origine fornisce servizi di inoltro per i pacchetti verso e dalla VM di destinazione.
Infine, la migrazione è completata e il sistema elimina la VM di origine. Puoi verificare che la migrazione sia avvenuta nei log di Cloud Logging per la tua VM.
Migrazione live delle VM sole-tenant
Durante l'esecuzione del tuo carico di lavoro, potresti voler spostare le VM in un altro nodo o gruppo di nodi single-tenant. Se sposti una VM in un gruppo di nodi, Compute Engine determina su quale nodo posizionarla. Per informazioni sulla single-tenancy, consulta Panoramica della single-tenancy.
Per spostare le VM single-tenant in un altro nodo o gruppo di nodi, 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 single-tenant. Per ulteriori informazioni, consulta Eseguire la migrazione in tempo reale delle VM manualmente.
Passaggi successivi
Imposta le opzioni del criterio di manutenzione dell'host 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.