Procédure de modification du Tombstone Lifetime

 

Sommaire

 

 

Introduction

Nous avons vu dans notre article Impact du Tombstone Lifetime sur Active Directory que la durée de conservation des objets tombstone à un impact sur Active Directory et qu’il était possible de la modifier pour l’adapter aux besoins de votre organisation. Toutefois, peu le savent mais la modification du Tombstone Lifetime peut entraîner des problèmes qui peuvent être évités si vous suivez la procédure adéquate.

 

 


Modifier la valeur du Tombstone Lifetime

Le Tombstone Lifetime est défini simplement par un attribut et est donc facilement modifiable. Vous pouvez donc réaliser l’opération via la console ADSIEDIT par exemple.

Lancez la console à l’aide de la commande « adsiedit.msc » depuis « Démarrer » | « Exécuter ».

{gallery}40_Change_TSL/01{/gallery}

 

 

 

 

 

Une fois dans la console ADSIEDIT, réalisez un clic droit sur « Modification ADSI » et sélectionnez « Connexion… ». Depuis la fenêtre « Paramètres de connexion », nous allons choisir « Sélectionnez un contexte d’attribution de noms connu » en précisant « Configuration » à partir de la liste déroulante.

{gallery}40_Change_TSL/02{/gallery}

 

 

 

 

 

 

 

 

Il suffit de naviguer vers l’objet « CN=Directory Service » depuis « CN=Configuration,DC=<ForestRoot> » | « CN=Services » | « CN=Windows NT » | « CN=Directory Service » et accéder à ses propriétés à l’aide d’un clic droit.

{gallery}40_Change_TSL/03{/gallery}

 

 

 

 

 

 

 

L’objet « CN=Directory Service » est constitué d’attributs dont « tombstoneLifetime » que nous allons donc modifier en le sélectionnant et en cliquant sur le bouton « Modifier ».

{gallery}40_Change_TSL/04{/gallery}

 

 

 

 

 

 

 

 

 

Remarque: augmenter la valeur du tombstone lifetime signifie également que vous allez conserver plus longuement des objets en attente de suppression et donc augmenter la taille de votre base Active Directory.

ATTENTION !!! L’attribut TombstoneLifetime est unique au sein d’une forêt. La modification concernera donc l’ensemble des domaines de votre forêt.

 

 

 


Effets de bord

La principale problématique du changement de la valeur du Tombstone Lifetime est sa latence de réplication sur l’ensemble de votre forêt. La modification de cette valeur doit être prise en compte sur l’ensemble des contrôleurs de domaine de la forêt avant que le garbage collection process n’est pu s’exécuter localement sur chaque contrôleur de domaine.

Prenons un exemple concret. Pour cela nous allons nous appuyer sur le schéma ci-dessous.

{gallery}40_Change_TSL/05{/gallery}

 

 

 

Vous disposez de deux contrôleurs de domaine placés sur deux sites Active Directory différents que nous appellerons DC1 et DC2. Vous modifiez la valeur sur DC1 pour passer la valeur de 60 à 180 jours (Etape 1) cependant le DC2 n’a pas pris en compte la mise à jour et le garbage collection process s’est exécuté (Etape 2 et 3). De ce fait, le DC2 a appuyé son garbage collection process sur une valeur de Tombstone Lifetime à 60 jours et a donc supprimé tous les objets tombstone excédant cette durée.

Par la suite, Une réplication s’effectue entre les deux contrôleurs de domaine (Etape 4) cependant et comme en toute logique, aucun objet tombstone n’a été supprimé sur DC1, les objets purgés par le garbage collection process du DC2 seront réintroduits (Etape 5). La base Active Directory est donc dès lors inconsistante (introduction « d’objets en attente » appelés communément lingering objects).

Le problème vient essentiellement du manque de maîtrise du garbage collection process qui peut être amené à s’exécuter avant que la mise à jour du Tombstone Lifetime ait été déployée sur la totalité des contrôleurs de domaine de la forêt. Le garbage collection process s’exécute toutes les 12 heures ce qui dans un premier temps ne laisse qu’une faible marge d’erreur pour la réplication de la nouvelle valeur du Tombstone Lifetime. Rajoutons à cela que le garbage collection process s’exécute de façon asynchrone sur chaque contrôleur de domaine. La fenêtre de 12 heures s’appuie exclusivement sur l’heure de démarrage du service Netlogon de chaque contrôleur de domaine et il est impossible de passer outre (même en forçant manuellement l’exécution du garbage collection process qui ne permet pas de réinitialiser le compte à rebours).

 

 

 

Procédure de modification

L’objectif principal est de gagner en maîtrise sur le garbage collection process. Il faut que nous assurions, autant que faire se peut, que la nouvelle valeur du Tombstone Lifetime soit répliquée avant que le garbage collection process est eu le temps de s’exécuter sur l’ensemble de la forêt.

Les étapes à suivre sont :

Modification de l’intervalle d’exécution du garbage collection process et attendre sur un délai raisonnable sa réplication:

Tout d’abord, il est important de noter que la période d’exécution du garbage collection process ne peut excéder le tiers de la durée du Tombstone Lifetime. Donc, pour une valeur de Tombstone Lifetime égale à 60 jours, la valeur du garbage collection process ne peut dépasser 20 jours, soit 480 heures. Vous pouvez toutefois lui attribuer une valeur supérieure mais elle ne pourra pas dépasser cette limitation.

Modifier la valeur du garbage collection process est une opération similaire à celle vue plus haut pour le Tombstone Lifetime. Il s’agit de l’attribut garbageCollPeriod rattaché au même objet que l’attribut tombstoneLifetime. Passez la valeur au tiers de celle du Tombstone Lifetime, soit le maximum possible (Par exemple 480). {gallery}40_Change_TSL/06{/gallery}

 

 

 

 

 

 

 

 

 

Modification de la durée de vie de conservation des objets tombstone et attendre le délai nécessaire pour sa réplication:

Désormais, nous pouvons modifier la valeur du Tombstone Lifetime plus sereinement et patienter le temps nécessaire à sa réplication. Le seul problème étant que la base Active Directory ne sera plus purgée de ses objets tombstone.

Remarque: il peut être intéressant de vérifier à l’aide d’un script PowerShell (par exemple) que la nouvelle valeur du garbageCollPeriod et ensuite celle du tombstoneLifetime aient bien été répliquées sur l’ensemble des contrôleurs de domaine.

Rétablissement de l’intervalle initial d’exécution du garbage collection process:

Une fois que l’opération de modification du Tombstone Lifetime a été réalisée avec succès, plus rien ne s’oppose à rétablir l’intervalle d’exécution par défaut du garbage collection process.

Remarque: Notez que si l’attribut garbageCollPeriod n’a pas de valeur définie alors elle est par défaut à 12 heures.

 

 

 

Conclusion

 

Nous avons donc pu voir ensemble que modifier le Tombstone Lifetime n’est pas une opération anodine et qu’elle peut également avoir des effets négatifs sur votre architecture. Bien entendu, cela dépendra essentiellement du nombre de contrôleurs de domaine et de domaines concernés par cette opération.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *