Traiter les erreurs

Migrate for Anthos and GKE peut détecter deux types d'erreurs lors d'une migration : les erreurs récupérables et les erreurs terminales. Lorsque Migrate for Anthos and GKE détecte une erreur, l'action exécutée dépend du type d'erreur détecté :

  • Erreur récupérable : Migrate for Anthos and GKE tente de réexécuter l'opération. Quand ce type d'erreur est détecté, l'état de l'opération est défini sur Nouvelle tentative.

  • Erreur terminale : Migrate for Anthos and GKE interrompt l'opération, car ce type d'erreur nécessite généralement une intervention manuelle. Quand ce type d'erreur est détecté, l'état de l'opération est défini sur Erreur.

Afficher l'état d'une opération

Vous pouvez afficher la progression d'une migration à l'aide de l'outil migctl ou de Google Cloud Console. Pour consulter l'état actuel d'une migration dans Google Cloud Console, utilisez la colonne État qui s'y rapporte.

Vous pouvez également exécuter la commande migctl suivante :

migctl migration status my-migration

Le résultat se présente comme suit :

NAME            CURRENT-OPERATION       PROGRESS        STEP            STATUS   AGE
my-migration    GenerateArtifacts       [1/1]           ExtractImage    Retrying 12m2s

Vous pouvez aussi obtenir un résultat détaillé de l'état avec migctl. Au bas de ce résultat, vous trouverez une liste d'événements et d'informations d'erreur supplémentaires. Par exemple, la commande suivante spécifie l'option -v afin d'obtenir l'état détaillé de la migration :

migctl migration status my-migration -v

La sortie contient les événements et un message d'erreur pour vous aider à diagnostiquer l'erreur :

Events:
  Type     Reason             Age                     From                                           Message
  ----     ------             ----                    ----                                           -------
  Warning  GetInstanceFailed  2m39s (x91 over 5h32m)  SourceSnapshot sourcesnapshot-58a2405a-603ba2  Failed quering VM my-vm, with error: googleapi: got HTTP response code 404 with body:

Dans cet exemple, le message indique que la VM nommée my-vm est introuvable.

Erreurs récupérables

Une erreur récupérable est un type d'erreur pouvant être résolue par une nouvelle tentative ou par l'intervention de l'utilisateur. Si l'opération réussit lors de cette nouvelle tentative, le traitement se poursuit.

Par exemple, avant de créer une migration pour une VM Compute Engine, vous devez d'abord arrêter la VM. Si la VM n'est pas arrêtée et que vous essayez d'exécuter la migration, Migrate for Anthos and GKE détecte l'erreur et relance la migration. Migrate for Anthos and GKE continue de réessayer d'exécuter l'opération jusqu'à ce que vous arrêtiez la VM ou annuliez la migration.

Erreurs terminales

Une erreur terminale est une erreur qui ne peut pas être résolue par une nouvelle tentative. En règle générale, une erreur terminale ne peut être résolue que par l'intervention de l'utilisateur.

La méthode de traitement d'une erreur terminale dépend de l'erreur et de l'endroit où elle s'est produite dans le processus de migration :

  • Si une erreur terminale survient lors de la création d'une migration, vous devez supprimer la migration, corriger l'erreur, puis recréer la migration.

  • Si une erreur terminale survient lors de la génération d'artefacts de migration pendant l'exécution d'une migration, vous pouvez résoudre l'erreur manuellement, puis relancer l'opération.

Imaginons par exemple que vous essayiez de migrer une VM Windows sur laquelle IIS n'est pas installé. Cela provoque une erreur terminale, car Migrate for Anthos and GKE exige que Microsoft IIS 7 ou une version ultérieure soit installé sur les VM Windows. Vous devez résoudre ce problème sur la VM avant de procéder à la migration.

Outre l'état Erreur, les erreurs terminales peuvent fournir des informations supplémentaires spécifiques à l'erreur qui vous aident à la diagnostiquer.