Si vous rencontrez des problèmes sur une VM H4D réservée que vous ne parvenez pas à résoudre autrement (par exemple, des erreurs persistantes avec le périphérique RDMA), nous vous recommandons de signaler son hôte comme défectueux. Lorsque vous signalez un hôte comme défectueux, Compute Engine le signale comme tel, puis répare automatiquement la VM en exécutant la maintenance de l'hôte. Pour les VM H4D, Compute Engine tente de migrer la VM vers un autre hôte lorsque la maintenance commence, ce qui peut aider à minimiser le temps d'arrêt de votre charge de travail.
Ce document explique comment signaler et réparer les hôtes défectueux pour les instances de machines virtuelles (VM) qui font partie de clusters basés sur des VM. Pour les clusters Google Kubernetes Engine (GKE), consultez Signaler des hôtes défectueux via GKE.
Limites
Lorsque vous signalez un hôte défectueux, les limites suivantes s'appliquent :
Vous ne pouvez signaler un hôte défectueux que si la VM qui s'exécute sur l'hôte remplit toutes les conditions suivantes :
La VM est en cours d'exécution.
La VM utilise un type de machine H4D.
La VM utilise le modèle de provisionnement lié à la réservation.
Cloud de Confiance by S3NS s'efforce de répondre à toutes vos demandes de signalement d'hôte défectueux. Toutefois, en raison de contraintes de capacité ou de limites de débit, il est possible qu'une requête ne soit pas toujours traitée.
Avant de commencer
-
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Cloud de Confiance pour accéder aux services Cloud de Confiance by S3NS et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud initREST
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, puis connectez-vous à 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 Cloud de Confiance .
Rôles requis
Pour obtenir les autorisations nécessaires pour signaler un hôte défectueux, demandez à votre administrateur de vous accorder les rôles IAM suivants :
- Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1) sur la VM ou le projet -
Pour afficher l'état d'une opération de signalement d'hôte défectueux à l'aide de Cloud Logging :
Visionneuse 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 signaler un hôte défectueux. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour signaler un hôte défectueux :
-
Pour créer un rapport sur un hôte défectueux :
compute.instances.updatesur la VM -
Pour afficher la liste des opérations à l'aide de Logging :
logging.operations.listsur le projet -
Pour afficher les détails d'une opération à l'aide de Logging :
logging.operations.getsur le projet -
Pour afficher la liste des opérations dans Compute Engine :
compute.zoneOperations.listsur le projet -
Pour afficher les détails d'une opération dans Compute Engine :
compute.zoneOperations.describesur le projet
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Comprendre la procédure de signalement d'un hôte défectueux
Après avoir signalé un hôte défectueux pour une VM H4D, le moment où la VM H4D redémarre varie en fonction du mode opérationnel de la réservation que vous avez utilisée pour créer la VM. Pour vérifier le mode opérationnel d'une réservation, affichez le champ reservationOperationalMode dans la réservation.
Mode géré (HIGHLY_AVAILABLE_CAPACITY) |
|
|---|---|
| Types de machines compatibles | H4D |
| Limitation du débit de l'API de signalement d'hôte défectueux | Les appels à l'API peuvent être soumis à une limite de fréquence. |
| Processus de signalement d'un hôte défectueux |
Lorsque vous signalez un hôte défectueux pour une VM H4D exécutée en mode géré, les opérations suivantes se produisent :
|
Signaler un hôte défectueux
Pour signaler un hôte défectueux, procédez comme suit :
Examinez l'hôte sur lequel votre VM s'exécute.
Pour obtenir des instructions, consultez Afficher la topologie du cluster H4D.
Facultatif : sauvegardez les données des disques SSD locaux. Lorsque la VM s'arrête, Compute Engine supprime automatiquement les données de tous les disques SSD locaux qui y sont associés. Vous ne pouvez pas récupérer les données des disques SSD locaux une fois que Compute Engine les a supprimées.
Pour savoir comment conserver les données des disques SSD locaux, consultez Sauvegarde des données des disques SSD locaux.
Signalez l'hôte défectueux. Pour signaler un hôte défectueux, sélectionnez l'une des options suivantes. L'opération de réparation de l'hôte commence immédiatement, dans la minute qui suit la fin de l'opération de signalement de l'hôte défectueux. Si la VM ne répond plus après le démarrage de l'opération de signalement d'un hôte défectueux, nous vous recommandons de la redémarrer après avoir attendu au moins 15 minutes.
gcloud
Pour signaler un hôte défectueux, utilisez la commande
gcloud compute instances report-host-as-faultysuivante :gcloud compute instances report-host-as-faulty VM_NAME \ --async \ --disruption-schedule=IMMEDIATE \ --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \ --zone=ZONERemplacez les éléments suivants :
VM_NAME: Nom de la VM.FAULT_REASON: liste des problèmes d'hôte rencontrés par votre VM, séparés par des virgules (par exemple,ISSUE_1,ISSUE_2). Vous pouvez spécifier les valeurs suivantes :PERFORMANCE: vous constatez une dégradation des performances de l'opération réseau du processeur ou de Cloud RDMA, des échecs de l'interface réseau IRDMA ou l'absence du périphérique réseau IRDMA.SILENT_DATA_CORRUPTION: vous constatez une corruption des données dans votre VM, mais celle-ci continue de s'exécuter. La corruption silencieuse des données peut être due à des problèmes tels que des défauts de processeur virtuel, des bugs logiciels ou des problèmes de noyau.BEHAVIOR_UNSPECIFIED: vous n'êtes pas sûr du problème qui affecte votre VM ou le problème n'est pas couvert par les autres options.
DESCRIPTION: description du problème affectant votre VM, comme des informations XID ou des problèmes de performances suspectés.ZONE: zone où se trouve la VM.
REST
Pour signaler un hôte défectueux, envoyez la requête
POSTsuivante à la méthodeinstances.reportHostAsFaulty.Lorsque vous signalez un hôte défectueux, vous pouvez spécifier plusieurs raisons à la fois. Par exemple, pour spécifier deux motifs de défaillance, envoyez une requête comme suit :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/reportHostAsFaulty { "disruptionSchedule": "IMMEDIATE", "faultReasons": [ { "behavior": "FAULT_REASON_1", "description": "DESCRIPTION_1" }, { "behavior": "FAULT_REASON_2", "description": "DESCRIPTION_2" } ] }Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve la VM.ZONE: zone où se trouve la VM.VM_NAME: Nom de la VM.FAULT_REASON_1etFAULT_REASON_2: chaque problème d'hôte rencontré par votre VM. Vous pouvez spécifier les valeurs suivantes :PERFORMANCE: vous constatez une dégradation des performances du CPU ou de l'opération réseau RDMA, des défaillances de l'appareil RDMA ou l'absence de l'appareil RDMA.SILENT_DATA_CORRUPTION: vous constatez une corruption des données dans votre VM, mais celle-ci continue de s'exécuter. La corruption silencieuse des données peut être due à des problèmes tels que des défauts de processeurs virtuels, des bugs logiciels ou des problèmes de noyau.BEHAVIOR_UNSPECIFIED: vous n'êtes pas sûr du problème rencontré par votre VM.
DESCRIPTION_1etDESCRIPTION_2: description de chaque problème d'hôte que vous avez spécifié, comme des informations XID ou des problèmes de performances suspectés.
Examiner les opérations de signalement d'un hôte défectueux
Une fois que vous avez signalé un hôte défectueux, Compute Engine lance une série d'opérations pour le marquer comme défectueux et le préparer à la réparation. Plus précisément, lors d'une opération de signalement d'hôte défectueux, le processus suivant se déroule :
Marquez l'hôte comme défectueux. Compute Engine crée l'opération de signalement d'hôte défectueux. L'opération "Signaler un hôte défaillant" crée ensuite une séquence de sous-opérations. Ces sous-opérations marquent l'hôte sous-jacent comme défectueux.
Préparez l'hôte pour la réparation. Une fois toutes les sous-opérations terminées, l'opération de signalement d'un hôte défaillant démarre. Compute Engine arrête la VM et lance l'opération de réparation de l'hôte défectueux. En fonction du mode opérationnel de la réservation spécifié dans la réservation utilisée par la VM, et si des hôtes sains sont disponibles, Compute Engine conserve la VM à l'état arrêté ou tente de la migrer et de la redémarrer automatiquement.
Remplissez le rapport et réparez l'hôte. Compute Engine termine l'opération de signalement d'un hôte défectueux, et l'opération de réparation de l'hôte s'exécute.
Pour suivre l'état des opérations de signalement d'un hôte défectueux (compute.instances.reportHostAsFaulty) dans votre projet, sélectionnez l'une des options suivantes. Pour en savoir plus sur les autres opérations que vous pouvez utiliser pour suivre les réparations, les migrations et les redémarrages automatiques, consultez Comportements de maintenance et de redémarrage et Surveiller et planifier un événement de maintenance de l'hôte dans la documentation Compute Engine.
Console (opérations de VM)
Dans la console Cloud de Confiance , accédez à la page Opérations.
Dans le tableau qui s'affiche, recherchez la VM que vous avez signalée.
Dans la ligne contenant la VM, dans la colonne État, vous pouvez voir l'état de l'opération de signalement de l'hôte défectueux. Une fois l'opération terminée, la valeur est Done (Terminé).
Facultatif : Pour vérifier si Compute Engine a redémarré la VM, affichez les détails de la VM.
Console (journaux de VM)
Dans la console Cloud de Confiance , accédez à la page Explorateur de journaux.
Vérifiez que l'option Afficher la requête est activée.
Dans Query editor (éditeur de requête), saisissez la requête suivante :
resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"Cliquez sur Exécuter la requête. Le volet Résultats de la requête affiche les résultats de la requête.
gcloud
Pour afficher l'état des opérations de signalement d'hôte défectueux dans votre projet, utilisez la commande
gcloud compute operations listavec l'option--filterdéfinie suroperationType:compute.instances.reportHostAsFaulty:gcloud compute operations list --filter="operationType:compute.instances.reportHostAsFaulty"Si vous souhaitez afficher les détails d'une opération d'hôte défectueux spécifique, utilisez la commande
gcloud compute operations describe:gcloud compute operations describe OPERATION_NAME \ --zone="ZONE"Remplacez les éléments suivants :
OPERATION_NAME: nom de l'opération.ZONE: zone où se trouve l'opération.
REST
Pour afficher l'état des opérations de signalement d'hôte défectueux dans votre projet, envoyez une requête GET à la méthode zoneOperations.list.
Dans l'URL de la requête, incluez le paramètre de requête filter défini sur items.operationType:compute.instances.reportHostAsFaulty.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations&filter=items.operationType:compute.instances.reportHostAsFaulty
Remplacez les éléments suivants :
PROJECT_ID: nom de l'opération.ZONE: zone où se trouvent les opérations.
Étape suivante
- Si vous rencontrez des problèmes lors du signalement d'un hôte défectueux, consultez Résoudre les problèmes liés à l'API d'hôte défectueux.