Skip to main content
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Identifier et réessayer les opérations de réplication StorageGRID ayant échoué

Après avoir résolu l'alerte « Échec permanent de la réplication inter-grilles », vous devez déterminer si des objets ou des marqueurs de suppression n'ont pas pu être répliqués vers l'autre grille. Vous pouvez ensuite réingérer ces objets ou utiliser l'API de gestion Grid Management pour réessayer la réplication.

L'alerte Échec permanent de la réplication inter-grilles indique que les objets locataires ne peuvent pas être répliqués entre les compartiments de deux grilles pour une raison nécessitant l'intervention de l'utilisateur. Cette alerte est généralement causée par une modification du compartiment source ou du compartiment de destination. Pour plus de détails, consultez "Dépanner les erreurs de fédération de grille".

Déterminez si des objets ont échoué à être répliqués

Pour déterminer si des objets ou des marqueurs de suppression n'ont pas été répliqués sur l'autre grille, vous pouvez rechercher dans le journal des audits les messages "CGRR (Demande de réplication inter-grilles)". Ce message est ajouté au journal lorsque StorageGRID ne parvient pas à répliquer un objet, un objet multipart ou un marqueur de suppression vers le compartiment de destination.

Vous pouvez utiliser le "outil audit-explain" pour traduire les résultats dans un format plus facile à lire.

Avant de commencer
  • Vous disposez des droits d'accès root.

  • Vous avez le Passwords.txt fichier.

  • Vous connaissez l'adresse IP du nœud d'administration principal.

Étapes
  1. Connectez-vous au nœud d'administration principal :

    1. Saisissez la commande suivante : ssh admin@primary_Admin_Node_IP

    2. Saisissez le mot de passe indiqué dans le fichier Passwords.txt.

    3. Saisissez la commande suivante pour passer en mode superutilisateur : su -

    4. Saisissez le mot de passe indiqué dans le fichier Passwords.txt.

      Lorsque vous êtes connecté en tant que root, l'invite passe de $ à #.

  2. Recherchez les messages CGRR dans le journal des audits audit.log et utilisez l'outil audit-explain pour formater les résultats.

    Par exemple, cette commande recherche tous les messages CGRR des 30 dernières minutes et utilise l'outil audit-explain.

    # awk -vdate=$(date -d "30 minutes ago" '+%Y-%m-%dT%H:%M:%S') '$1$2 >= date { print }' audit.log | grep CGRR | audit-explain

    Les résultats de la commande ressembleront à cet exemple, qui contient les entrées de six messages CGRR. Dans l'exemple, toutes les requêtes de réplication inter-grilles ont renvoyé une erreur générale, car l'objet n'a pas pu être répliqué. Les trois premières erreurs concernent des opérations de « replicate object », et les trois dernières erreurs concernent des opérations de « replicate delete marker ».

    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate object" bucket:bucket123 object:"audit-0" version:QjRBNDIzODAtNjQ3My0xMUVELTg2QjEtODJBMjAwQkI3NEM4 error:general error
    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate object" bucket:bucket123 object:"audit-3" version:QjRDOTRCOUMtNjQ3My0xMUVELTkzM0YtOTg1MTAwQkI3NEM4 error:general error
    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate delete marker" bucket:bucket123 object:"audit-1" version:NUQ0OEYxMDAtNjQ3NC0xMUVELTg2NjMtOTY5NzAwQkI3NEM4 error:general error
    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate delete marker" bucket:bucket123 object:"audit-5" version:NUQ1ODUwQkUtNjQ3NC0xMUVELTg1NTItRDkwNzAwQkI3NEM4 error:general error

    Chaque entrée contient les informations suivantes :

    Champ Description

    Demande de réplication inter-grilles CGRR

    Le nom de la demande

    locataire

    L'identifiant du compte du locataire

    connexion

    L'identifiant de la connexion de la fédération de grille

    opération

    Le type d'opération de réplication qui était en cours de tentative :

    • répliquer l'objet

    • répliquer le marqueur de suppression

    • répliquer un objet multipart

    bucket

    Le nom du compartiment

    objet

    Le nom de l'objet

    version

    L'identifiant de version de l'objet

    erreur

    Type d'erreur. En cas d'échec de la réplication inter-grilles, l'erreur est « Erreur générale ».

Réessayer les réplications ayant échoué

Après avoir généré une liste des objets et des marqueurs de suppression qui n'ont pas été répliqués dans le compartiment de destination et résolu les problèmes sous-jacents, vous pouvez réessayer la réplication de deux manières :

  • Réingérez chaque objet dans le compartiment source.

  • Utilisez l'API privée de gestion de la grille, comme décrit.

Étapes
  1. En haut du Grid Manager, sélectionnez l'icône d'aide et sélectionnez API documentation.

  2. Sélectionnez Accéder à la documentation de l’API privée.

    Remarque Les points de terminaison de l'API StorageGRID marqués « Privé » sont susceptibles d'être modifiés sans préavis. Les points de terminaison privés de StorageGRID ignorent également la version de l'API de la requête.
  3. Dans la section cross-grid-replication-advanced, sélectionnez l’endpoint suivant :

    POST /private/cross-grid-replication-retry-failed

  4. Sélectionnez Try it out.

  5. Dans la zone de texte corps, remplacez l'exemple d'entrée pour versionID par un ID de version du journal des audits qui correspond à une requête de réplication inter-grille ayant échoué.

    Veillez à conserver les guillemets doubles autour de la chaîne de caractères.

  6. Sélectionnez Exécuter.

  7. Vérifiez que le code de réponse du serveur est 204, ce qui indique que l'objet ou le marqueur de suppression a été marqué comme en attente de réplication inter-grille vers l'autre grille.

    Remarque « En attente » signifie que la demande de réplication inter-grille a été ajoutée à la file d'attente interne pour traitement.

Surveillez les tentatives de réplication

Vous devez surveiller les opérations de nouvelle tentative de réplication pour vous assurer qu'elles aboutissent.

Astuce La réplication d'un objet ou d'un marqueur de suppression vers l'autre grille peut prendre plusieurs heures ou plus.

Vous pouvez surveiller les opérations de nouvelle tentative de deux manières :

  • Utilisez une requête S3 "HeadObject" ou "GetObject". La réponse inclut l’en-tête de réponse spécifique à StorageGRID x-ntap-sg-cgr-replication-status, qui aura l’une des valeurs suivantes :

    Grid État de la réplication

    Source

    • TERMINÉ : La réplication a réussi.

    • EN ATTENTE : L’objet n’a pas encore été répliqué.

    • ÉCHEC : La réplication a échoué de manière permanente. Un utilisateur doit résoudre l’erreur.

    Destination

    REPLICA : L’objet a été répliqué à partir de la grille source.

  • Utilisez l'API privée de gestion de la grille, comme décrit.

Étapes
  1. Dans la section cross-grid-replication-advanced de la documentation de l'API privée, sélectionnez le point de terminaison suivant :

    GET /private/cross-grid-replication-object-status/{id}

  2. Sélectionnez Try it out.

  3. Dans la section Paramètres, saisissez l’identifiant de version que vous avez utilisé dans la cross-grid-replication-retry-failed demande.

  4. Sélectionnez Exécuter.

  5. Vérifiez que le code de réponse du serveur est 200.

  6. Vérifiez l'état de la réplication, qui sera l'un des suivants :

    • EN ATTENTE : L’objet n’a pas encore été répliqué.

    • TERMINÉ : La réplication a réussi.

    • ÉCHEC : La réplication a échoué de manière permanente. Un utilisateur doit résoudre l’erreur.