El proceso de recolección de elementos no utilizados de la base de datos de Active Directory y el cálculo de los intervalos permitidos

En este artículo se describe el proceso de recolección de elementos no utilizados de la base de datos de Active Directory y el cálculo de los intervalos permitidos.

Se aplica a: Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
Número de KB original: 198793

Resumen

La base de datos de Active Directory incorpora un proceso de recolección de elementos no utilizados que se ejecuta de forma independiente en cada controlador de dominio de la empresa.

Más información

La recolección de elementos no utilizados es un proceso de limpieza que está diseñado para liberar espacio dentro de la base de datos de Active Directory. Este proceso se ejecuta en todos los controladores de dominio de la empresa con un intervalo de duración predeterminado de 12 horas. Puede cambiar este intervalo modificando el atributo garbageCollPeriod en el objeto de configuración DS de toda la empresa (NTDS).

La ruta de acceso del objeto en el Contoso.com dominio sería similar a la siguiente:
CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=CONTOSO,DC=COM

Use una herramienta de edición de Active Directory para establecer el atributo garbageCollPeriod. Las herramientas admitidas incluyen scripts adsiedit.msc, Ldp.exe e interfaces de servicio de Active Directory (ADSI).

Cuando se elimina un objeto, no se quita de la base de datos de Active Directory. En su lugar, el objeto se marca para su eliminación en una fecha posterior. A continuación, esta marca se replica en otros controladores de dominio. Por lo tanto, el proceso de recolección de elementos no utilizados se inicia quitando los restos de objetos eliminados anteriormente de la base de datos. Estos objetos se conocen como lápidas. A continuación, el proceso de recolección de elementos no utilizados elimina los archivos de registro innecesarios. Por último, el proceso inicia un subproceso de desfragmentación para reclamar espacio libre adicional.

Además, hay dos métodos para desfragmentar la base de datos de Active Directory. Un método es una operación de desfragmentación en línea que se ejecuta como parte del proceso de recolección de elementos no utilizados. La ventaja de este método es que el servidor no tiene que desconectarse para que se ejecute la operación. Sin embargo, este método no reduce el tamaño del archivo de base de datos de Active Directory (Ntds.dit). El otro método desconecta el servidor y desfragmenta la base de datos mediante la utilidad Ntdsutil.exe. Este enfoque requiere que la base de datos se inicie en modo de reparación. La ventaja de este método es que se cambia el tamaño de la base de datos y se quita el espacio sin usar. Por lo tanto, y se reduce el tamaño del archivo Ntds.dit. Para usar este método, el controlador de dominio debe estar desconectado.

Límites de garbageCollPeriod:
El valor mínimo es 1 y el máximo es 168 durante una semana. El valor predeterminado para el valor es 12 horas.

Mínimo para la duración de Tombstone:
El mínimo de duración de Tombstone es de 2 días para el cálculo de la duración de la ejecución de KCC.

La capa de base de datos de AD aplica una métrica adicional. Los días de TSL no deben ser más pequeños que tres veces el intervalo del recolector de elementos no utilizados. Según el valor predeterminado de 12 horas, TSL es un mínimo de 2 días. Si el intervalo de GC es de 20 horas, el mínimo de TSL es de 3 días (debe ser mayor que 60 horas). Si el intervalo de GC es de 25 horas, se supera los tres días (con 75 horas) y el mínimo de TSL es de 4 días.

La captura con las comprobaciones que realizan tanto la capa de base de datos como KCC es que si TSL es inferior al mínimo permitido, no vuelve al valor mínimo de 2 o más días, sino al valor predeterminado de 60 o 180 días.

Importante

En caso de que TSL se corrija al valor predeterminado debido a una falta de coincidencia, el valor del intervalo de recolección de elementos no utilizados también se establece en el valor predeterminado de 12 horas.

Valores predeterminados de duración de Tombstone

Historial

La duración predeterminada del lápiz de desecho (TSL) en Windows Server 2003 era de 60 días y se ha demostrado que es demasiado corta. Por ejemplo, un controlador de dominio preconfigurado puede estar en tránsito durante más de 60 días. Es posible que un administrador no resuelva un error de replicación ni ponga en funcionamiento un controlador de dominio sin conexión hasta que se supere la TSL. Windows Server 2003 Service Pack 1 (SP1) aumentó el TSL de 60 a 180 días en los siguientes escenarios:

  • Un controlador de dominio de Windows NT 4.0 se actualiza a Windows Server 2003 mediante medios de instalación de Windows Server 2003 SP1 para crear un bosque nuevo.
  • Un equipo con Windows Server 2003 SP1 crea un nuevo bosque.

Windows Server 2003 SP1 no modifica el valor de TSL cuando se cumple alguna de las condiciones siguientes:

  • Un dominio de Windows 2000 se actualiza a Windows Server 2003 mediante medios de instalación para Windows Server 2003 con SP1.
  • Windows Server 2003 SP1 está instalado en un controlador de dominio que ejecuta la versión original de Windows Server 2003.

Aumentar la TSL de un dominio a 180 días tiene las siguientes ventajas:

  • Las copias de seguridad que se usan en escenarios de recuperación de datos tienen una vida útil más larga.
  • Las copias de seguridad de estado del sistema que se usan para la instalación desde promociones multimedia tienen una vida útil más larga.
  • Los controladores de dominio pueden estar sin conexión más tiempo. Los equipos preconfigurados se acercan a la expiración de TSL con menos frecuencia.
  • Un controlador de dominio puede volver correctamente al dominio después de más tiempo sin conexión.
  • El conocimiento de los objetos eliminados se conserva más tiempo en el controlador de dominio de origen.

La configuración predeterminada del bosque dependerá del sistema operativo en el "nacimiento" del bosque y de los métodos de actualización desde allí, como se ha indicado anteriormente.

Si no está seguro sobre el valor de TSL usado en el bosque, se recomienda establecerlo explícitamente y también msDS-deletedObjectLifetime según sea necesario.
Referencia: Papelera de reciclaje de AD: Descripción, implementación, procedimientos recomendados y solución de problemas