Processus de garbage collection de la base de données Active Directory et calcul des intervalles autorisés

Cet article décrit le processus de garbage collection de base de données Active Directory et le calcul des intervalles autorisés.

S’applique à : Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
Numéro de la base de connaissances d’origine : 198793

Résumé

La base de données Active Directory intègre un processus de garbage collection qui s’exécute indépendamment sur chaque contrôleur de domaine de l’entreprise.

Plus d’informations

Le garbage collection est un processus de nettoyage conçu pour libérer de l’espace dans la base de données Active Directory. Ce processus s’exécute sur chaque contrôleur de domaine de l’entreprise avec un intervalle de durée de vie par défaut de 12 heures. Vous pouvez modifier cet intervalle en modifiant l’attribut garbageCollPeriod dans l’objet de configuration DS à l’échelle de l’entreprise (NTDS).

Le chemin d’accès de l’objet dans le Contoso.com domaine se présente comme suit :
CN=Service d’annuaire,CN=Windows NT,CN=Services,CN=Configuration,DC=CONTOSO,DC=COM

Utilisez un outil de modification Active Directory pour définir l’attribut garbageCollPeriod. Les outils pris en charge incluent les scripts Adsiedit.msc, Ldp.exe et Active Directory Service Interfaces (ADSI).

Lorsqu’un objet est supprimé, il n’est pas supprimé de la base de données Active Directory. Au lieu de cela, l’objet est marqué pour suppression à une date ultérieure. Cette marque est ensuite répliquée sur d’autres contrôleurs de domaine. Par conséquent, le processus de garbage collection commence par supprimer les restes d’objets précédemment supprimés de la base de données. Ces objets sont appelés pierres tombales. Ensuite, le processus de garbage collection supprime les fichiers journaux inutiles. Enfin, le processus démarre un thread de défragmentation pour revendiquer de l’espace libre supplémentaire.

En outre, il existe deux méthodes pour défragmenter la base de données Active Directory. Une méthode est une opération de défragmentation en ligne qui s’exécute dans le cadre du processus de garbage collection. L’avantage de cette méthode est que le serveur n’a pas besoin d’être mis hors connexion pour que l’opération s’exécute. Toutefois, cette méthode ne réduit pas la taille du fichier de base de données Active Directory (Ntds.dit). L’autre méthode met le serveur hors connexion et défragmente la base de données à l’aide de l’utilitaire Ntdsutil.exe. Cette approche nécessite que la base de données démarre en mode réparation. L’avantage de cette méthode est que la base de données est redimensionnée et que l’espace inutilisé est supprimé. Par conséquent, et la taille du fichier Ntds.dit est réduite. Pour utiliser cette méthode, le contrôleur de domaine doit être mis hors connexion.

Limites de garbageCollPeriod :
La valeur minimale est 1 et la valeur maximale est 168 pour une semaine. La valeur par défaut est 12 heures.

Durée de vie minimale de Tombstone :
La durée de vie minimale de Tombstone est de 2 jours pour les besoins du calcul de la durée d’exécution du KCC.

La couche de base de données AD applique une métrique supplémentaire. Les jours TSL ne doivent pas être inférieurs à trois fois l’intervalle du récupérateur de mémoire. Basé sur la valeur par défaut de 12 heures, TSL est un minimum de 2 jours. Si l’intervalle gc est de 20 heures, la durée de vie minimale est de 3 jours (doit être supérieure à 60 heures). Si l’intervalle gc est de 25 heures, vous obtenez au-delà de trois jours (avec 75 heures) et le TSL minimum est de 4 jours.

Le problème avec les vérifications effectuées à la fois par la couche de base de données et KCC est que si la valeur TSL est inférieure à la valeur minimale autorisée, elle ne revient pas à la valeur minimale de 2 jours ou plus, mais à la valeur par défaut de 60 ou 180 jours.

Importante

Si TSL est corrigé par défaut en raison d’une incompatibilité, la valeur de l’intervalle de nettoyage de la mémoire est également définie sur la valeur par défaut de 12 heures.

Valeurs par défaut de la durée de vie de Tombstone

Historique

La durée de vie de la pierre tombstone (TSL) par défaut dans Windows Server 2003 était de 60 jours et s’est avérée trop courte. Par exemple, un contrôleur de domaine préparé peut être en transit pendant plus de 60 jours. Un administrateur ne peut pas résoudre un échec de réplication ou mettre en service un contrôleur de domaine hors connexion tant que le TSL n’est pas dépassé. Windows Server 2003 Service Pack 1 (SP1) a augmenté le TSL de 60 à 180 jours dans les scénarios suivants :

  • Un contrôleur de domaine Windows NT 4.0 est mis à niveau vers Windows Server 2003 à l’aide du support d’installation de Windows Server 2003 SP1 pour créer une forêt.
  • Un ordinateur Windows Server 2003 SP1 crée une forêt.

Windows Server 2003 SP1 ne modifie pas la valeur de TSL lorsque l’une des conditions suivantes est remplie :

  • Un domaine Windows 2000 est mis à niveau vers Windows Server 2003 à l’aide du support d’installation de Windows Server 2003 avec SP1.
  • Windows Server 2003 SP1 est installé sur un contrôleur de domaine qui exécute la version d’origine de Windows Server 2003.

L’augmentation de la TSL pour un domaine à 180 jours présente les avantages suivants :

  • Les sauvegardes utilisées dans les scénarios de récupération de données ont une durée de vie plus longue.
  • Les sauvegardes d’état système utilisées pour l’installation à partir de promotions multimédias ont une durée de vie plus longue.
  • Les contrôleurs de domaine peuvent être hors connexion plus longtemps. Les ordinateurs préparés approchent moins fréquemment de l’expiration TSL.
  • Un contrôleur de domaine peut revenir au domaine après une période hors connexion plus longue.
  • La connaissance des objets supprimés est conservée plus longtemps sur le contrôleur de domaine d’origine.

Le paramètre par défaut dans votre forêt dépend du système d’exploitation à la « naissance » de la forêt et des méthodes de mise à niveau à partir de là, comme ci-dessus.

Si vous n’êtes pas sûr de la valeur de TSL utilisée dans votre forêt, nous vous recommandons de la définir explicitement, ainsi que msDS-deletedObjectLifetime si nécessaire.
Référence : La Corbeille AD : Présentation, implémentation, meilleures pratiques et résolution des problèmes