Questo documento descrive come impostare i criteri di manutenzione dell'host per una macchina virtuale (VM) o un'istanza bare metal per controllare il comportamento dell'istanza quando si verifica un evento dell'host.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Non puoi modificare il comportamento di manutenzione di una VM prerilasciabile. Quando si verifica un evento di manutenzione, la VM prerilasciabile si arresta e non viene eseguita la migrazione. Devi riavviare manualmente la VM prelevata.
- Dopo aver creato una VM utilizzando un tipo di macchina E2, non puoi cambiare il comportamento di manutenzione della VM da
MIGRATE
aTERMINATE
o viceversa. - Non puoi modificare il comportamento di manutenzione per le istanze Bare Metal come
c3-standard-192-metal
ox4-megamem-1920-metal
, che sono impostate suTERMINATE
e si riavviano automaticamente. onHostMaintenance
: determina il comportamento quando si verifica un evento di manutenzione che potrebbe causare il riavvio dell'istanza.MIGRATE
: consente a Compute Engine di eseguire la migrazione in tempo reale di un'istanza quando si verifica un evento di manutenzione. Questa è l'impostazione predefinita per la maggior parte delle VM.TERMINATE
: arresta l'istanza anziché utilizzare la migrazione live. Si tratta dell'opzione predefinita per Z3, le istanze bare metal e le istanze con acceleratori come GPU e TPU. Per questi tipi di istanze, non puoi modificare l'impostazione peronHostMaintenance
.
automaticRestart
: determina il comportamento quando un'istanza si arresta in modo anomalo o viene interrotta dal sistema.true
(valore predefinito): Compute Engine riavvia un'istanza se si arresta in modo anomalo o viene interrotta.false
: Compute Engine non riavvia un'istanza se si arresta in modo anomalo o viene interrotta.
localSsdRecoveryTimeout
: imposta il timeout del ripristino dell'SSD locale. Si tratta del periodo di tempo massimo, in ore, che Compute Engine attende per recuperare i dati dell'SSD locale dopo un errore dell'host. Questa impostazione si applica solo alle VM con dischi SSD locali collegati. Se configurerai questa impostazione per un'istanza a cui non sono collegati dischi SSD locali, l'impostazione verrà ignorata.- Non impostato (valore predefinito): Compute Engine attende fino a un'ora per recuperare i dati dell'unità SSD locale. Per le VM Z3, il tempo di attesa predefinito è di 6 ore.
- Un numero intero compreso tra 0 e 168: specifica il numero di ore che Compute Engine attende per recuperare i dati dell'unità SSD locale. Il valore massimo è equivalente a 7 giorni. Un valore pari a 0 indica che Compute Engine non attende di recuperare i dati dell'unità SSD locale e riavvia immediatamente l'istanza.
hostErrorTimeoutSeconds
(anteprima): imposta il tempo massimo, in secondi, che Compute Engine attende per riavviare o terminare un'istanza di calcolo dopo aver rilevato che l'istanza non risponde.- Non impostato (valore predefinito): Compute Engine attende fino a 5,5 minuti (330 secondi) prima di riavviare un'istanza non rispondente.
- Un numero intero compreso tra 90 e 330: il numero di secondi, specificato in incrementi di 30, che Compute Engine attende prima di riavviare un'istanza di calcolo non rispondente.
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Specifica un nome per l'istanza.
Seleziona una Regione e una Zona per l'istanza.
Nella sezione Configurazione macchina:
- Specifica i dettagli del tipo di macchina per l'istanza.
- Espandi il menu Impostazioni avanzate del modello di provisioning delle VM.
- Nel menu Manutenzione sull'host, 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 istanze durante gli eventi di manutenzione, seleziona Termina istanza VM.
Per creare l'istanza, fai clic su Crea.
INSTANCE_NAME
: il nome dell'istanza.- ZONE: la zona in cui si trova l'istanza,
MAINTENANCE_BEHAVIOR
: il comportamento dell'evento di manutenzione di un'istanza,TERMINATE
oMIGRATE
. Per la maggior parte di tipi di macchine, la VM viene migrata per impostazione predefinita se ometti questa proprietà. Le istanze Z3 e Bare Metal vengono interrotte.RESTART_ON_FAILURE_BEHAVIOR
: comportamento di riavvio per le istanze terminate o non rispondenti, impostato surestart-on-failure
(predefinito) ono-restart-on-failure
.SSD_RECOVERY_TIMEOUT
: il numero di ore da impiegare per recuperare i dischi SSD locali collegati a un'istanza terminata o non rispondente. I valori validi vanno da 0 a 168 con incrementi di 1 ora.ERROR_DETECTION_TIMEOUT
: il numero di secondi che Compute Engine attende prima di riavviare un'istanza che non risponde, da 90 a 330 secondi (5,5 minuti), con incrementi di 30 secondi.PROJECT_ID
: il progetto per l'istanza.ZONE
: la zona in cui vuoi creare l'istanza.INSTANCE_NAME
: il nome dell'istanza.MAINTENANCE_BEHAVIOR
: il comportamento dell'evento di manutenzione di un'istanza,TERMINATE
oMIGRATE
. Per la maggior parte di tipi di macchine, la VM viene migrata per impostazione predefinita se ometti questo campo. Le istanze Z3 e Bare Metal vengono interrotte.RESTART_POLICY
: indica se l'istanza si riavvia automaticamente dopo un evento di manutenzione o un errore dell'host. Può esseretrue
(valore predefinito) ofalse
.SSD_RECOVERY_TIMEOUT
: il numero di ore impiegate da Compute Engine per recuperare i dischi SSD locali collegati a un'istanza non rispondente o terminata. I valori validi vanno da 0 a 168, con incrementi di 1 ora. Il valore predefinito per Z3 è 6 ore e per tutte le altre VM è 1 ora.Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza per cui vuoi modificare le impostazioni. Viene visualizzata la pagina dei dettagli dell'istanza.
Con la scheda Dettagli selezionata, completa i seguenti passaggi:
- Fai clic sul pulsante Modifica nella parte superiore della pagina.
- Vai alla sezione Gestione. Nella sezione Norme sulla disponibilità, puoi modificare le opzioni di manutenzione dell'attività.
- Fai clic su Salva.
NUMBER_OF_SECONDS
: il numero di secondi che Compute Engine attende prima di riavviare o terminare una VM non rispondente, da 90 a 330 (5,5 minuti), con incrementi di 30 secondi.INSTANCE_NAME
: il nome dell'istanza.MAINTENANCE_BEHAVIOR
: il comportamento dell'evento di manutenzione di un'istanza,TERMINATE
oMIGRATE
. Per la maggior parte di tipi di macchine, la VM viene migrata per impostazione predefinita se ometti questa proprietà. Le istanze Z3 e Bare Metal vengono interrotte.RESTART_ON_FAILURE_BEHAVIOR
: comportamento di riavvio per le istanze terminate o non rispondenti, impostato surestart-on-failure
(predefinito) ono-restart-on-failure
.SSD_RECOVERY_TIMEOUT
: il numero di ore da impiegare per recuperare i dischi SSD locali collegati a un'istanza terminata o non rispondente. I valori validi vanno da 0 a 168 con incrementi di 1 ora.NUMBER_OF_SECONDS
: il numero di secondi che Compute Engine attende prima di riavviare un'istanza che non risponde, da 90 a 330 secondi (5,5 minuti), con incrementi di 30 secondi.
PROJECT_ID
: il progetto per l'istanza.ZONE
: la zona in cui si trova l'istanza.INSTANCE_NAME
: il nome dell'istanza.MAINTENANCE_BEHAVIOR
: il comportamento dell'evento di manutenzione di questa istanza,TERMINATE
oMIGRATE
.RESTART_POLICY
: indica se l'istanza viene riavviata automaticamente,true
ofalse
.SSD_RECOVERY_TIMEOUT
: il numero di ore da impiegare per recuperare i dischi SSD locali collegati all'istanza. I valori validi vanno da 0 a 168 con incrementi di 1 ora.
Vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza di cui vuoi visualizzare le impostazioni. Viene visualizzata la pagina dei dettagli dell'istanza.
Vai alla sezione Gestione. La sottosezione Criteri di disponibilità mostra le impostazioni correnti per quanto segue:
- Host in manutenzione
- Riavvio automatico
- Timeout errore dell'host
INSTANCE_NAME
: il nome dell'istanzaZONE
: la zona in cui si trova l'istanzaPROJECT_ID
: il progetto in cui si trova l'istanza.ZONE
: la zona in cui si trova l'istanza.INSTANCE_NAME
: il nome dell'istanza.PROJECT_ID
: il progetto per l'istanza.ZONE
: la zona in cui si trova l'istanza.INSTANCE_NAME
: il nome dell'istanza.- Scopri di più sulla manutenzione dell'attività.
- Scopri di più sulla migrazione live.
- Scopri come rilevare un migrazione live reale.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Proprietà di manutenzione dell'host disponibili
Puoi configurare il comportamento di manutenzione, il comportamento di riavvio e il comportamento di attesa per errori dell'host di un'istanza di calcolo. Compute Engine configura ogni istanza con i valori predefiniti, a meno che tu non specifichi diversamente.
Durante gli eventi dell'host, a seconda del criterio di manutenzione dell'host configurato, le istanze che non supportano la migrazione live vengono interrotte e riavviate automaticamente.
Impostare il criterio di manutenzione dell'host di un'istanza
Puoi modificare il criterio di manutenzione dell'host di un'istanza quando la crei per la prima volta o dopo la sua creazione.
Impostare il criterio di manutenzione dell'host durante la creazione dell'istanza
Le informazioni riportate in questa sezione riguardano come impostare il criterio di manutenzione dell'host quando crei un'istanza. Per altri esempi di creazione di istanze, consulta Creare e avviare un'istanza Compute Engine.
Puoi impostare il criterio di manutenzione dell'host di un'istanza di calcolo al momento della creazione utilizzando la console Google Cloud, gcloud CLI o REST.
Console
gcloud
Per impostare il criterio di manutenzione dell'host di una nuova istanza, utilizza il comando
gcloud compute instances create
.Per impostare la proprietà
--host-error-timeout-seconds
(Anteprima), devi utilizzare il comandogcloud beta compute instances create
.Puoi impostare il criterio di manutenzione dell'host di una nuova istanza con il seguente comando. Se ometti uno dei flag, viene utilizzato il valore predefinito per il flag.
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --maintenance-policy=MAINTENANCE_BEHAVIOR \ --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 istanza utilizzando REST, utilizza il metodo
instances.insert
.Puoi impostare il criterio di manutenzione dell'host di una nuova istanza con il seguente comando. Se ometti uno dei campi, viene utilizzato il valore predefinito per il campo.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_BEHAVIOR", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT } }
Sostituisci quanto segue:
Imposta il timeout per il rilevamento degli errori dell'host
Per impostare il tempo massimo di attesa di Compute Engine per riavviare o terminare un'istanza che non risponde, utilizza il metodo beta
instances.insert
, poiché questa opzione è in anteprima.Aggiungi la proprietà
hostErrorTimeoutSeconds
all'oggettoscheduling
del corpo della richiesta, doveHOST_ERROR_TIMEOUT
è il numero di secondi che Compute Engine attende prima di riavviare o terminare un'istanza non rispondente. I valori validi vanno da 90 a 330 (5,5 minuti), con incrementi di 30 secondi.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_BEHAVIOR", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT "hostErrorTimeoutSeconds": HOST_ERROR_TIMEOUT, } }
Aggiorna il criterio di manutenzione dell'host di un'istanza esistente
Console
gcloud
Aggiorna il criterio di manutenzione dell'host di un'istanza esistente con il comando
gcloud compute instances set-scheduling
. Utilizza gli stessi parametri del comando di creazione dell'istanza nella sezione precedente.Per aggiornare il tempo massimo di attesa di Compute Engine per riavviare o terminare un'istanza non rispondente (anteprima), utilizza il comando
gcloud beta compute instances set-scheduling
e includi--host-error-timeout-seconds=NUMBER_OF_SECONDS
.gcloud compute instances set-scheduling INSTANCE_NAME \ --maintenance-policy=MAINTENANCE_BEHAVIOR \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Sostituisci quanto segue:
REST
Aggiorna il criterio di manutenzione dell'host di un'istanza esistente utilizzando una
POST
richiesta al metodoinstances.setScheduling
.POST https://compute.googleapis.com/compute/v1projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "onHostMaintenance": "MAINTENANCE_BEHAVIOR", "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 non rispondente, devi utilizzare il metodo beta
instances.setScheduling
perché questa funzionalità è in anteprima.Aggiungi la proprietà
hostErrorTimeoutSeconds
al corpo della richiesta, doveHOST_ERROR_TIMEOUT
è il numero di secondi che Compute Engine attende prima di riavviare o terminare un'istanza non rispondente. I valori validi vanno da 90 a 330 (5,5 minuti), con incrementi di 30 secondi.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { ... "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS }
Visualizzare le impostazioni del criterio di manutenzione dell'host per un'istanza
Console
gcloud
Visualizza le impostazioni dell'opzione di manutenzione dell'host per un'istanza con il comando
gcloud compute instances describe
.Per visualizzare il valore corrente dell'impostazione
hostErrorTimeoutSeconds
(Anteprima), utilizza il comandogcloud beta compute instances describe
.gcloud compute instances describe INSTANCE_NAME \ --zone ZONE --format="yaml(scheduling)"
Sostituisci quanto segue:
L'output include le impostazioni correnti per il criterio di manutenzione dell'host, 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 un'istanza, utilizza il metodo
instances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Sostituisci quanto segue:
Nell'output, l'oggetto
scheduling
contiene le impostazioni per il criterio di manutenzione dell'host dell'istanza, ad esempio:{ ... "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }, ... }
Visualizzare le impostazioni del timeout errore dell'host
Visualizza l'impostazione
hostErrorTimeoutSeconds
corrente creando una richiestaGET
utilizzando il metodoinstances.get
beta.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Sostituisci quanto segue:
Nell'output, l'oggetto
scheduling
include il timeout di rilevamento degli errori dell'host dell'istanza, ad esempio:{ ... "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "hostErrorTimeoutSeconds": 120, "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }, ... }
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-11-23 UTC.
-