Résoudre les problèmes de transfert sur site

Ce document explique comment identifier et résoudre les problèmes liés au transfert et aux agents de transfert. Il indique également où trouver les journaux des agents, qui vous aideront dans le dépannage de ces problèmes.

Résoudre les erreurs de transfert dans Cloud Console

Le tableau suivant décrit les messages d'erreur liés au transfert et indique comment les résoudre :

Message d'erreur Type d'erreur Explication Méthode de dépannage
Modifié lors du transfert FILE_MODIFIED_FAILURE Le fichier source a été modifié lors de l'importation à chaque fois que le service de transfert des données sur site a tenté de l'importer. Empêchez les écritures dans le fichier spécifié lors de la prochaine tentative du service de transfert des données sur site.
Échec du transfert PRECONDITION_FAILURE L'objet Cloud Storage associé au fichier source a été modifié à chaque fois que le service de transfert des données sur site a tenté d'importer le fichier. Empêchez les différentes tâches de transfert d'écrire le même fichier dans le même bucket Cloud Storage en utilisant des préfixes d'objet Cloud Storage uniques lorsque vous créez des tâches de transfert.
Répertoire source introuvable SOURCE_DIR_NOT_FOUND Soit le chemin source spécifié est incorrect, soit il est correct, mais les agents n'y ont pas tous accès. Vérifiez la configuration de la tâche de transfert et vérifiez que :
Fichier introuvable FILE_NOT_FOUND_FAILURE Le fichier source a été trouvé, mais il a été supprimé avant de pouvoir être transféré vers Cloud Storage. Si le fichier a été supprimé par erreur, restaurez-le afin que la prochaine tâche de transfert puisse l'importer.
Bucket de destination introuvable BUCKET_NOT_FOUND Le bucket de destination n'existe pas dans Cloud Storage. Vérifiez qu'il n'y a pas d'erreur de nommage et que le bucket de destination existe.
Objet de métadonnées interne introuvable METADATA_OBJECT_NOT_FOUND_FAILURE Le service de transfert des données sur site stocke les métadonnées dans le bucket de destination avec le préfixe storage-transfer. Si les fichiers de métadonnées sont supprimés avant la fin des opérations de transfert correspondantes, cette erreur s'affiche. Évitez de supprimer des objets ayant le préfixe storage-transfer/ dans le bucket de destination tant que toutes les tâches de transfert ne sont pas terminées.
Échec en raison d'un nom de fichier non valide INVALID_FILE_NAME Le chemin d'accès à un fichier source n'est pas valide. Vérifiez et corrigez le chemin d'accès au fichier spécifié. Vérifiez que le chemin d'accès ne comporte que des caractères acceptés par Cloud Storage.
Échec dû aux autorisations PERMISSION_FAILURE Un agent ne dispose pas des autorisations nécessaires pour effectuer l'opération. Cette erreur recouvre les deux cas suivants :
  • Un agent ne dispose pas des autorisations Google Cloud nécessaires.
  • Un agent ne peut pas lire un fichier ou un répertoire en raison d'autorisations insuffisantes sur le système de fichiers source.
Vérifiez les éléments suivants :
  • Assurez-vous que vos agents disposent des rôles IAM suivants :
    • roles/pubsub.editor
    • roles/storage.admin sur tous les buckets de destination
    L'un de ces deux rôles peut être attribué à un compte de service utilisé par les agents, ou un utilisateur doté de ces rôles peut utiliser ses identifiants par défaut lorsqu'il installe les agents.
  • Assurez-vous que tous les agents ont accès en lecture aux chemins d'accès sur le système de fichiers source.
Le service ne disposait pas des autorisations nécessaires SERVICE_PERMISSION_FAILURE Le service de transfert des données sur site ne dispose pas des autorisations nécessaires pour effectuer l'opération. Le service de transfert des données sur site utilise le compte de service cloud-ingest-dcp@cloud-ingest.iam.gserviceaccount.com pour accéder aux ressources. Vérifiez que ce compte de service dispose des rôles suivants :
  • roles/pubsub.editor dans le projet
  • roles/storage.admin sur tous les buckets de destination
Agent non compatible AGENT_UNSUPPORTED_VERSION La version de l'agent n'est plus compatible avec le service de transfert des données sur site. Il s'agit d'une erreur temporaire, due à une mise à jour défectueuse de l'agent. Si cette erreur se produit, procédez comme suit :
  1. Arrêtez tous les agents.
  2. Récupérez la dernière image Docker en exécutant la commande suivante : sudo docker pull gcr.io/cloud-ingest/tsop-agent
  3. Exécutez la commande Docker run pour démarrer tous les conteneurs d'agent.
Si le problème persiste, contactez l'équipe d'assistance.
Échec causé par l'inadéquation du hachage HASH_MISMATCH_FAILURE Chaque fois que le service de transfert des données sur site a tenté d'importer ce fichier, les octets téléchargés étaient corrompus. Par conséquent, le hachage du fichier sur site ne correspondait pas à celui de l'objet Cloud Storage obtenu. Cette erreur peut être due à un certain nombre de problèmes potentiels. Si le taux d'échecs dus à l'inadéquation du hachage est faible (moins de 1 %) et le volume du transfert important, réessayez de transférer les fichiers ayant échoué. Si le taux d'échecs dus à l'inadéquation du hachage (1 % ou plus) est élevé, nous vous recommandons de rechercher sur la machine de l'agent l'existence de défaillances matérielles potentielles affectant la mémoire, le processeur, ou autres.
Échec causé par un mode de fichier non compatible UNSUPPORTED_FILE_MODE Le service de transfert des données sur site a rencontré un fichier dont le mode n'est pas compatible, tel qu'un device, un socket, un pipeline nommé ou un fichier irrégulier. Supprimez ces types de fichiers particuliers du répertoire source.
Échec causé par une erreur dans le système de fichiers FILESYSTEM_ERROR Un agent a rencontré une erreur du système de fichiers ou du système d'exploitation lors de l'exécution d'une opération sur le système de fichiers, telle que "read", "seek" ou "stat". Lisez la description de l'échec pour comprendre quelle opération du système de fichiers a échoué. Assurez-vous que le système de fichiers est accessible à l'agent sur site et qu'il réalise sans problème les opérations de base sur les fichiers.
Échec en raison d'une erreur inconnue UNKNOWN_FAILURE Une erreur inattendue s'est produite. Lisez la description de l'échec. Si la description de l'échec ne contient pas suffisamment d'informations pour résoudre le problème, veuillez contacter l'assistance.
Échec causé par une spécification non valide INVALID_SPEC L'agent a reçu une spécification interne corrompue. Vérifiez la corruption des données sur les hôtes de l'agent et contactez l'assistance si vous n'en trouvez aucune.

Afficher les journaux des agents

Les journaux des agents contiennent des informations sur les processus des agents. Ils peuvent vous aider à résoudre les problèmes de connexion des agents. Si les agents sont répertoriés comme connectés dans Google Cloud Console mais que des transferts échouent, consultez la section Afficher les erreurs pour voir quelques-unes des erreurs de transfert. Pour afficher les journaux qui contiennent un enregistrement pour chaque fichier que le service de transfert de stockage a traité lors d'un transfert, consultez la section Afficher les journaux de transfert.

Par défaut, les journaux des agents sont stockés dans le répertoire /tmp. Vous pouvez modifier l'emplacement de stockage à l'aide de l'option de ligne de commande --log-dir=logs-directory.

Les journaux sont nommés de la façon suivante :

agent.hostname.username.log.log-level.timestamp

Où :

  • hostname est le nom de l'hôte sur lequel l'agent est exécuté.
  • username est le nom de l'utilisateur exécutant l'agent.
  • log-level a l'une des valeurs suivantes :
    • INFO : messages d'information
    • ERROR : erreurs rencontrées lors du transfert, mais qui n'empêchent pas la tâche de transfert de se poursuivre
    • FATAL : erreurs rencontrées qui empêchent la tâche de transfert de se poursuivre
  • timestamp est l'horodatage au format YYYYMMDD-hhmmss.thread-id.

Le répertoire des journaux contient les liens symboliques suivants vers les journaux les plus récents pour chacun des niveaux de priorité :

  • agent.ERROR
  • agent.FATAL
  • agent.INFO

Résoudre les erreurs liées aux agents

Dans les sections suivantes, nous vous expliquons comment identifier et résoudre les erreurs liées aux agents de transfert sur site :

Les agents ne sont pas connectés

Si les agents de transfert sur site ne sont pas affichés comme étant connectés dans Google Cloud Console, procédez comme suit :

  1. Vérifiez que les agents peuvent se connecter aux API Cloud Storage et Pub/Sub, et qu'il n'y a aucun problème de réseau ou d'authentification :

    1. Pour tester la connexion d'un agent aux API Cloud Storage, exécutez la commande suivante à partir de la machine sur laquelle il est installé :

      gsutil cp test.txt gs://my-bucket

      Remplacez :

      my-bucket par le nom de votre bucket Cloud Storage.

    2. Pour tester la connexion d'un agent aux API Pub/Sub, exécutez la commande suivante à partir de la machine sur laquelle il est installé :

      gcloud pubsub topics list --project=project-id

      Remplacez :

      project-id par le nom de votre projet Google Cloud.

  2. Si votre projet utilise VPC Service Controls, affichez les journaux des agents pour consulter les erreurs. Si VPC Service Controls est mal configuré, les journaux des agents INFO contiennent l'erreur suivante :

    Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: id

    Dans ce résultat :

Les agents sont connectés, mais les tâches échouent

Si les agents sont affichés comme étant connectés mais que les tâches de transfert échouent, examinez les détails des erreurs concernant les tâches ayant échoué.