I.5 Dépannage des notices nécrologiques

Les notices nécrologiques servent d'attributs opérationnels que eDirectory place sur les objets afin de garantir l'intégrité référentielle pendant les opérations de suppression, de déplacement, de changement de nom et de restauration. Par exemple, si le groupe A comprend le membre Utilisateur B et que ce membre est supprimé, l'annuaire supprime automatiquement la référence à cet utilisateur du groupe A. Dans eDirectory 9.0, les notices nécrologiques générées par les opérations de suppression, de déplacement et de changement de nom sont optimisées par défaut.

REMARQUE :Les objets qui possèdent des notices nécrologiques sont pris en considération à chaque synchronisation sortante d'un agent, ainsi que par le processus de notice nécrologique qui est planifié pour s'exécuter à la fin d'un cycle de synchronisation entrante.

Les notices nécrologiques se classent en trois grandes catégories :

  • Les notices nécrologiques primaires incluent les types Mort (0001), Restauré (0000), Déplacé (0002), Nouveau RDN (0005) et Nouveau RDN de l'arborescence (0008).

  • Les notices nécrologiques secondaires sont généralement associées à une notice primaire et représentent les agents et les partitions qui doivent être avertis de l'opération spécifiée dans la notice primaire. Elles incluent les types Lien en amont (0006), Utilisé par (000C) et Déplacer l'arborescence (000a).

  • Les notices nécrologiques de suivi incluent Non déplaçable (0003), Ancien RDN (0004) et Ancien RDN de l'arborescence (0007).

Les notices nécrologiques, hormis celles de la dernière catégorie, doivent passer par une succession d'états de synchronisation :

  • État initial ou émis (0)

  • Notifié (1)

  • OK pour la purge (2)

  • Purgeable (4)

Ces états sont enregistrés dans le champ Drapeaux de l'attribut de notice nécrologique. Pour que la notice nécrologique puisse passer à l'état suivant, l'état actuel doit avoir été synchronisé pour toutes les répliques de l'objet réel. Pour déterminer si un état de notice nécrologique a été communiqué à toutes les répliques de l'anneau, un vecteur est calculé à partir du vecteur de transition. Dans eDirectory 8.6 (ou version ultérieure), un vecteur de notice nécrologique non stocké est utilisé. Les versions précédentes utilisaient le vecteur de purge. Si le tampon horaire de modification de la notice nécrologique est antérieur au vecteur endommagé, le serveur responsable de cette notice peut la faire passer à l'état suivant.

Dans le cas d'une notice nécrologique secondaire de type Lien en amont, l'agent qui contient la réplique maîtresse de l'objet associé à cette notice prend en charge le passage aux états suivants. Dans le cas d'une notice nécrologique secondaire de type Utilisé par, cette tâche incombe à l'agent de réplique qui a créé cette notice, et ce tant que la réplique existe. Si la réplique vient à disparaître, l'agent qui contient la réplique maîtresse de cette partition se chargera de faire passer la notice Utilisé par aux états suivants. Dans le cas d'une notice nécrologique de type Déplacer l'arborescence, ce passage aux états suivants est assuré par la réplique maîtresse de la partition racine.

Pour que les notices nécrologiques primaires puissent passer à leur état suivant, toutes les notices secondaires doivent d'abord être passées par tous leurs états successifs. Lorsque la notice nécrologique primaire a atteint son dernier état et que celui-ci est synchronisé pour tous les serveurs de l'anneau, il ne reste plus que l'enveloppe d'objet, c'est-à-dire un objet dépourvu d'attributs, qui peut ensuite être purgé du système par le processus de purge. Les notices nécrologiques de suivi sont supprimées dès que la notice primaire est prête à être supprimée ou, dans le cas de Inhibit_move, dès qu'elle est passée à l'état OBF_NOTIFIED dans la réplique maîtresse.

La réplique chargée du traitement des notices nécrologiques effectue ce traitement dans un processus d'arrière-plan (le processus Notice nécrologique) qui est planifié pour chaque partition après qu'une partition donnée a achevé un cycle de synchronisation entrante. S'il n'existe pas d'autre réplique de la partition, le processus de réplication sortante reste planifié en fonction de l'intervalle de pulsation. Le processus de réplication sortante démarre alors le processus de notice nécrologique. Ce dernier ne peut pas être planifié manuellement et n'a pas besoin de l'être. Lors de la synchronisation, les vecteurs de transition sont mis à jour, ce qui a pour effet de faire avancer les vecteurs de purge et de notice nécrologique. À mesure que ces vecteurs progressent, les états de notice nécrologique sont également autorisés à avancer. Ceci, combiné à la planification automatique effectuée durant la synchronisation entrante, complète le cycle de traitement des notices nécrologiques. L'élément essentiel du processus Notice nécrologique est donc la synchronisation des objets.

Pour un objet en cours de suppression, une fois que toutes les notices associées à une notice primaire de type Mort sont passées au dernier état (Purgeable) et que cet état a été synchronisé pour toutes les répliques, un nouveau processus est chargé de supprimer de la base de données l'enveloppe d'entrée résiduelle. Le processus de purge s'exécute automatiquement pour supprimer ces enveloppes. Pour planifier manuellement le processus de purge et modifier son intervalle automatique, reportez-vous à la section Affichage de l'activité de l'agent.

Résolution des problèmes de notices nécrologiques orphelines

Pendant que vous examinez les objets Notice nécrologique, parcourez l'anneau de répliques et comparez les différentes notices présentes sur cet anneau.

  • Si toutes les répliques ne possèdent pas de copie de la notice nécrologique et que tous les attributs ne sont pas qualifiés pour une purge, l'objet n'est pas cohérent dans l'ensemble de l'anneau de répliques, ce qui indique un problème de notice orpheline.

  • Si l'objet existe dans toutes les répliques et qu'il est cohérent, son état est peut-être bloqué à cause d'erreurs de synchronisation ou parce que le processus de notice nécrologique détecte des erreurs.

Pour éviter ce problème :

  • Méthode préconisée : si eDirectory 8.6 (ou une version ultérieure) est installé sur l'un des serveurs de l'anneau de répliques, accédez à l'objet correspondant dans iMonitor et sélectionnez Envoyer une unique entrée. Vous effectuez ainsi un envoi non expert à toutes les autres répliques.

  • Méthode beaucoup moins recommandée : si tous les serveurs de l'anneau de répliques qui possèdent une copie de la notice nécrologique orpheline sont antérieurs à eDirectory 8.6, chargez DSBrowse avec l'option -a, affichez l'objet, puis associez un tampon horaire à l'entrée. L'objet, tel qu'il existe sur ce serveur, devient ainsi la copie experte. Toutefois, nous déconseillons cette dernière méthode qui est contraire aux bonnes pratiques.

Résolution des problèmes de notices nécrologiques orphelines dans les références externes

Si la notice concerne un objet qui n'est pas stocké sur ce serveur (autrement dit, l'objet est une référence externe) :

  • Vérifiez que l'objet réel possède une notice nécrologique équivalente. Si tel n'est pas le cas, la notice est orpheline.

  • Si l'objet réel possède une notice équivalente, remédiez aux problèmes liés à cet objet avant d'essayer de résoudre ceux qui concernent la notice dans la partition de référence externe.

Pour éviter ce problème :

  • Méthode la moins recommandée : exécutez DSRepair avec l'option de tampon horaire sélectionnée.

  • Méthode la moins recommandée : déplacez une réplique réelle vers le serveur, attendez qu'elle soit active puis que la notice nécrologique soit traitée. Une fois la notice nécrologique traitée, vous pouvez supprimer la réplique si vous le souhaitez.

Résolution des problèmes de synchronisation avec les notices nécrologiques

Pour vérifier que les notices nécrologiques sont correctement synchronisées :

  • Pour détecter et corriger les éventuelles erreurs de synchronisation, utilisez la page Synchronisation de l'agent d'iMonitor.

  • Les notices nécrologiques changent d'état une fois que tous les agents qui contiennent une copie de l'anneau de répliques ont été avertis de ce changement d'état. Il existe différentes manières de s'assurer que chaque réplique a vu les données :

    Pendant que vous parcourez les entrées qui possèdent des notices nécrologiques, cliquez sur le lien Synchronisation des entrées. La page qui s'ouvre affiche tous les attributs qui n'ont pas été synchronisés pour toutes les répliques.

    Recherchez le plus ancien tampon horaire pour n'importe quelle valeur d'attribut de notice nécrologique. La différence entre cette heure et l'heure actuelle doit être supérieure à l'intervalle affiché dans le champ Delta d'anneau maximal de la page Synchronisation de partition.

    Évaluez le vecteur de transition.

Recherche des erreurs de notices nécrologiques

Consultez État du processus de l'agent : Notices nécrologiques pour rechercher les éventuelles erreurs.

  • Problèmes les plus fréquemment rencontrés dans l'état des processus de l'agent : les notices nécrologiques comprennent les erreurs

    -625, -622, -634 et –635, qui sont des problèmes de communication. Pour plus d'informations, reportez-vous à Rapport d'informations sur le serveur.

    -601 et -603, qui indiquent que des serveurs n'ont pas été correctement supprimés ou que l'objet Serveur a peut-être une classe de base inconnue.

  • Les erreurs affichées dans cette page ne sont pas fatales. À la prochaine exécution du processus de notice nécrologique pour cette partition, l'opération fera l'objet d'une nouvelle tentative. Remédiez aux problèmes affichés dans cette page, puis attendez la nouvelle tentative.

Précédentes méthodes

Dans le passé, plusieurs méthodes ont été employées pour remédier au blocage des notices nécrologiques. Certaines impliquaient des opérations de partition onéreuses ou l'utilisation de fonctions qui ne faisaient l'objet d'aucune documentation et pouvaient provoquer des problèmes dans le futur.

La première consiste à changer la réplique qui contient le maître. Cette méthode fonctionnait dans certains cas, puisque le maître est l'agent chargé de faire passer les notices nécrologiques Lien en amont par leurs différents états. Lorsque la réplique est incohérente et que le maître ne contient pas l'objet supprimé, le remplacement des maîtres par un agent contenant l'entrée supprimée avec ses notices nécrologiques permet au nouvel agent de faire passer les notices par leurs différents états successifs pour finalement les purger. L'envoi d'une unique entrée est un moyen beaucoup moins dangereux de résoudre les problèmes de notices nécrologiques bloquées à cause d'une réplique incohérente.

La deuxième méthode consiste à exécuter DSRepair avec certains paramètres afin de supprimer toutes les notices nécrologiques. (Il existe une application tierce qui répare toutes les notices nécrologiques bloquées en lançant DSRepair.) Nous ne recommandons pas cette méthode. L'utilisation de ces paramètres supprime toutes les notices nécrologiques de l'agent, y compris celles qui ne sont pas bloquées, avec le risque de provoquer de nouvelles incohérences et davantage de blocages de notices nécrologiques. Comme il ne s'agit pas d'une opération distribuée, vous devez exécuter DSRepair sur tous les serveurs qui contiennent des notices nécrologiques bloquées, ce qui augmente le risque de supprimer prématurément les notices nécrologiques d'un de ces serveurs pour une autre partition. En supprimant prématurément des notices nécrologiques, vous risquez de créer d'autres notices orphelines et de provoquer des problèmes qui ne seront pas détectés avant plusieurs années, lorsque vous modifierez les types de réplique, ajouterez des répliques ou effectuerez d'autres opérations de partitionnement.

La troisième méthode consiste à rendre les objets experts soit en utilisant DSBrowse en mode avancé et en associant un tampon horaire à l'entrée, soit en exécutant DSRepair avec le paramètre -0T. Cette méthode rend l'entrée experte et celle-ci se synchronise avec toutes les autres répliques. Procédez avec la plus grande prudence car vous risquez de perdre des données modifiées sur d'autres serveurs. Nous recommandons d'employer rarement cette méthode de suppression des notices nécrologiques.