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 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 saperne di più sugli eventi dell'host, consulta Informazioni sugli eventi dell'host.
La migrazione live consente a Google Cloud di eseguire la manutenzione senza interrompere un workload, 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é sistema operativo (OS) e 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 radice dell'host per l'archiviazione dell'immagine sistema operativo host e dei pacchetti.
Guasti hardware. Sono inclusi i guasti di memoria, CPU, schede di interfaccia di rete e dischi. Se il guasto viene rilevato prima che il server smetta del tutto di funzionare, 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 la migrazione live, l'istanza viene terminata e riavviata automaticamente.
Compute Engine esegue una migrazione live solo delle VM per le quali la policy di manutenzione dell'host è impostata per la 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). 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 Confidential VM è supportata solo sui tipi di macchine N2D con piattaforme CPU AMD EPYC Milan che eseguono AMD SEV. Tutte le altre istanze Confidential VM non supportano la migrazione live e devono essere impostate per l'arresto e, facoltativamente, il riavvio durante un evento di manutenzione dell'host. Per maggiori dettagli, consulta 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 un preavviso di 60 minuti prima dell'arresto di un'istanza VM con una GPU collegata. Per saperne di più su queste notifiche relative agli eventi di manutenzione, consulta Ricezione di notifiche relative alla migrazione live.
Per saperne di più sulla gestione della manutenzione dell'host con le GPU, consulta Gestione della 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 per consentirti di preparare i workload e le applicazioni per questa interruzione dovuta alla 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, trasferisce lo stato completo della VM dall'origine alla destinazione in un modo trasparente per il sistema operativo guest e per qualsiasi elemento che comunica con questo. 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 dei file, che indica che è disponibile una nuova versione del BIOS, un intervento di manutenzione pianificata delle operazioni hardware o un indicatore automatico di un imminente guasto hardware.
Il software di gestione dei cluster diGoogle Cloudmonitora costantemente questi eventi e li pianifica in base alle policy che controllano i data center, ad esempio i tassi di utilizzo della capacità e il numero di VM di cui un singolo cliente può eseguire la migrazione contemporaneamente.
Dopo aver selezionato una VM per la migrazione, Google Cloud invia una notifica al guest 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'origine. 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 nel brownout dell'origine è in funzione delle dimensioni della memoria guest e della frequenza con cui le pagine vengono modificate.
Blackout. Per un tempo molto breve, quando la VM non è in esecuzione in alcuna posizione, 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 brownout dell'origine 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 saltare in avanti, fino a 5 secondi. Se un evento di blackout supera i 5 secondi, Google Cloud arresta e sincronizza l'orologio utilizzando un daemon incluso nei pacchetti guest della VM.
Brownout della destinazione. La VM viene eseguita sulla VM di destinazione. La VM di origine è presente e potrebbe fornire supporto per la VM di destinazione. Ad esempio, fino a quando l'infrastruttura di rete non ha raggiunto la nuova località 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 single-tenant
Durante l'esecuzione del workload, potresti avere la necessità di 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 modalità 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 da un host multi-tenant a un nodo single-tenant. Per saperne di più, consulta Esegui la migrazione live manuale delle VM.
Passaggi successivi
Imposta le opzioni della policy di manutenzione dell'host delle VM per configurare le istanze per la migrazione live.
Leggi i suggerimenti per progettare un sistema solido in grado di gestire interruzioni del servizio.