Ce document explique comment utiliser les fonctionnalités de maintenance de l'hôte disponibles dans la suite Cluster Director. Il explique comment surveiller et planifier la maintenance programmée sur les instances Compute Engine, et comment l'effectuer. Pour gérer la maintenance sur vos blocs de capacité réservés, que des instances de calcul y soient exécutées ou non, consultez plutôt Gérer les événements hôtes pour plusieurs réservations.
En gérant de manière proactive les événements de maintenance de l'hôte à venir sur vos instances, vous pouvez minimiser les interruptions et maintenir des performances optimales.
Avant de commencer
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
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les événements de maintenance de l'hôte sur les instances de calcul, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Administrateur Compute (
roles/compute.admin) sur le projet -
Pour accéder en lecture seule aux journaux d'audit des événements système :
Lecteur de journaux (
roles/logging.viewer) sur le projet
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour gérer les événements de maintenance de l'hôte sur les instances de calcul. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour gérer les événements de maintenance de l'hôte sur les instances de calcul :
-
Pour afficher les détails d'une instance :
compute.instances.getsur le projet
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Présentation
Pour optimiser la maintenance de vos instances de calcul, procédez comme suit :
Comprendre et gérer la maintenance de l'hôte Découvrez la fréquence et le comportement de maintenance de vos instances en fonction de leur série de machines, et apprenez à préparer votre charge de travail pour gérer la maintenance de l'hôte. Ces informations vous aident à minimiser les perturbations et à éviter la perte de données.
Configurez des alertes de notification. Créez des alertes basées sur les journaux pour recevoir des notifications lorsque la maintenance de vos instances est planifiée, commencée ou terminée. Cette approche vous aide à planifier vos activités de manière proactive et à éviter les temps d'arrêt inattendus.
Gérer la maintenance sur plusieurs instances Vérifiez si une opération de maintenance est prévue pour vos instances. Si nécessaire, vous pouvez démarrer manuellement la maintenance de vos instances. Ce processus vous aide à accroître la résilience de vos charges de travail pour héberger des événements, éviter les temps d'arrêt et maximiser la disponibilité de vos applications.
Comprendre et gérer la maintenance de l'hôte
Au cours du cycle de vie d'une instance Compute Engine, la machine hôte sur laquelle votre instance s'exécute subit plusieurs événements hôtes.
Un événement hôte peut inclure les éléments suivants :
- Maintenance planifiée de l'infrastructure Compute Engine.
- Maintenance d'urgence non planifiée pour réparer l'infrastructure Compute Engine après une erreur d'hôte ou un rapport d'hôte défectueux.
Le tableau suivant décrit les fonctionnalités de maintenance de l'hôte pour les types de machines optimisés pour les accélérateurs :
| Type de machine | Fréquence typique des événements de maintenance planifiée | Comportement en cas de maintenance | Notification avancée pour la maintenance planifiée | Notifications avancées pour les opérations de maintenance d'urgence | Maintenance à la demande | Simuler une maintenance |
|---|---|---|---|---|---|---|
| A4X Max et A4X | 90 jours minimum | L'événement se termine par la persistance des données SSD locales. | 90 jours | Si vous activez les notifications d'urgence, la durée est de sept jours. Sinon, quelques heures. | Oui | Non |
| A4 | 90 jours minimum | L'événement se termine par la persistance des données SSD locales. | 90 jours | Si vous activez les notifications d'urgence, la durée est de sept jours. Sinon, quelques heures. | Oui | Non |
| A3 Ultra | 90 jours minimum | L'événement se termine par la persistance des données SSD locales. | 90 jours | Si vous activez les notifications d'urgence, la durée est de sept jours. Sinon, quelques heures. | Oui | Non |
| A3 Mega et A3 High (8 GPU) |
90 jours minimum | L'événement se termine par la persistance des données SSD locales. | 90 jours | Si vous activez les notifications d'urgence, la durée est de sept jours. Sinon, quelques heures. | Oui | Oui |
Les fréquences de maintenance indiquées dans le tableau précédent sont approximatives et ne sont pas garanties. Compute Engine peut occasionnellement effectuer des opérations de maintenance plus fréquentes.
Pour éviter de perdre des données ou de la progression, configurez vos charges de travail pour qu'elles gèrent la maintenance de l'hôte. Par exemple, utilisez les techniques suivantes pour enregistrer vos données temporaires et votre progression avant l'arrêt de votre charge de travail :
Configurer des alertes de notification pour les instances de calcul
Vous pouvez recevoir des notifications concernant les événements de maintenance planifiés, en cours ou terminés pour vos instances en créant des règles d'alerte basées sur les journaux.
Pour créer une alerte pour les événements de maintenance de vos instances, suivez la procédure ci-dessous. Répétez cette procédure pour chaque alerte que vous souhaitez créer.
-
Dans la console Google Cloud , accédez à la pageExplorateur de journaux :
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Cliquez sur le bouton Afficher la requête pour l'activer.
Dans le volet Requête, créez l'une des requêtes suivantes. Ces requêtes filtrent les entrées de journaux pour identifier des événements de maintenance spécifiques. Si vous souhaitez utiliser plusieurs requêtes, répétez cette procédure pour créer une alerte unique pour chaque requête.
Pour recevoir des alertes lorsqu'une opération de maintenance est planifiée pour une instance :
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "scheduled"Pour recevoir des alertes lorsque l'intervalle de maintenance d'une instance a commencé :
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "ongoing"Pour recevoir des alertes lorsque la maintenance d'une instance a commencé :
protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULTPour recevoir des alertes lorsque la maintenance d'une instance est terminée :
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "completed"
Pour valider la requête, cliquez sur Exécuter la requête. Si la requête est valide, le volet Résultats de la requête affiche les entrées de journal correspondant à la requête.
Dans la barre d'outils des résultats de la requête, cliquez sur la liste Actions, puis sélectionnez Créer une alerte de journal. Le volet Créer une règle d'alerte basée sur les journaux s'affiche.
Dans la section Détails de l'alerte, procédez comme suit :
Dans le champ Nom de la règle d'alerte, saisissez un nom pour la règle.
Dans la liste Niveau de gravité de la règle, sélectionnez Avertissement (ou un niveau de gravité supérieur).
Cliquez sur Suivant.
Dans la section Sélectionner les journaux à inclure dans l'alerte, cliquez sur Suivant.
Dans la section Définir la fréquence des notifications et le délai pour la fermeture automatique, spécifiez les éléments suivants :
Dans la liste Délai entre les notifications, sélectionnez la fréquence à laquelle vous souhaitez recevoir des notifications.
Dans la liste Durée de fermeture automatique des incidents, sélectionnez la durée au bout de laquelle Cloud Logging cesse d'envoyer des notifications et ferme automatiquement l'incident.
Cliquez sur Suivant.
Dans la section Qui doit être informé ?, spécifiez un canal de notification pour la journalisation afin d'envoyer des notifications.
Cliquez sur Enregistrer.
Pour afficher des exemples de notifications d'événements de maintenance dans l'explorateur de journaux, consultez Exemples de notifications de maintenance dans la documentation Compute Engine.
Gérer la maintenance sur les instances de calcul
Vous pouvez afficher et contrôler la maintenance de vos instances en procédant de l'une des manières suivantes :
Pour vérifier l'état et l'heure prévue de la prochaine maintenance de vos instances, consultez l'état de maintenance des instances.
Pour démarrer immédiatement la maintenance de vos instances au lieu d'attendre l'heure de maintenance programmée, démarrez manuellement la maintenance des instances.
Afficher l'état de maintenance des instances de calcul
Vous pouvez afficher l'état et l'heure prévue de la prochaine maintenance de vos instances en vérifiant la valeur du champ upcomingMaintenance dans les métadonnées de l'instance. Si une instance ne contient pas le champ upcomingMaintenance, aucun événement de maintenance de l'hôte n'est planifié pour l'instance. Pour en savoir plus sur les champs de upcomingMaintenance, consultez Définitions de l'état de maintenance dans la documentation Compute Engine.
De plus, si une opération de maintenance est programmée pour une instance, le champ upcomingGroupMaintenance contient le champ maintenanceReasons. Ce champ décrit la raison pour laquelle une maintenance a été planifiée pour votre instance, comme indiqué dans le tableau suivant :
| Type de maintenance | Motif de la maintenance | État de l'instance de calcul |
|---|---|---|
| Maintenance planifiée après signalement d'un hôte défectueux | FAILURE_GPU_CUSTOMER_REPORTED |
Ne s'applique qu'aux instances qui s'exécutent sur l'hôte que vous avez signalé comme défectueux. |
| Maintenance planifiée pour la maintenance régulière |
|
S'applique aux instances en cours d'exécution, arrêtées ou suspendues. |
| Maintenance d'urgence non planifiée |
|
Ne s'applique qu'aux instances en cours d'exécution. |
Pour afficher le champ maintenanceReasons dans une instance, vous devez utiliser la gcloud CLI ou l'API REST. Pour afficher l'état de maintenance de plusieurs instances de calcul simultanément, vous devez utiliser la console Google Cloud ou l'API REST. Sinon, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Dans la colonne État de maintenance, Compute Engine affiche l'état de maintenance de vos instances. Si cette colonne n'apparaît pas dans le tableau Instances de VM, cliquez sur view_column Options d'affichage des colonnes, cochez la case État de maintenance, puis cliquez sur OK.
gcloud
Pour afficher l'état de maintenance d'une instance, utilisez la commande gcloud compute instances describe avec l'option --flatten=resourceStatus.upcomingMaintenance :
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.upcomingMaintenance \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instanceZONE: zone où se trouve l'instance.
Le résultat ressemble à l'un des exemples suivants :
Si un événement de maintenance de l'hôte est prévu pour votre instance, le résultat est semblable à ce qui suit :
--- canReschedule: true latestWindowStartTime: '2025-11-01T19:00:00Z' maintenanceReasons: - 'PLANNED_UPDATE' - 'PLANNED_NETWORK_UPDATE' maintenanceStatus: 'PENDING' type: 'SCHEDULED' windowEndTime: '2025-11-01T22:00:00Z' windowStartTime: '2025-11-01T19:00:00Z'Si aucun événement de maintenance de l'hôte n'est prévu pour votre instance, le résultat ressemble à ce qui suit :
--- null
REST
Pour afficher l'état de maintenance de vos instances, envoyez l'une des requêtes GET suivantes. Lorsque vous envoyez une requête, vous devez inclure le paramètre de requête fields pour n'afficher que le nom, le type de machine et la maintenance à venir d'une instance. Vous devez également inclure le paramètre de requête filter pour filtrer les instances uniquement par type de machine spécifique.
Pour afficher les instances dans toutes les zones : méthode
instances.aggregatedList.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPEPour afficher les instances d'une zone spécifique : méthode
instances.list.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous avez créé les instances.ZONE: zone où se trouvent les instances.MACHINE_TYPE: type de machine selon lequel vous souhaitez filtrer les instances.
Si un événement de maintenance de l'hôte est planifié pour une instance, celle-ci contient le champ upcomingMaintenance :
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"upcomingMaintenance": {
"canReschedule": true,
"latestWindowStartTime": "2024-11-01T19:00:00Z",
"maintenanceStatus": "PENDING",
"maintenanceReasons": [
"PLANNED_UPDATE",
"PLANNED_NETWORK_UPDATE"
],
"type": "SCHEDULED",
"windowEndTime": "2024-11-01T22:00:00Z",
"windowStartTime": "2024-11-01T19:00:00Z"
}
}
},
...
]
}
Vous pouvez également affiner une liste d'instances en définissant le paramètre de requête filter sur une autre expression de filtre.
Serveur de métadonnées
Pour afficher l'état de maintenance d'une instance, procédez comme suit :
Si ce n'est pas déjà fait, connectez-vous à votre instance Linux ou Windows.
Pour afficher le calendrier de maintenance à venir, interrogez le point de terminaison
upcoming-maintenance:curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"Si un événement de maintenance de l'hôte est prévu pour votre instance, le résultat est semblable à ce qui suit :
"Upcoming maintenance": { "can_reschedule": "true", "latest_window_start_time": "2024-12-01T19:00:01Z", "maintenance_reasons": [ "PLANNED_UPDATE", "PLANNED_NETWORK_UPDATE" ], "maintenance_status": "PENDING", "type": "SCHEDULED", "window_end_time": "2024-12-01T21:00:01Z", "window_start_time": "2024-12-01T19:00:01Z" }Si aucun événement de maintenance de l'hôte n'est planifié, le résultat est semblable à ce qui suit :
{ }Pour afficher l'état de maintenance actuel d'une VM, interrogez le point de terminaison
maintenance-event:curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"Pour en savoir plus sur les résultats de ces requêtes, consultez Examiner les résultats.
Démarrer manuellement la maintenance sur les instances de calcul
Vous pouvez démarrer manuellement la maintenance de vos instances au lieu d'attendre l'heure programmée.
En fonction de l'état de maintenance d'une instance, voici ce qui se produit :
| État de maintenance | Description | Ce que vous voyez |
|---|---|---|
| Planifié | Compute Engine a planifié une maintenance pour l'instance. Vous pouvez démarrer manuellement la maintenance avant l'heure prévue. |
|
| En cours | Une opération de maintenance est en cours. Vous ne pouvez pas la reprogrammer. |
|
| Terminé | La maintenance est terminée. Compute Engine a supprimé toutes les notifications de maintenance de l'instance. |
|
Vous pouvez démarrer manuellement la maintenance pour plusieurs instances simultanément ou pour des instances individuelles. Pour plusieurs instances, utilisez la console Google Cloud ou, pour les instances situées dans la même zone, la gcloud CLI. Pour les instances individuelles, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Sélectionnez les lignes correspondant aux instances pour lesquelles vous souhaitez démarrer la maintenance.
Cliquez sur Exécuter la maintenance.
Pour confirmer, cliquez sur Exécuter la maintenance.
gcloud
Pour démarrer manuellement la maintenance d'une ou de plusieurs instances dans la même zone, utilisez la commande gcloud compute instances perform-maintenance :
gcloud compute instances perform-maintenance INSTANCE_NAMES \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAMES: liste des noms d'instance séparés par des espaces (par exemple,vm-01 vm-02 vm-03).ZONE: zone où se trouvent les instances.
REST
Pour démarrer manuellement la maintenance d'une instance, envoyez une requête POST à la méthode instances.performMaintenance :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous avez créé l'instance.ZONE: zone où se trouve l'instance.INSTANCE_NAME: nom de l'instance
Étapes suivantes
Pour tester votre charge de travail après un événement hôte, consultez Recettes de benchmarking.
Pour en savoir plus sur la surveillance des VM, consultez Surveiller les VM et les clusters Slurm.
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 2026/02/26 (UTC).