Error 1988 de replicación de directorio activo
Aunque no es mi especialidad, he tenido que torear un par de veces en plazas que no son las mías, como es el caso del mundo Microsoft Windows Server, y en concreto con Active Directory.
Si administráis un entorno distribuido, donde hay una sede central y varias delegaciones remotas con controlador de dominio en cada una de las sedes, sabréis que los controladores de dominio se replican para tener una copia de todo el árbol de directorio activo, de forma que cualquier modificación que se haga en uno de los controladores, se replicará al resto. Para controlar la coherencia de los datos, se establecen una serie de controles en cuanto al tiempo en que un controlador no ha replicado con el controlador primario. Este tiempo es de 60 días, si pasado este tiempo no contactan, el controlador remoto quedad degradado. En este momento es cuando acudimos al visor de eventos y nos podemos encontrar con el error 1988 de replicación de directorio activo:
Controlador de dominio de origen: 778e4020-53f6-42e0-9886-e595c6a9267c._dominio.es
Objeto: CN=46cc148a-7d70-4bb9-be2a-7e891633e5cb\0ADEL:395a45d7-5758-422b-8cab-9b352cb9b46b,CN=Deleted Objects,DC=dominio,DC=es
GUID del objeto: 395a45d7-5758-422b-8cab-9b352cb9b46b
La mejor forma de resolver este problema es identificar y quitar todos los objetos persistentes del bosque.
Acción de usuario:
Quitar los objetos persistentes:
El plan de acción para recuperarse de este error se encuentra en http://support.microsoft.com/?id=314282.
Si los DC de origen y destino son DC de Windows Server 2003, instale las herramientas de soporte incluidas en el CD de instalación. Para ver qué objetos se eliminarían sin realizar físicamente la eliminación, ejecute “repadmin /removelingeringobjects <DC de origen> <GUID del DSA del DC de destino> <NC> /ADVISORY_MODE”. Los registros de eventos del DC de origen mostrarán todos los objetos persistentes. Para quitarlos de un DC de origen, ejecute “repadmin /removelingeringobjects <DC de origen> <GUID del DSA del DC de destino> <NC>”.
Si el DC de origen o el destino es de Windows 2000 Server, podrá encontrar más información acerca de cómo quitar objetos persistentes del DC de origen en http://support.microsoft.com/?id=314282 o con el personal de soporte técnico de Microsoft.
Si necesita que la replicación de los Servicios de dominio de Active Directory funcione inmediatamente sin importar cómo y no tiene tiempo de quitar los objetos persistentes, habilite la coherencia no estricta de replicación quitando los valores de la siguiente clave del Registro:
Clave del Registro:
HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Strict Replication Consistency
Los errores de replicación entre DC que comparten una partición común pueden hacer que las cuentas de usuario y equipo, las relaciones de confianza, las contraseñas, los grupos de seguridad, la pertenencia a grupos de seguridad y otros datos de configuración de los Servicios de dominio de Active Directory varíen entre los distintos DC, lo que afectará a la capacidad de iniciar sesión, encontrar objetos de interés y realizar otras operaciones críticas. Estas incoherencias se resuelven cuando dichos errores de replicación se resuelven. Los DC que no realicen replicaciones entrantes de los objetos eliminados dentro del número de días de vigencia de desecho permanecerán incoherentes hasta que un administrador quite manualmente los objetos persistentes de cada DC local.
Puede impedir la aparición de objetos persistentes asegurándose de que todos los DC del bosque ejecuten los Servicios de dominio de Active Directory, de que estén conectados por una topología de conexión de árbol de expansión y de que realicen replicaciones entrantes antes de que expire del número de días de vigencia de desecho.
1. Desde una máquina de dominio, podemos hacer ping y ver cual es la resolución inversa:
C:\>ping 778e4020-53f6-42e0-9886-e595c6a9267c._dominio.es
Haciendo ping a dc-madrid001.dominio.es con 32 bytes de datos:
Respuesta desde 10.20.20.100: bytes=32 tiempo=5ms TTL=45
Respuesta desde 10.20.20.100: bytes=32 tiempo=5ms TTL=45
Respuesta desde 10.20.20.100: bytes=32 tiempo=5ms TTL=45
Respuesta desde 10.20.20.100: bytes=32 tiempo=5ms TTL=45
Estadísticas de ping para 10.20.20.100:
Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 94ms, Máximo = 95ms, Media = 94ms
2. Acceder al DNS, a la zona de búsqueda directa de vuestro dominio y entrar en la carpeta: _msdcs.dominio.es Ahí veremos los registros con el GUID y el nombre real de todos nuestros controladores.
<GUID del DC de destino>: Aquí el comando nos solicita el GUID del dc que no tiene lingering objects, es decir, del controlador donde estamos y donde hemos visto el log. Ahora tenemos que hacer la operativa inversa, sabemos el nombre de nuestro controlador: controlador.dominio.es pero no sabemos el GUID. Lo podemos averiguar consultando el DNS como he explicado en el paso 2.
<NC>: En castellano Nombre Común, pero lo entederíamos mejor si nos lo hubieran puesto en Inglés (CN: Common Name). Lo que hay que poner es la ruta donde se encuentran los objetos incoherentes. Esta información, nos la proporciona también el log:
Objeto: CN=46cc148a-7d70-4bb9-be2a-7e891633e5cb\0ADEL:395a45d7-5758-422b-8cab-9b352cb9b46b,CN=Deleted Objects,DC=dominio,DC=es
Hay que poner la ruta a partir de CN=Deleted Objects. Por ejemplo, en el caso de este log pondría: DC=dominio,DC=es. En otro caso que he visto por internet, la ruta era: CN=Configuration,DC=dominio,DC=es. Tenéis que sacar esta información del log.
/ADVISORY_MODE: Es opcional. Si ponemos este parámetro, le indicamos que haga una simulación, sin llegar a borrar nada. Ideal para saber si lo estamos haciendo bien. Para borrar los objetos, NO hay que poner este parámetro.
Ahora que ya sabemos que hay que poner, y donde ejecutar el comando, estamos listos para eliminar los lingering objects y recuperar la replicación de nuestros controladores de dominio.
Siguiendo el ejemplo, ejecutaría lo siguiente:
C:\>repadmin.exe /REMOVELINGERINGOBJECTS dc-madrid001.dominio.es 7a-cb57-29ad-8156-23f4673136d0 DC=dominio,DC=es
RemoveLingeringObjects sucessfull on dc-madrid001
Además, nos indicará cuántos objetos ha borrado.
Por último, para probar la replicación, nos conectamos al controlador remoto que fallaba y abrimos “Sitios y Servicios de Directorio Activo”. Se depliega el sitio donde se está, hasta llegar a NTDS Settings. Ahí aparecerán los controladores con los que se replica, seleccionamos el primario y con botón derecho: Replicar ahora.
Comprobamos que no haya ningún log de error y listo !