Debido a que el Directorio Activo es un sistema multimaster donde todos los controladores de dominio tienen acceso de escritura a la base de datos cuando borramos un objeto este no se borra directamente sino que pasa al estado de Tombstone con el atributo isDeleted marcado a true, se mueve el objeto al contenedor de Objetos borrados (Deleted Objects) y se quitan la mayoría se sus atributos menos los mas importantes como GUID y SID. De esta manera el objeto se replica al resto de controladores de dominio donde se mantiene hasta que es borrado por el Garbage collector.
El Garbage collection es un proceso que se ejecuta cada 12h por defecto y puede ser configurado como mínimo para que se ejecute cada hora lo que se fija en el atributo garbageCollPeriod, este proceso por un lado borra los objetos tombstone y por otro defragmenta la base de datos. El atributo tombstoneLifetime fija el tiempo que un objeto se encuentra como tombstone en el directorio, por defecto en los sistemas operativos anteriores a Windows Server 2003 SP1 su valor es de 60 días y el mínimo a lo que lo podemos configurar es a 2 días.
Es muy importante tener en cuenta el parámetro tombstoneLifetime sobre todo a la hora de restaurar copias de seguridad del Active Directory ya que si son su antigüedad es mayor que el tiempo fijado al atributo tombstoneLifetime deberemos realizar la restauración como autoritaria (authoritative) ya que muchos de los objetos a recuperar ya no existirían, sin embargo si es inferior a ese tiempo podemos realizar una restauracion no autoritaria (nonauthoritative). También debemos tener en cuenta que Windows Server 2003 SP1 a veces establece este parámetro en 180 días con el propósito de que los backups tengan una mayor duración usable, aquí tenéis un kb que detalla diferentes casos en que cambia el tombstoneLifetime.
También debemos estar atentos a que el parámetro tombstoneLifetime debe ser siempre bastante superior al tiempo que lleva a un objeto a replicarse en todos los controladores de dominio, ya que si no es así puede que un objeto se borre en unos controladores si y otros no. Para editar estos dos parámetros lo podemos hacer a con la herramienta ADSI Edit (ADSIEDIT.msc)
Categorias: