Notices nécrologiques

Les notices nécrologiques stockées dans l'annuaire ont souvent été mal comprises et, de ce fait, beaucoup de gens n'ont pas appris à les utiliser de façon adéquate. À la différence de certains produits d'annuaire, Novell eDirectory garantit l'intégrité référentielle entre les différents objets. Par exemple, si un groupe A compte un membre, l'utilisateur B, et que celui-ci vient à être supprimé, l'annuaire supprime automatiquement toute référence à l'utilisateur B dans le groupe A. Les notices nécrologiques sont des attributs opérationnels placés sur les objets par eDirectory et constituent un moyen supplémentaire de garantir l'intégrité référentielle lors d'opérations telles que la suppression, le déplacement, le changement de nom ou la restauration.

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

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

Ces états sont enregistrés dans le champ Indicateurs 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é attribué à 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é. Dans les précédentes versions de eDirectory, le vecteur de purge était utilisé. Si le tampon horaire de modification de la notice nécrologique est posté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, l'agent de réplique qui a créé cette notice a la charge de la faire passer aux états suivants tant que la réplique existe. Si la réplique n'existe plus, l'agent qui contient le maître de cette partition prend en charge le passage aux états suivants de la notice nécrologique. Dans le cas d'une notice nécrologique de type Arborescence de déplacement, le maître de la partition racine a la charge de faire passer la notice aux états suivants.

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 d'une notice non déplaçable, 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 en 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 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 le vecteur de purge et le vecteur de notice nécrologique. À mesure que ces vecteurs avancent, les états de notice nécrologique sont autorisés à avancer eux aussi. Ceci, ainsi que 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. Vous pouvez planifier manuellement le processus de purge et modifier son intervalle automatique dans la page Configuration de l'agent de iMonitor.


Exemples

Cette section comprend les exemples suivants :


Suppression d'un objet

  1. Ajoutez la notice nécrologique primaire OBT_DEAD.

    L'attribut Lien en amont contient la liste des serveurs qui sont intéressés par cet objet et doivent être avertis des modifications apportées à cette entrée. Pour chaque DN listé dans l'attribut Lien en amont et pour tous les serveurs listés dans l'attribut de réplique de partition de l'entrée, eDirectory ajoute une notice nécrologique Lien en amont. L'heure de création de la notice nécrologique primaire OBT_DEAD est stockée dans la notice nécrologique secondaire.

    L'attribut Utilisé par contient la liste des partitions qui sont intéressées par cet objet et doivent être averties des modifications apportées à cette entrée. Pour chaque DN listé dans l'attribut Utilisé par, eDirectory ajoute une notice nécrologique Utilisé par. L'heure de création de la notice nécrologique primaire OBT_DEAD est stockée dans la notice nécrologique secondaire.

  2. Supprimez tous les attributs à l'exception des notices nécrologiques.

    Le processus de réplication sortante synchronise alors cette modification avec tous les autres serveurs de l'anneau de répliques.

    Lors de la synchronisation entrante suivante de cette partition, le processus Notice nécrologique est démarré et effectue les opérations suivantes :


Déplacement d'un objet

Le déplacement est similaire à la suppression, à quelques différences près :


Impact des notices nécrologiques bloquées ou orphelines

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 Notice nécrologique qui est planifié pour s'exécuter à la fin d'un cycle de synchronisation entrante.


Mesures de prévention

Exécutez régulièrement le rapport Informations sur le serveur iMonitor. Ce rapport parcourt l'intégralité de l'arborescence et signale tous les serveurs NCP détectés et toutes les erreurs éventuelles. Vous pouvez l'utiliser pour diagnostiquer des problèmes de synchronisation horaire et de contrôle de la connectivité (processus limber) ou pour savoir si le serveur actuel est apte à communiquer avec tous les autres serveurs. S'il a été sélectionné dans la page de configuration, ce serveur peut également générer des informations sur l'état de santé de l'agent NDS pour chaque serveur de l'arborescence. Pour plus d'informations sur l'exécution du rapport d'informations sur le serveur, reportez-vous à Configuration et affichage de rapports.

Si vous utilisez iMonitor 2.0 ou une version ultérieure, vérifiez que les options de rapport Erreurs et Sous-rapport de santé sont activées. Les éléments suivants sont vérifiés. Parcourez le rapport et vérifiez qu'il est exempt d'erreurs.

Si vous utilisez iMonitor 1.5, sélectionnez l'option Rapport d'erreurs. Les éléments suivants sont vérifiés. Parcourez le rapport et vérifiez qu'il est exempt d'erreurs.

À l'aide du rapport Liste des notices nécrologiques iMonitor ou Statistiques d'objet iMonitor, vous pouvez rechercher toutes les notices nécrologiques qui existent sur votre système. Si vous trouvez des notices nécrologiques dont vous pensez qu'elles n'ont pas été traitées, reportez-vous à Conseils de dépannage.


Conseils de dépannage

Deux raisons principales peuvent expliquer le fait qu'une notice n'ait pas été traitée : la notice est orpheline (elle n'existe pas sur l'ensemble des serveurs) ou elle est bloquée (elle existe sur tous les serveurs mais, pour une raison quelconque, son état n'avance pas).

Procédez comme suit pour remédier à un problème de notice nécrologique bloquée ou orpheline :


Solutions

Utilisez la solution appropriée indiquée dans Conseils de dépannage.

Avant d'appliquer une de ces solutions, vérifiez que vos données sont sécurisées. Vous devrez peut-être effectuer une sauvegarde des fichiers de la base de données Annuaire, de la configuration du serveur et des ayants droit. Pour augmenter vos chances de succès et réduire les risques de problèmes futurs, installez les derniers Support Packs pour eDirectory.


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


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


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 ultérieurs.

La première consiste à changer la réplique qui contient le maître. Cette méthode peut fonctionner dans certains cas, parce que le maître est l'agent chargé de faire passer les notices nécrologiques Lien en amont par leurs différents états. Quand 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 qui contient l'entrée supprimée avec ses notices nécrologiques permet à ce dernier 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 d'autres incohérences dans les répliques et d'autres blocages des 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 les risques de supprimer prématurément les notices nécrologiques d'un de ces serveurs qui abriterait celles d'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 à transformer les objets en 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. Cette méthode de suppression des notices nécrologiques doit rarement être utilisée.