Description : La base de données Active Directory se fragmente au fur et à mesure de son utilisation. Le service AD DS de Windows Server 2008 compacte automatiquement la base de données, mais ce compactage ne récupère pas l’espace disque et se contente de réorganiser les données. Pour récupérer l’espace perdu, il faut placer la base de données hors-ligne et exécuter une séquence de compactage et de défragmentation. L’avantage sous Windows Server 2008 est que le service d’annuaire est vue comme un service Windows qui peut être arrêté. Ce qui nous permettra d’effectuer des tâches de maintenance sur la base de données sans que les autres services actif sur le serveur soit également arrêtés. Lorsqu’on arrête le service AD DS, le DC communique avec un autre DC afin de vérifier qu’au moins un DC est disponible en permanence au moment de l’arrêt.
Pré – requis :
- Avoir un OS Windows Server 2008 avec Active Directory
- Avoir des droits d’administration sur le serveur
- Avoir un autre contrôleur de domaine sur le réseau pour une redondance du service Active Directory
1 – Connectez-vous sur le contrôleur de domaine via la « Connexion bureau à distance » :
2 – Utilisez l’explorateur Windows pour créer un dossier « C:\Temp » et un dossier « C:\OriginalNTDS » :
NB : Ces répertoires seront utilisés comme emplacements temporaires pour la base de données compactée et la base d’origine.
3 – Dans le « Gestionnaire de serveur », développez le nœud « Configuration » et cliquez sur « Services » :
4 – Dans la liste des services, arrêtez le service « Services de domaine Active Directory » :
5 – Cliquez sur « Oui » pour arrêter les autres services :
6 – Lancez une « Invite de commandes » en tant qu’administrateur :
7 – Exécutez les lignes de commandes suivantes pour compacter la base de données :
- Ntdsutil
- Activate instance NTDS
- Files
- Compact to C:\temp
NB : « Ntdsutil.exe » va compacter la base de données et la copier au nouvel emplacement. Si l’annuaire est très volumineux, l’opération peut prendre un certain temps.
8 – Quand le compactage est terminé, tapez la commande suivante dans l’invite de commande :
- Quit
- Quit
9 – Tapez les commandes suivantes pour supprimer les journaux :
- Cd %systemroot%\ntds
- Del *.log
NB : Il faut supprimer les fichiers journaux car il va falloir remplacer le fichier « ntds.dit » par le nouveau fichier compacté, et ces journaux ne fonctionneraient plus avec la nouvelle base de données.
10 – Il faut maintenant sauvegarder le fichier original « ntds.dit » pour le protéger, dans l’éventualité d’un problème. Tapez la commande suivante :
- Copy C:\Windows\NTDS\ntds.dit C :\OriginalNTDS
11 – Il faut ensuite copier la base de données compactée dans le dossier d’origine de la base de données « NTDS.dit » en tapant les commandes suivantes :
- Copy c:\temp\ntds.dit C:\Windows\NTDS\
- o
12 – Tapez les commandes suivantes pour vérifier l’intégrité de la base de données « ntds.dit » :
- Ntdsutil
- Activate instance NTDS
- Files
- Integrity
- Quit
- Semantic database analysis
- Go fixup
- Quit
- Quit
NB : Si ce test d’intégrité échoue, il faudra recopier le fichier « ntds.dit » d’origine parce que le nouveau fichier est probablement corrompu. Si ce n’est pas fait, le contrôleur de domaine ne sera plus opérationnel.
Best Practice : Il est recommandé de compacter la base de données au moins une fois par mois.
Automatiser la maintenance de la base de données
Pré requis :
- Avoir un OS Windows Server 2008 avec Active Directory
- Avoir des droits d’administration sur le serveur
- Avoir un autre contrôleur de domaine sur le réseau pour une redondance du service Active Directory
1 – Connectez-vous sur le contrôleur de domaine via la « Connexion bureau à distance » :
2 – Utilisez l’explorateur Windows pour créer un dossier « C:\Temp » et un dossier « C:\OriginalNTDS » :
NB : Ces répertoires seront utilisés comme emplacements temporaires pour la base de données compactée et la base d’origine.
3 – Allez dans le dossier « C:\Temp » et cliquez droit dans le volet détails. Sélectionnez « Nouveau » et cliquez sur « Document texte » :
4 – Nommez le document « Compactage.cmd » :
5 – Editez le fichier « Compactage.cmd » et saisissez les commandes suivantes :
- Del C:\temp\*.dit
- Del C:\OriginalNTDS\*.dit
- pause
- Net stop NTDS /y
- Ntds « activate instance NTDS » files « compact to C:\temp » quit quit
- Cd c:\windows\NTDS
- Del *.log
- pause
- Copy ntds.dit C:\OriginalNTDS
- Del ntds.dit
- Copy c:\temp\ntds.dit c:\windows\NTDS
- pause
- Ntdsutil « activate instance NTDS » files integrity quit « semantic database analysis » « go fixup » quit quit
- pause
- Net start NTDS
6 – Exécuter le script « Compactage.cmd » :
Best Practice : Il est recommandé d’être présent lors de l’exécution du script d’automatisation du compactage de la base de données Active Directory car en cas de problème, vous pourrez ainsi intervenir rapidement.