Défragmentation hors-ligne de la base Active Directory

Envoyer Imprimer PDF

Sommaire

 

 

Introduction

Cet article va me permettre de vous expliquer rapidement ce qu'est une défragmentation hors-ligne de la base Active Directory et comment la réaliser avec succès.

 

 

Pourquoi faire une défragmentation hors-ligne ?

La défragmentation hors-ligne ne sert qu’à une seule chose : gagner de l’espace disque (en tout cas, rien ne laisse penser le contraire).

En réalité, la base Active Directory est régulièrement défragmentée en ligne. L’opération est réalisée automatiquement par le processus « Garbage Collection » (toutes les 12 heures par défaut). Il réorganise la base de données et libère de l’espace disque mais ne réduit pas physiquement le fichier « NTDS.DIT ». Seul le processus de défragmentation hors-ligne permet de réduire la taille du fichier « NTDS.DIT » en fonction de l’espace libéré par la défragmentation en ligne.

Il vous est d’ailleurs possible de visualiser la taille de disque que vous pourriez économiser. Pour cela, il suffit de modifier une clé de registre (http://technet.microsoft.com/en-us/library/cc816652(v=ws.10).aspx) :

  • Nom de la clé : « 6 Garbage Collection »
  • Chemin : « HKLM\SYSTEM\CurrentControlSet\services\NTDS\Diagnostics »
  • Valeur : « 1 »

 

Lors de la prochaine exécution du « Garbage Collection », vous obtiendrez l’évènement système portant l’id « 1646 » depuis le journal « Directory Service » ci-dessous. Dans cet exemple, nous voyons que nous pouvons gagner environ 100Mb d’espace disque.

 

 

Comment réaliser une défragmentation hors-ligne ?

Premièrement, Veillez à disposer d’une sauvegarde de votre base Active Directory (sauvegarde de l’état système). L’opération n’est pas risquée mais sachant que vous manipulez directement le fichier  « NTDS.DIT », il vaut mieux être prudent.

L’opération doit se réaliser hors-ligne, il faut donc arrêter le service Active Directory. L’avantage sur Windows Server 2008 est que nous pouvons le faire sans passer par le mode de démarrage « Restore Mode » (ou « DSRM »). Pour arrêter le service Active Directory, lancez simplement la commande « net stop ntds ».

 

Une fois le service arrêté, lancez « NTDSUTIL » et saisir les commandes suivantes dans l’ordre indiqué :

  • « Activate instance ntds »
  • « Files »
  • « Compact to [CHEMIN] »

 

L’assistant de compactage, vous invite à réaliser le remplacement de l’ancien fichier « NTDS.DIT » par le nouveau fichier compacté et à supprimer les journaux.

 

Mais avant tout, nous vérifions que le compactage a bien été réalisé. Par exemple, ci-dessous, nous voyons que le fichier « NTDS.DIT » a été réduit de près de 120Mb.

 

Remplacez donc le fichier « NTDS.DIT » existant par le nouveau fichier : « Copy [CHEMIN_DE_LA_BASE_COMPACTEE]  [CHEMIN_DE_LA_BASE_PRODUCTION] »

 

Supprimez les fichiers journaux « del  [CHEMIN_REPERTOIRE_LOGS]\*.log ».

 


Vérifications post-opératoires

Pour être sûr que le fichier compacté est intègre, vous pouvez utiliser de nouveau « NTDSUTIL », en lançant les commandes suivantes :

  • « NTDSUTIL »
  • « Activate instance ntds »
  • « Files »
  • « Integrity »

 

Si le test d’intégrité est OK, alors il ne vous reste plus qu’à redémarrer le service Active Directory à l’aide de la commande « net start ntds ».

 

Enfin, pour valider que le contrôleur de domaine est opérationnel, n’hésitez pas à utiliser l’outil « DCDIAG », de naviguer dans la base locale Active Directory avec la console « Utilisateurs et ordinateurs Active Directory », vérifiez t les réplications avec l'outil « repadmin ».

Mise à jour le Jeudi, 03 Avril 2014 10:23