9.0 Obituarios

Los obituarios actúan como atributos operativos que eDirectory coloca en objetos para garantizar la integridad referencial durante operaciones como suprimir, mover, renombrar y restaurar. Por ejemplo, si el grupo A tiene un miembro (el usuario B) y se suprime dicho usuario B, el directorio elimina automáticamente la referencia al usuario B del grupo A. En eDirectory 8.8 SP8, por defecto, se optimizan los obituarios generados por las operaciones de suprimir, mover y renombrar.

NOTA:Los objetos con obituarios se tienen en cuenta en el proceso de obituario, programado para ejecutarse al final de un ciclo de sincronización entrante, y cada vez que un agente saliente se sincroniza.

Los obituarios se clasifican en tres categorías generales:

Los obituarios, excepto los de seguimiento, deben pasar por un conjunto de estados de sincronización:

Los estados están registrados en el campo Indicadores del atributo del obituario. Antes de que un obituario pueda pasar al siguiente estado, el actual debe sincronizarse con todas las réplicas del objeto real. Para determinar si todas las réplicas del anillo han presentado un estado de obituario determinado, se calcula un vector a partir del vector transitivo. En eDirectory 8.6 y versiones posteriores, se utiliza un vector de obituario no almacenado. En las versiones anteriores, se utiliza un vector de limpieza. Si la marca horaria de modificación (MTS) del obituario es anterior al vector calculado, el servidor responsable de dicho obituario puede pasarlo al siguiente estado.

En el caso de un obituario secundario del tipo Enlace en segundo plano, el agente que contiene la réplica principal del objeto con el obituario se encargará de pasarlo de un estado a otro. En los obituarios secundarios del tipo Usado por, el agente de réplicas que los crea es el responsable de pasarlos de un estado a otro mientras las réplicas existan. Si ya no existen, el encargado de pasar los obituarios Usado por de un estado a otro será el agente que contiene la réplica principal de la partición. En el caso de un obituario Mover árbol, la réplica principal de la partición raíz es la responsable de hacerlo pasar de un estado a otro.

Los obituarios primarios solo pueden pasar al estado siguiente una vez que los secundarios han pasado por todos los suyos. Cuando un obituario primario llega a su último estado y este se sincroniza con todos los servidores del anillo, solo queda la “cáscara” del objeto, es decir, un objeto sin atributos que posteriormente puede limpiarse del sistema durante el proceso de limpieza. Los obituarios de seguimiento se quitan una vez que el obituario primario está listo para quitarse. En el caso de Inhibit_move, el obituario de seguimiento se quita una vez que el obituario primario ha pasado al estado OBF_NOTIFIED en la réplica principal.

La réplica responsable de procesar obituarios realiza esta tarea durante un proceso en segundo plano (el proceso de obituario), que se programa partición por partición cuando una tarea en concreto finaliza un ciclo de sincronización entrante. Si no existen otras réplicas de la partición, el proceso de réplica saliente se programa durante el intervalo de subejecución. A continuación, el proceso de réplica saliente inicia el proceso de obituario. El proceso de obituario no se puede programar manualmente ni tampoco hay necesidad de hacerlo así. Durante la sincronización se actualizan los vectores transitivos, con lo que los vectores de limpieza y de obituario avanzan. A medida que estos vectores se actualizan, también pueden hacerlo los estados de los obituarios. Esta acción, junto con la programación automática que se realiza durante la sincronización entrante, se completa el ciclo de procesamiento de obituarios. Por lo tanto, la base del procesamiento de obituarios es la sincronización de objetos.

En cuanto a la supresión de objetos, una vez que todos los obituarios cuyo obituario primario asociado es del tipo MUERTO han alcanzado el último estado (LIMPIABLE) y dicho estado se ha sincronizado con todas las réplicas, un proceso nuevo se encarga de quitar de la base de datos la “cáscara” de la entrada que aún permanece. Para lograrlo, el proceso de limpieza se ejecuta automáticamente. Es posible programar manualmente este proceso y modificar el intervalo de programación automática desde la página Configuración de agente de iMonitor.