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.
Cette section comprend les exemples suivants :
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.
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 :
S'il s'agit d'une notice primaire qui ne possède pas de notice secondaire et dont le tampon horaire de modification est postérieur au vecteur de purge, tous les serveurs ont été avertis de la modification et la notice est supprimée.
S'il s'agit d'une notice Lien en amont et que ce serveur est le maître, c'est à lui qu'il incombe de traiter la notice.
IMPORTANT : exécutez l'opération requise pour cet état si cela n'a pas encore été fait. Dans la plupart des cas, vous procéderez en notifiant une référence externe.
S'il s'agit d'une notice Utilisé par et que ce serveur est celui sur lequel la suppression a été effectuée (ce que vous déterminez en comparant le numéro de réplique dans le tampon horaire de modification de la notice au numéro de votre réplique), c'est à lui qu'il incombe de traiter la notice.
Le déplacement est similaire à la suppression, à quelques différences près :
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.
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.
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 :
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'affiche répertorie 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.
-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 une classe de base inconnue.
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.
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 posté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.
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. Si la notice nécrologique n'est pas traitée, utilisez les informations fournies dans Conseils de dépannage pour résoudre le problème maintenant que l'objet est dans une réplique réelle. Une fois la notice nécrologique traitée, vous pouvez supprimer la réplique si vous le souhaitez.
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.