Ce document explique comment définir la stratégie de maintenance de l'hôte pour une instance de machine virtuelle (VM) ou bare metal afin de contrôler le comportement de l'instance lorsqu'un événement hôte se produit.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
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.
- Vous ne pouvez pas modifier le comportement de maintenance d'une VM préemptive. En cas d'événement de maintenance, la VM préemptive s'arrête et la migration n'est pas effectuée. Vous devez redémarrer manuellement la VM préemptée.
- Une fois que vous avez créé une VM à l'aide d'un type de machine E2, vous ne pouvez pas modifier le comportement de maintenance de la VM en remplaçant
MIGRATE
parTERMINATE
ou inversement. - Vous ne pouvez pas modifier le comportement de maintenance des instances bare metal telles que
c3-standard-192-metal
oux4-megamem-1920-metal
, qui sont définies surTERMINATE
et redémarrent automatiquement. onHostMaintenance
: détermine le comportement en cas d'événement de maintenance susceptible de provoquer le redémarrage de l'instance.MIGRATE
: entraîne la migration à chaud de l'instance par Compute Engine lors d'un événement de maintenance. Il s'agit de la valeur par défaut pour la plupart des VM.TERMINATE
: arrête l'instance au lieu d'utiliser la migration à chaud. Il s'agit de l'option par défaut pour les instances Z3, bare metal et avec accélérateurs tels que les GPU et les TPU. Pour ces types d'instances, vous ne pouvez pas modifier le paramètreonHostMaintenance
.
automaticRestart
: détermine le comportement en cas de plantage ou d'arrêt d'une instance par le système.true
(Par défaut) : Compute Engine redémarre une instance si celle-ci plante ou est arrêtée.false
: Compute Engine ne redémarre pas une instance si celle-ci plante ou est arrêtée.
localSsdRecoveryTimeout
: définit le délai avant expiration de récupération des disques SSD locaux. Il s'agit de la durée maximale, en heures, pendant laquelle Compute Engine attend de récupérer les données des disques SSD locaux après une erreur d'hôte. Ce paramètre ne s'applique qu'aux VM auxquelles des disques SSD locaux sont associés. Si vous configurez ce paramètre pour une instance qui ne dispose pas de disques SSD locaux connectés, il est ignoré.- Non défini (Par défaut): Compute Engine attend jusqu'à une heure pour récupérer les données du disque SSD local. Pour les VM Z3, le temps d'attente par défaut est de six heures.
- Entier compris entre 0 et 168: spécifie le nombre d'heures pendant lesquelles Compute Engine attend pour récupérer les données du SSD local. La valeur maximale est équivalente à 7 jours. Une valeur de 0 signifie que Compute Engine ne patiente pas pour récupérer les données du disque SSD local et redémarre immédiatement l'instance.
hostErrorTimeoutSeconds
(Bêta): définit la durée maximale, en secondes, pendant laquelle Compute Engine attend de redémarrer ou d'arrêter une instance de calcul après avoir détecté qu'elle ne répondait pas.- Non défini (Par défaut): Compute Engine attend jusqu'à 5,5 minutes (330 secondes) avant de redémarrer une instance qui ne répond pas.
- Entier compris entre 90 et 330: nombre de secondes, spécifié par incréments de 30, pendant lequel Compute Engine attend avant de redémarrer une instance Compute qui ne répond pas.
Accédez à la page Créer une instance dans Google Cloud Console.
Renseignez un nom pour l'instance.
Sélectionnez une région et une zone pour l'instance.
Dans la section Configuration de la machine, procédez comme suit :
- Spécifiez les détails du type de machine pour l'instance.
- Développez le menu Paramètres avancés du modèle de provisionnement de la VM.
- Dans le menu Pendant la maintenance de l'hôte, sélectionnez l'une des étapes suivantes :
- Pour migrer des VM lors d'événements de maintenance, sélectionnez Migrer l'instance de VM.
- Pour arrêter les instances lors des événements de maintenance, sélectionnez Arrêter l'instance de VM.
Pour créer l'instance, cliquez sur Créer.
INSTANCE_NAME
: nom de l'instance.- ZONE: zone où se trouve l'instance
MAINTENANCE_BEHAVIOR
: comportement de l'événement de maintenance d'une instance,TERMINATE
ouMIGRATE
. Pour la plupart des types de machines, la VM est migrée par défaut si vous omettez cette propriété. Les instances Z3 et bare metal sont arrêtées.RESTART_ON_FAILURE_BEHAVIOR
: comportement de redémarrage pour les instances arrêtées ou qui ne répondent pas, défini surrestart-on-failure
(par défaut) ouno-restart-on-failure
.SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des disques SSD locaux associés à une instance arrêtée ou qui ne répond pas. Les valeurs valides sont comprises entre 0 et 168, par incréments d'une heure.ERROR_DETECTION_TIMEOUT
: délai d'attente en secondes avant que Compute Engine ne redémarre une instance qui ne répond pas, de 90 à 330 secondes (5,5 minutes), par incréments de 30 secondes.PROJECT_ID
: projet de l'instance.ZONE
: zone dans laquelle vous souhaitez créer l'instance.INSTANCE_NAME
: nom de l'instance.MAINTENANCE_BEHAVIOR
: comportement de l'événement de maintenance d'une instance,TERMINATE
ouMIGRATE
. Pour la plupart des types de machines, la VM est migrée par défaut si vous omettez ce champ. Les instances Z3 et bare metal sont arrêtées.RESTART_POLICY
: indique si l'instance redémarre automatiquement après un événement de maintenance ou une erreur d'hôte. La valeur peut êtretrue
(par défaut) oufalse
.SSD_RECOVERY_TIMEOUT
: nombre d'heures que Compute Engine passe à récupérer des disques SSD locaux associés à une instance qui ne répond pas ou qui a été arrêtée. Les valeurs valides sont comprises entre 0 et 168, par incréments d'une heure. La valeur par défaut pour Z3 est de 6 heures, et pour toutes les autres VM, elle est de 1 heure.Dans la console Google Cloud, accédez à la page Instances de VM.
Cliquez sur le nom de l'instance dont vous souhaitez modifier les paramètres. La page de détails de l'instance s'affiche.
Lorsque l'onglet Détails est sélectionné, procédez comme suit:
- Cliquez sur le bouton Modifier en haut de la page.
- Accédez à la section Gestion. Dans la section Règles de disponibilité, vous pouvez modifier les options de maintenance de l'hôte.
- Cliquez sur Enregistrer.
NUMBER_OF_SECONDS
: délai d'attente en secondes avant que Compute Engine n'arrête ou ne redémarre une VM qui ne répond pas, de 90 à 330 (5,5 minutes), par incréments de 30 secondes.INSTANCE_NAME
: nom de l'instance.MAINTENANCE_BEHAVIOR
: comportement de l'événement de maintenance d'une instance,TERMINATE
ouMIGRATE
. Pour la plupart des types de machines, la VM est migrée par défaut si vous omettez cette propriété. Les instances Z3 et bare metal sont arrêtées.RESTART_ON_FAILURE_BEHAVIOR
: comportement de redémarrage pour les instances arrêtées ou qui ne répondent pas, défini surrestart-on-failure
(par défaut) ouno-restart-on-failure
.SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des disques SSD locaux associés à une instance arrêtée ou qui ne répond pas. Les valeurs valides sont comprises entre 0 et 168, par incréments d'une heure.NUMBER_OF_SECONDS
: délai d'attente en secondes avant que Compute Engine ne redémarre une instance qui ne répond pas, de 90 à 330 secondes (5,5 minutes), par incréments de 30 secondes.
PROJECT_ID
: projet de l'instance.ZONE
: zone où se trouve l'instanceINSTANCE_NAME
: nom de l'instance.MAINTENANCE_BEHAVIOR
: comportement de l'événement de maintenance de cette instance,TERMINATE
ouMIGRATE
.RESTART_POLICY
: indique si l'instance redémarre automatiquement,true
oufalse
.SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des disques SSD locaux associés à l'instance. Les valeurs valides sont comprises entre 0 et 168, par incréments d'une heure.
Accédez à la page Instances de VM.
Cliquez sur le nom de l'instance pour laquelle vous souhaitez afficher les paramètres. La page des détails de l'instance s'affiche.
Accédez à la section Gestion. La sous-section Règles de disponibilité affiche vos paramètres actuels pour les éléments suivants:
- Pendant la maintenance de l'hôte
- Redémarrage automatique
- Délai avant expiration de l'erreur de l'hôte
INSTANCE_NAME
: nom de l'instanceZONE
: zone où se trouve l'instancePROJECT_ID
: projet contenant l'instance.ZONE
: zone où se trouve l'instanceINSTANCE_NAME
: nom de l'instance.PROJECT_ID
: projet de l'instance.ZONE
: zone où se trouve l'instanceINSTANCE_NAME
: nom de l'instance.- En savoir plus sur la maintenance de l'hôte.
- En savoir plus sur la migration à chaud.
- Apprenez à détecter un événement de migration à chaud.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Limites
Propriétés de maintenance de l'hôte disponibles
Vous pouvez configurer le comportement de maintenance, de redémarrage et d'attente en cas d'erreur de l'hôte d'une instance de calcul. Compute Engine configure chaque instance avec les valeurs par défaut, sauf si vous spécifiez des valeurs.
Lors des événements hôtes, en fonction de la stratégie de maintenance de l'hôte configurée, les instances non compatibles avec la migration à chaud sont arrêtées et redémarrées automatiquement.
Définir la stratégie de maintenance de l'hôte d'une instance
Vous pouvez modifier la stratégie de maintenance de l'hôte d'une instance lorsque vous créez l'instance ou après sa création.
Définir la stratégie de maintenance de l'hôte lors de la création d'une instance
Les informations de cette section expliquent comment définir la stratégie de maintenance de l'hôte lorsque vous créez une instance. Pour en savoir plus sur la création d'instances, consultez la section Créer et démarrer une instance Compute Engine.
Vous pouvez définir la stratégie de maintenance de l'hôte d'une instance Compute Engine au moment de sa création à l'aide de la console Google Cloud, de gcloud CLI ou de REST.
Console
gcloud
Pour définir la stratégie de maintenance de l'hôte d'une nouvelle instance, utilisez la commande
gcloud compute instances create
.Pour définir la propriété
--host-error-timeout-seconds
(Preview), vous devez utiliser la commandegcloud beta compute instances create
.Vous pouvez définir la stratégie de maintenance de l'hôte d'une nouvelle instance à l'aide de la commande suivante. Si vous omettez l'une des options, la valeur par défaut de l'option est utilisée.
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
Remplacez les éléments suivants :
REST
Pour définir la stratégie de maintenance de l'hôte d'une nouvelle instance à l'aide de REST, utilisez la méthode
instances.insert
.Vous pouvez définir la stratégie de maintenance de l'hôte d'une nouvelle instance à l'aide de la commande suivante. Si vous omettez l'un des champs, la valeur par défaut du champ est utilisée.
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 } }
Remplacez les éléments suivants :
Définir le délai avant expiration de la détection des erreurs de l'hôte
Pour définir la durée maximale pendant laquelle Compute Engine attend avant de redémarrer ou d'arrêter une instance qui ne répond pas, utilisez la méthode
instances.insert
bêta, car cette option est disponible en preview.Ajoutez la propriété
hostErrorTimeoutSeconds
à l'objetscheduling
du corps de la requête, oùHOST_ERROR_TIMEOUT
correspond au nombre de secondes pendant lesquelles Compute Engine attend avant de redémarrer ou d'arrêter une instance qui ne répond pas. Les valeurs valides sont comprises entre 90 et 330 (5,5 minutes), par incréments de 30 secondes.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, } }
Mettre à jour la stratégie de maintenance de l'hôte d'une instance existante
Console
gcloud
Mettez à jour la stratégie de maintenance de l'hôte d'une instance existante avec la commande
gcloud compute instances set-scheduling
. Utilisez les mêmes paramètres que pour la commande de création d'instance de la section précédente.Pour mettre à jour la durée maximale pendant laquelle Compute Engine attend avant de redémarrer ou d'arrêter une instance qui ne répond pas (Preview), exécutez la commande
gcloud beta compute instances set-scheduling
et incluez--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
Remplacez les éléments suivants :
REST
Mettez à jour la stratégie de maintenance de l'hôte d'une instance existante à l'aide d'une requête
POST
à la méthodeinstances.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 }
Remplacez les éléments suivants :
Mettre à jour le délai avant expiration de la détection des erreurs de l'hôte
Pour mettre à jour le délai maximal pendant lequel Compute Engine attend avant de redémarrer ou d'arrêter une VM qui ne répond pas, vous devez utiliser la méthode
instances.setScheduling
bêta, car cette fonctionnalité est en version Preview.Ajoutez la propriété
hostErrorTimeoutSeconds
au corps de la requête, oùHOST_ERROR_TIMEOUT
correspond au nombre de secondes pendant lesquelles Compute Engine attend avant de redémarrer ou d'arrêter une instance qui ne répond pas. Les valeurs valides sont comprises entre 90 et 330 (5,5 minutes), par incréments de 30 secondes.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { ... "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS }
Afficher les paramètres de la stratégie de maintenance de l'hôte pour une instance
Console
gcloud
Affichez les paramètres des options de maintenance de l'hôte pour une instance à l'aide de la commande
gcloud compute instances describe
.Pour afficher la valeur actuelle du paramètre
hostErrorTimeoutSeconds
(Preview), utilisez la commandegcloud beta compute instances describe
.gcloud compute instances describe INSTANCE_NAME \ --zone ZONE --format="yaml(scheduling)"
Remplacez les éléments suivants :
La sortie inclut les paramètres actuels de la stratégie de maintenance de l'hôte, par exemple:
scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
Pour afficher les paramètres de maintenance de l'hôte d'une instance, utilisez la méthode
instances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Remplacez les éléments suivants :
Dans le résultat, l'objet
scheduling
contient les paramètres de la stratégie de maintenance de l'hôte de l'instance, par exemple:{ ... "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }, ... }
Afficher les paramètres de délai avant expiration de l'erreur de l'hôte
Affichez le paramètre
hostErrorTimeoutSeconds
actuel en envoyant une requêteGET
à l'aide de la méthode bêtainstances.get
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Remplacez les éléments suivants :
Dans le résultat, l'objet
scheduling
inclut le délai de détection des erreurs de l'hôte de l'instance, par exemple:{ ... "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "hostErrorTimeoutSeconds": 120, "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }, ... }
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-