Imposta criterio di manutenzione dell'host VM

Questo documento descrive come impostare un'istanza di una macchina virtuale (VM) criterio di manutenzione dell'host per controllare il comportamento della VM evento organizzatore .

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    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

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

  • Non puoi modificare il criterio di manutenzione dell'host 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 prerilasciata.
  • Dopo aver creato una VM utilizzando un tipo di macchina E2, non puoi modificare l'host della VM impostazioni di manutenzione da MIGRATE a TERMINATE o viceversa.

Proprietà di manutenzione dell'host disponibili

Puoi configurare il comportamento di manutenzione, riavvio e comportamento di una VM dopo che si verifica un errore relativo all'host con le seguenti proprietà.

Compute Engine configura ogni VM se non diversamente specificato.

Durante gli eventi dell'organizzatore, a seconda il criterio di manutenzione dell'host configurato, VM che non supportano la migrazione live vengono terminati o riavviati automaticamente.

  • onHostMaintenance: determina il comportamento quando si verifica un evento di manutenzione che potrebbe causare il riavvio della VM.

    • MIGRATE (valore predefinito): attiva Compute Engine quando si verifica un evento di manutenzione.
    • TERMINATE: arresta una VM anziché eseguirne la migrazione.
  • automaticRestart: determina il comportamento quando una VM viene arrestata in modo anomalo o viene arrestata all'interno del sistema.

    • true (valore predefinito): Compute Engine riavvia un'istanza se l'istanza si arresta in modo anomalo o viene arrestata.
    • false: Compute Engine non riavvia una VM se La VM si arresta in modo anomalo o viene arrestata.
  • localSsdRecoveryTimeout: imposta il timeout del ripristino degli SSD locali. Questo è il la quantità di tempo massima, in ore, in cui Compute Engine attende il recupero dei dati degli 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 1 ora per ripristinare il disco. Per le VM Z3, il tempo di attesa predefinito è 6 ore.
    • Un numero compreso tra 0 e 168: specifica il tempo di attesa di Compute Engine per ripristinare 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 attenderà di recuperare i dati.
  • hostErrorTimeoutSeconds (anteprima): imposta la quantità di tempo massima, in secondi, che Compute Engine attende riavvia o termina 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 compreso tra 90 e 330: specifica il numero di secondi in incrementi di 30, che Compute Engine attende prima di riavviare la VM che non risponde.

Imposta il criterio di manutenzione dell'host di una VM

Puoi modificare il criterio di manutenzione dell'host di una VM la prima volta crea la VM o dopo che la VM è stata creata.

Imposta il criterio di manutenzione dell'host durante la creazione della VM

Le informazioni in questa sezione sono incentrate su come impostare la manutenzione dell'host quando crei una VM. Per altri esempi di creazione di VM, consulta Crea e avvia 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

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Specifica un nome per la VM.

  3. Seleziona una regione e una zona per la VM.

  4. Nella sezione Configurazione macchina, segui questi passaggi:

    1. Specifica i dettagli del tipo di macchina per la VM.
    2. Espandi il menu Impostazioni avanzate del modello di provisioning delle VM.
    3. Nel menu Host in manutenzione, seleziona uno dei seguenti passaggi:
    4. Per eseguire la migrazione delle VM durante gli eventi di manutenzione, seleziona Esegui la migrazione di un'istanza VM.
    5. Per arrestare le VM durante gli eventi di manutenzione, seleziona Termina istanza VM.
  5. Per creare la VM, fai clic su Crea.

gcloud

Nella console Google Cloud, attiva Cloud Shell.

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 i criteri di manutenzione dell'host di una nuova VM, utilizza il metodo Comando gcloud compute instances create. Includi uno o più dei seguenti elementi parametri:

  • --maintenance-policy: indica se viene eseguita la migrazione della VM o viene arrestata durante per la manutenzione dell'host. Se ometti questa proprietà, viene eseguita la migrazione della VM 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 sempre quando viene rilevato un errore.
  • --local-ssd-recovery-timeout: per quanto tempo Compute Engine per il recupero di eventuali dischi SSD locali collegati dopo un errore dell'host. La il valore predefinito è 1 ora.

Imposta il criterio di manutenzione dell'host di una nuova VM con il comando seguente. Se ometti un flag, viene utilizzato il valore predefinito del flag.

  gcloud compute instances create VM_NAME \
      --maintenance-policy=MAINTENANCE_POLICY \
      --RESTART_ON_FAILURE_BEHAVIOR \
      --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • MAINTENANCE_POLICY: il criterio di manutenzione per questa VM, TERMINATE o MIGRATE.
  • RESTART_ON_FAILURE_BEHAVIOR: comportamento di riavvio per la VM, impostandolo su --no-restart-on-failure o --restart-on-failure.
  • SSD_RECOVERY_TIMEOUT: il numero di ore per per il recupero di un SSD locale collegato a una VM che non risponde. Valori validi sono comprese tra 0 e 168, con incrementi di 1 ora.

Imposta il timeout del rilevamento degli errori dell'host

Per impostare il tempo massimo di Compute Engine, procedi nel seguente modo: attende il riavvio o la terminazione di una VM che non risponde, utilizza 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:

  • VM_NAME: il nome della VM.
  • MAINTENANCE_POLICY: il criterio di manutenzione per questa VM, TERMINATE o MIGRATE.
  • RESTART_ON_FAILURE_BEHAVIOR: comportamento di riavvio per la VM, impostandolo su --no-restart-on-failure o --restart-on-failure.
  • SSD_RECOVERY_TIMEOUT: il numero di ore Compute Engine impiega il recupero di un SSD locale che era stato collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168, in incrementi di 1 ora.
  • ERROR_DETECTION_TIMEOUT: il numero di secondi Compute Engine attende prima di riavviare una VM che non risponde da 90 a 330, con incrementi di 30.

REST

Per impostare i criteri di manutenzione dell'host di una nuova VM utilizzando l'API Compute Engine, utilizza Metodo instances.insert. Includi una o più delle seguenti proprietà nell'oggetto scheduling di il corpo della richiesta:

  • onHostMaintenance: indica se viene eseguita la migrazione della VM o viene arrestata durante per la manutenzione dell'host. La migrazione della VM viene eseguita per impostazione predefinita.
  • automaticRestart: indica se la VM si riavvia automaticamente dopo un errore dell'host. Le VM vengono riavviate automaticamente per impostazione predefinita.
  • localSsdRecoveryTimeout: per quanto tempo Compute Engine per il recupero di eventuali dischi SSD locali collegati dopo aver rilevato un errore dell'host. Il valore predefinito è 1 ora.
      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:

  • 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 o MIGRATE.
  • RESTART_POLICY: il criterio di riavvio per questa VM, true o false.
  • SSD_RECOVERY_TIMEOUT: il numero di ore Compute Engine impiega il recupero di un disco SSD locale che era stato collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168, con incrementi di 1 ora.

Imposta il timeout del rilevamento degli errori dell'host

Per impostare il tempo massimo di Compute Engine, procedi nel seguente modo: attende il riavvio o la terminazione di una VM che non risponde, utilizza metodo instances.insert beta perché questa opzione è disponibile in Anteprima.

Aggiungi la proprietà hostErrorTimeoutSeconds all'oggetto scheduling della 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:

  • PROJECT_ID: il progetto per 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 o MIGRATE.
  • RESTART_POLICY: il criterio di riavvio per questa VM, true o false.
  • SSD_RECOVERY_TIMEOUT: il numero di ore Compute Engine di spendere per il recupero di 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: il numero di secondi Compute Engine attende prima di riavviare o di terminare la VM che non risponde. I valori validi sono compresi tra 90 e 330, con incrementi di 30.

Aggiorna il criterio di manutenzione dell'host di una VM esistente

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sulla VM per cui vuoi modificare le impostazioni. Viene visualizzata la pagina dei dettagli della VM.

  3. Nella pagina dei dettagli della VM, completa i seguenti passaggi:

    1. Fai clic sul pulsante Modifica nella parte superiore della pagina.
    2. Vai alla sezione Gestione. Nella sezione Criteri di disponibilità puoi impostare Opzioni Host in fase di manutenzione e Riavvio automatico.
    3. Fai clic su Salva.

gcloud

Nella console Google Cloud, attiva Cloud Shell.

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 Comando gcloud compute instances set-scheduling. Usa 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:

  • VM_NAME: il nome della VM.
  • MAINTENANCE_POLICY: il criterio per questa VM, TERMINATE o MIGRATE.
  • RESTART_ON_FAILURE_BEHAVIOR: comportamento di riavvio per la VM, --no-restart-on-failure o --restart-on-failure.
  • SSD_RECOVERY_TIMEOUT: l'ora, in ore, Compute Engine impiega il recupero di un disco SSD locale collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168.

Aggiorna il timeout del rilevamento degli errori dell'host

Per aggiornare il tempo massimo di Compute Engine, attende il riavvio o la terminazione di una VM che non risponde, utilizza gcloud beta compute instances set-scheduling perché questa caratteristica è disponibile 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:

  • VM_NAME: il nome della VM.
  • MAINTENANCE_POLICY: il criterio di manutenzione per questa VM, TERMINATE o MIGRATE.
  • RESTART_ON_FAILURE_BEHAVIOR: comportamento di riavvio per la VM, impostandolo su --no-restart-on-failure o --restart-on-failure.
  • SSD_RECOVERY_TIMEOUT: l'ora, in ore, Compute Engine impiega il recupero di un disco SSD locale che era stato collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168.
  • NUMBER_OF_SECONDS: il numero di secondi Compute Engine attende prima di riavviare o di terminare che non risponde, da 90 a 330, con incrementi di 30.

REST

Aggiorna il criterio di manutenzione dell'host di una VM esistente con una richiesta POST alla Metodo instances.setScheduling.

Includi una o più delle seguenti proprietà nel corpo della richiesta:

  • onHostMaintenance: indica se viene eseguita la migrazione della VM o viene arrestata durante per la manutenzione dell'host. La migrazione della VM viene eseguita per impostazione predefinita.
  • automaticRestart: indica se la VM si riavvia automaticamente dopo un errore dell'host. Le VM vengono riavviate automaticamente per impostazione predefinita.
  • localSsdRecoveryTimeout: per quanto tempo Compute Engine per il recupero di eventuali dischi SSD locali collegati dopo aver rilevato un errore dell'host. Se omesso, il valore predefinito è 1 ora.
    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:

  • 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 o MIGRATE.
  • RESTART_POLICY: il criterio di riavvio per questa VM, true o false.
  • SSD_RECOVERY_TIMEOUT: l'ora, in ore, in cui Compute Engine impiega il recupero di un disco SSD locale che era stato collegato a una VM che non risponde. I valori validi sono compresi tra 0 e 168.

Aggiorna il timeout del rilevamento degli errori dell'host

Per aggiornare il tempo massimo di Compute Engine, attende il riavvio o la terminazione di 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:

  • 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: il numero di secondi Compute Engine attende prima di riavviare o di terminare che non risponde, da 90 a 330, con incrementi di 30.

Visualizza le impostazioni dei criteri di manutenzione dell'host di una VM

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM di cui vuoi visualizzare le impostazioni. La Si apre la pagina Dettagli istanza VM.

  3. Vai alla sezione Gestione. La sottosezione Criteri di disponibilità mostra le impostazioni attuali per Host in manutenzione e Riavvio automatico.

gcloud

Visualizza le impostazioni dell'opzione di manutenzione dell'host per una VM con 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 del rilevamento degli errori dell'host della VM, ad esempio:

    scheduling:
      automaticRestart: true
      localSsdRecoveryTimeout:
        nanos: 0
        seconds: '10800'
      onHostMaintenance: MIGRATE
      preemptible: false
      provisioningModel: STANDARD

Visualizzare l'impostazione di timeout del rilevamento degli errori dell'host

Visualizza il valore attuale di hostErrorTimeoutSeconds con Comando gcloud beta compute instances describe, perché 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 del 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 Metodo instances.get:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Sostituisci quanto segue:

  • 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.

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 attuale di hostErrorTimeoutSeconds con una richiesta GET alla metodo instances.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:

  • PROJECT_ID: il progetto per la VM.
  • ZONE: la zona in cui si trova la VM.
  • VM_NAME: il nome della VM.

Nell'output, l'oggetto scheduling include il rilevamento degli errori dell'host della VM timeout, ad esempio:

  "scheduling": {
    "hostErrorTimeoutSeconds": 120
  }

Passaggi successivi