Questo documento descrive come impostare il criterio di manutenzione dell'host di un'istanza di macchina virtuale (VM) per controllare il comportamento della VM quando si verifica un evento host.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Non puoi modificare il criterio di manutenzione dell'host di una VM prerilasciabile. In caso di evento di manutenzione, la VM prerilasciabile si arresta e non viene eseguita la migrazione. Devi riavviare manualmente la VM prerilasciata.
- Dopo aver creato una VM utilizzando un tipo di macchina E2, non puoi modificare le impostazioni di manutenzione dell'host della VM da
MIGRATE
aTERMINATE
o viceversa. onHostMaintenance
: determina il comportamento quando si verifica un evento di manutenzione che potrebbe causare il riavvio della VM.MIGRATE
(valore predefinito): fa sì che Compute Engine esegua la migrazione live di un'istanza in caso di evento di manutenzione.TERMINATE
: arresta una VM anziché eseguirne la migrazione.
automaticRestart
: determina il comportamento quando una VM ha un arresto anomalo o viene arrestata dal sistema.true
(valore predefinito): Compute Engine riavvia un'istanza se quest'ultima si arresta in modo anomalo o viene arrestata.false
: Compute Engine non riavvia una VM se questa si arresta in modo anomalo o viene arrestata.
localSsdRecoveryTimeout
: imposta il timeout del ripristino degli SSD locali. Questo è il tempo massimo, in ore, durante il quale Compute Engine attende per recuperare i dati SSD locali dopo un errore dell'host. Questa impostazione si applica solo alle VM con dischi SSD locali collegati.- Non impostato (valore predefinito): Compute Engine attende fino a un'ora per recuperare il disco. Per le VM Z3 (anteprima), il tempo di attesa predefinito è di 6 ore.
- Un numero compreso tra 0 e 168: specifica il tempo di attesa di Compute Engine per recuperare il disco. Il numero deve essere un numero intero, con incrementi di 1 ora, con un valore massimo di 7 giorni. Il valore 0 indica che Compute Engine non attende di recuperare i dati.
hostErrorTimeoutSeconds
(anteprima): imposta il tempo massimo, in secondi, durante il quale Compute Engine attende per riavviare o terminare una VM dopo aver rilevato che la VM non risponde.- Non impostato (valore predefinito): Compute Engine attende fino a 5,5 minuti (330 secondi) prima di riavviare una VM che non risponde.
- Numero da 90 a 330: specifica il numero di secondi, in incrementi di 30, che Compute Engine attende prima di riavviare una VM che non risponde.
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Specifica un nome per la VM.
Seleziona una regione e una zona per la VM.
Nella sezione Configurazione macchina, segui questi passaggi:
- Specifica i dettagli del tipo di macchina per la VM.
- Espandi il menu Impostazioni avanzate del modello di provisioning delle VM.
- Nel menu On host in manutenzione, seleziona uno dei seguenti passaggi:
- Per eseguire la migrazione delle VM durante gli eventi di manutenzione, seleziona Esegui la migrazione dell'istanza VM.
- Per arrestare le VM durante gli eventi di manutenzione, seleziona Termina istanza VM.
Per creare la VM, fai clic su Crea.
--maintenance-policy
: indica se la VM viene migrata o arrestata durante la manutenzione dell'host. Se ometti questa proprietà, la VM viene migrata per impostazione predefinita.--no-restart-on-failure
o--restart-on-failure
: indica se la VM si riavvia automaticamente dopo un errore dell'host. Per impostazione predefinita, la VM si riavvia quando viene rilevato un errore.--local-ssd-recovery-timeout
: quanto tempo impiega Compute Engine per recuperare i dischi SSD locali collegati dopo un errore dell'host. Il valore predefinito è 1 ora.VM_NAME
: il nome della VM.MAINTENANCE_POLICY
: il criterio di manutenzione per questa VM,TERMINATE
oMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: riavvia il comportamento per la VM, impostato su--no-restart-on-failure
o--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: il numero di ore da dedicare al ripristino di un SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168, con incrementi di 1 ora.VM_NAME
: il nome della VM.MAINTENANCE_POLICY
: il criterio di manutenzione per questa VM,TERMINATE
oMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: riavvia il comportamento per la VM, impostato su--no-restart-on-failure
o--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: il numero di ore impiegate da Compute Engine per recuperare un SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168, con incrementi di 1 ora.ERROR_DETECTION_TIMEOUT
: numero di secondi attesi Compute Engine prima di riavviare una VM che non risponde, da 90 a 330, in incrementi di 30.onHostMaintenance
: indica se la VM viene migrata o arrestata durante la manutenzione dell'host. La VM viene migrata per impostazione predefinita.automaticRestart
: indica se la VM si riavvia automaticamente dopo un errore dell'host. Per impostazione predefinita, le VM vengono riavviate automaticamente.localSsdRecoveryTimeout
: il tempo impiegato da Compute Engine per recuperare i dischi SSD locali collegati dopo aver rilevato un errore dell'host. Il valore predefinito è 1 ora.PROJECT_ID
: il progetto per la VM.ZONE
: la zona in cui vuoi creare la VM.VM_NAME
: il nome della VM.MAINTENANCE_POLICY
: il criterio di manutenzione per questa VM,TERMINATE
oMIGRATE
.RESTART_POLICY
: il criterio di riavvio per questa VM,true
ofalse
.SSD_RECOVERY_TIMEOUT
: il numero di ore impiegate da Compute Engine per recuperare un disco SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168, con incrementi di 1 ora.PROJECT_ID
: il progetto per la VM.ZONE
: la zona in cui vuoi creare la VM.VM_NAME
: il nome della VM.MAINTENANCE_POLICY
: il criterio di manutenzione per questa VM,TERMINATE
oMIGRATE
.RESTART_POLICY
: il criterio di riavvio per questa VM,true
ofalse
.SSD_RECOVERY_TIMEOUT
: il numero di ore che Compute Engine impiega per recuperare un disco SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168, con incrementi di 1 ora.HOST_ERROR_TIMEOUT
: numero di secondi attesi Compute Engine prima di riavviare o terminare una VM che non risponde. I valori validi sono compresi tra 90 e 330, con incrementi di 30.Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sulla VM per cui vuoi modificare le impostazioni. Viene visualizzata la pagina dei dettagli della VM.
Nella pagina dei dettagli della VM, completa i seguenti passaggi:
- Fai clic sul pulsante Modifica nella parte superiore della pagina.
- Vai alla sezione Gestione. Nella sezione Criteri di disponibilità, puoi impostare le opzioni In manutenzione dell'host e Riavvio automatico.
- Fai clic su Salva.
VM_NAME
: il nome della VM.MAINTENANCE_POLICY
: il criterio per questa VM,TERMINATE
oMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: comportamento di riavvio per la VM,--no-restart-on-failure
o--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: il tempo in ore che Compute Engine impiega per recuperare un disco SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168.VM_NAME
: il nome della VM.MAINTENANCE_POLICY
: il criterio di manutenzione per questa VM,TERMINATE
oMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: riavvia il comportamento per la VM, impostato su--no-restart-on-failure
o--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: il tempo in ore che Compute Engine impiega per recuperare un disco SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168.NUMBER_OF_SECONDS
: numero di secondi che Compute Engine attende prima di riavviare o terminare una VM che non risponde, da 90 a 330, in incrementi di 30.onHostMaintenance
: indica se la VM viene migrata o arrestata durante la manutenzione dell'host. La VM viene migrata per impostazione predefinita.automaticRestart
: indica se la VM si riavvia automaticamente dopo un errore dell'host. Per impostazione predefinita, le VM vengono riavviate automaticamente.localSsdRecoveryTimeout
: il tempo impiegato da Compute Engine per recuperare i dischi SSD locali collegati dopo aver rilevato un errore dell'host. Se omesso, il valore predefinito è 1 ora.PROJECT_ID
: il progetto per la VM.ZONE
: la zona in cui si trova la VM.VM_NAME
: il nome della VM.MAINTENANCE_POLICY
: il criterio di manutenzione per questa VM,TERMINATE
oMIGRATE
.RESTART_POLICY
: il criterio di riavvio per questa VM,true
ofalse
.SSD_RECOVERY_TIMEOUT
: il tempo, in ore, che Compute Engine impiega per recuperare un disco SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168.PROJECT_ID
: il progetto per la VM.ZONE
: la zona in cui si trova la VM.VM_NAME
: il nome della VM.NUMBER_OF_SECONDS
: numero di secondi che Compute Engine attende prima di riavviare o terminare una VM che non risponde, da 90 a 330, in incrementi di 30.Vai alla pagina Istanze VM.
Fai clic sul nome della VM per cui vuoi visualizzare le impostazioni. Viene visualizzata la pagina Dettagli istanza VM.
Vai alla sezione Gestione. La sottosezione Criteri di disponibilità mostra le impostazioni attuali per Manutenzione host e Riavvio automatico.
PROJECT_ID
: il progetto in cui si trova la VM.ZONE
: la zona in cui si trova la VM.VM_NAME
: il nome della VM.PROJECT_ID
: il progetto per la VM.ZONE
: la zona in cui si trova la VM.VM_NAME
: il nome della VM.- Scopri di più sulla manutenzione dell'host.
- Scopri di più sulla migrazione live.
- Scopri come rilevare un evento di migrazione live.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta Autenticazione per REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Proprietà di manutenzione dell'host disponibili
Puoi configurare il comportamento di manutenzione, riavvio e comportamento di una VM quando si verifica un errore dell'host con le proprietà seguenti.
Compute Engine configura ogni VM con i valori predefiniti, se non diversamente specificato.
Durante gli eventi host, a seconda del criterio di manutenzione dell'host configurato, le VM che non supportano la migrazione live vengono terminate o riavviate automaticamente.
Imposta criterio di manutenzione dell'host di una VM
Puoi modificare il criterio di manutenzione dell'host di una VM quando crei la VM per la prima volta o dopo la sua creazione.
Imposta criterio di manutenzione dell'host durante la creazione della VM
Le informazioni in questa sezione sono incentrate su come impostare il criterio di manutenzione dell'host quando crei una VM. Per altri esempi di creazione di VM, consulta Creare e avviare un'istanza VM.
Puoi impostare i criteri di manutenzione dell'host di una VM al momento della creazione utilizzando la console Google Cloud, gcloud CLI o l'API Compute Engine.
Console
gcloud
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Per impostare il criterio di manutenzione dell'host di una nuova VM, utilizza il comando
gcloud compute instances create
. Includi uno o più dei seguenti parametri:Imposta il criterio di manutenzione dell'host di una nuova VM con il comando seguente. Se ometti uno qualsiasi dei flag, viene utilizzato il flag predefinito.
gcloud compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Sostituisci quanto segue:
Impostare il timeout del rilevamento degli errori dell'host
Per impostare il tempo massimo di attesa di Compute Engine per riavviare o terminare una VM che non risponde, utilizza il comando
gcloud compute instances create
. Specifica il timeout con il flag--host-error-timeout-seconds
.gcloud beta compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT
Sostituisci quanto segue:
REST
Per impostare il criterio di manutenzione dell'host di una nuova VM utilizzando l'API Compute Engine, utilizza il metodo
instances.insert
. Includi una o più delle seguenti proprietà nell'oggettoscheduling
del corpo della richiesta:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT } }
Sostituisci quanto segue:
Impostare il timeout del rilevamento degli errori dell'host
Per impostare il tempo massimo di attesa di Compute Engine per riavviare o terminare una VM che non risponde, utilizza il metodo
instances.insert
beta perché questa opzione è disponibile in Anteprima.Aggiungi la proprietà
hostErrorTimeoutSeconds
all'oggettoscheduling
del corpo della richiesta.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT "hostErrorTimeoutSeconds": HOST_ERROR_TIMEOUT, } }
Sostituisci quanto segue:
Aggiorna il criterio di manutenzione dell'host di una VM esistente
Console
gcloud
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Aggiorna il criterio di manutenzione dell'host di una VM esistente con il comando
gcloud compute instances set-scheduling
. Utilizza gli stessi parametri descritti nel comando di creazione della VM nella sezione precedente.gcloud compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Sostituisci quanto segue:
Aggiorna il timeout del rilevamento degli errori dell'host
Per aggiornare il tempo massimo di attesa di Compute Engine per riavviare o terminare una VM che non risponde, utilizza il comando
gcloud beta compute instances set-scheduling
, perché questa funzionalità è disponibile solo in Anteprima.Aggiorna il timeout con il parametro
--host-error-timeout-seconds
. Ad esempio:gcloud beta compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=NUMBER_OF_SECONDS
Sostituisci quanto segue:
REST
Aggiorna il criterio di manutenzione dell'host di una VM esistente con una richiesta
POST
al metodoinstances.setScheduling
.Includi una o più delle seguenti proprietà nel corpo della richiesta:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT }
Sostituisci quanto segue:
Aggiorna il timeout del rilevamento degli errori dell'host
Per aggiornare il tempo massimo di attesa di Compute Engine per riavviare o terminare una VM che non risponde, devi utilizzare il metodo
instances.setScheduling
beta perché questa funzionalità è disponibile in Anteprima.Aggiungi il parametro
hostErrorTimeoutSeconds
al corpo della richiesta.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS, }
Sostituisci quanto segue:
Visualizza le impostazioni dei criteri di manutenzione dell'host di una VM
Console
gcloud
Visualizza le impostazioni delle opzioni di manutenzione dell'host per una VM con il comando
gcloud compute instances describe
:gcloud compute instances describe VM_NAME --format="yaml(scheduling)"
Sostituisci
VM_NAME
con il nome della VM.L'output include il timeout per il rilevamento degli errori dell'host della VM, ad esempio:
scheduling: automaticRestart: true localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
Visualizza l'impostazione di timeout del rilevamento degli errori dell'host
Visualizza il valore corrente di
hostErrorTimeoutSeconds
con il comandogcloud beta compute instances describe
, poiché questa opzione è disponibile solo in Anteprima.gcloud beta compute instances describe VM_NAME --format="yaml(scheduling)"
Sostituisci
VM_NAME
con il nome della VM.L'output include il timeout per il rilevamento degli errori dell'host della VM, ad esempio:
scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
Per visualizzare le impostazioni di manutenzione dell'host per una VM, utilizza il metodo
instances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
Nell'output, l'oggetto
scheduling
contiene il criterio di manutenzione dell'host della VM, ad esempio:"scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }
Visualizza le impostazioni di timeout degli errori dell'host
Visualizza l'impostazione
hostErrorTimeoutSeconds
corrente con una richiestaGET
al metodoinstances.get
beta, perché questa opzione è disponibile solo in Anteprima.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
Nell'output, l'oggetto
scheduling
include il timeout per il rilevamento degli errori dell'host della VM, ad esempio:"scheduling": { "hostErrorTimeoutSeconds": 120 }
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-05-31 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -