Gestion des bases de données des contrôleurs de domaine Active Directory

La gestion des bases de données Active Directory sur les contrôleurs de domaine est une tâche d’administration essentielle, qui vous permet de maintenir sur le long terme le bon fonctionnement de ceux-ci.

Les services de domaine Active Directory possèdent leur propres moteurs de base de données de type ESE (Extensible Storage Engine), introduit par Exchange Serveur, il gère le stockage de tous les objets du service d’annuaire dans la base de données.

C’est une base de données orienté objets, chaque objet occupe une position unique dans la hiérarchie de l’espace de nom.

Le moteur ESE utilise des transactions, au même sens que dans SQL serveur, et utilise des fichiers journaux pour assurer l’intégrité de la base. Active Directory.

Les fichiers utilisés par Active Directory

  • NTDS.DIT (Correspond à la base elle même)
  • Edb*.log (Correspond au journaux de transactions)
  • Edb.chk (Fichier de point de contrôle, qui permet de suivre les données écrites dans la base)
  • edbres0001.jrs – edbres0002.jrs (Fichier de réservation d’espace disque pour les transactions d’une taille de 10 Mo chacun) (Res1.log et Res2.log sous Windows 2000 et 2003)

Par défaut tous ces fichiers sont placés dans: %systemroot%\NTDS

Modification de la base de données des services d’annuaire

le processus de modification des données comprend six étapes:

  1. La transaction est lancée: Un objet vient d’être modifié (par exemple)
  2. Le moteur ESE écrit la modification dans le tampon des transactions (La mise en mémoire cache améliore les performances des transactions)
  3. Le moteur ESE écrit la transaction dans le fichier Edb.log
  4. Le moteur écrit dans la base de données NTDS.DIT
  5. Le moteur ESE valide la transaction (Compare le fichier Log et les données dans la base NTDS.DIT)
  6. Le moteur ESE met à jour le fichier de vérification de point de contrôle Edb.chk

Les fichiers LOG du moteur ESE Active Directory

Le service d’annuaire utilisent la fonctionnalité d’enregistrement circulaire dans les logs. Chaque fichier de log peut atteindre une taille maxi de 10 Mo par défaut, avant que le moteur ESE ne renomme le log en cours de manière edbnnnnn.log, ou nnnnn correspond à l’ordre chronologique de création, et récrée un nouveau fichier edb.log vide.

D’autres services Microsoft utilisent également le même principe de modèle transactionnel:

  • Exchange Server (Exchange Serveur 2007 –> Fichier log limité à 1 Mo par défaut)
  • SQL server

Points clés

La gestion de la base du service d’annuaire se fait à travers l’outil en ligne de commande NTDSUTIL.EXE.

Grace à cet outil, vous pouvez gérer les principales tâches de maintenance de vos bases AD, qui ne peuvent pas être effectué en interface graphique utilisateur (GUI). NTDSUTIL utilise des contexte à la manière de NETSH.

NTDSUTIL 

Utilisez NTDSUTIL pour:

  • Exécuter la maintenance courante de vos bases AD
  • Défragmenter la base AD
  • Déplacer la base AD
  • Déplacer les fichiers de log
  • Créer un snapshot (Cliché instantané) de la base AD sur un contrôleur de domaine
  • Monter un snapshot d’une base AD
  • Gérer les opérations à rôle unique
  • Configurer le port LDAP d’une instance AD
  • Configurer le port LDAP SSL d’une instance AD
  • Supprimer les métadonnées  laissé par un contrôleur de domaine qui n’existerait plus
  • Changer le mot de passe du mode ‘Restauration du service d’annuaire’

etc…. Voila une partie de la liste des possibilités des opérations réalisables avec l’outil NTDSUTIL.EXE.

Déplacement de la base de données AD

En cas d’espace disque devenant insuffisant ou pour augmenter les performances de vos DC (Domain Controler), vous pouvez modifier l’emplacement de stockage de la base AD sur votre DC.

Step by step

Arrêter les services de domaine Active Directory

ServicesAD

Acceptez l’avertissement

Avertissement

Ouvrez une Invite de commandes et lancez NTDSUTIL

Vous devez activez l’instance NTDS, avant de pouvoir toucher aux fichiers de la base NTDS

lancez la commande: Activate Instance NTDS

activateInstanceAD

Entrez ensuite dans le contexte de gestion des fichiers: Files

Files

deux commandes sont à présent à notre disposition pour déplacer soit la base, soit les fichiers logs:

Base: Move DB to …

Logs: Move logs to ….

maintenant pour déplacer, la base, tapez: Move DB to c:\BaseAD (exemple pour moi, spécifiez votre propre chemin pour l’emplacement de votre base)

MoveDB

Voilà, votre base vient d’être déplacé vers le répertoire que vous avez spécifié plus haut. n’oubliez pas de redémarrer les services que vous avez arrêter plus avant.

Déplacement des fichiers LOGS

Les étapes de déplacements des fichiers log restent identiques au déplacement de la base, seul la commande utilisée est différente:

tapez : Move logs to  c:\LogsAD (exemple pour moi, spécifiez votre propre chemin pour le stockage de vos fichiers logs)

MoveLogs

Défragmentation de la base Active Directory

Au fil du temps, la fragmentation de la base de données Active Directory impact les performances de votre contrôleur de domaine. Vous créez, supprimez des objets qui laissent des ‘trous’ dans les données de la base. Ainsi, le système doit parcourir la base de données pour y retrouver les enregistrements, et ce, à chaque fois que cette dernière est ouverte.

les conditions qui pourrait provoquer la nécéssité d’une défragmentation hors-ligne peuvent-être multiple, tels que par exemple:

  • Après avoir supprimé un Catalogue Global d’un contrôleur de domaine
  • Suppression importante d’objets
  • Suppression des données DNS intégrées à Active Directory

Pour surmonter les problèmes lié à la fragmentation, Active Directory fait de la défragmentation en ligne (Toutes les 12 heurs par défaut), mais ce type de défragmentation ne réduit pas la taille de la base et ne réécrit pas les données dans des secteurs d’espace contigües.

la seul méthode qui permettent de réduire la taille et restructurer les données dans des secteurs d’ espaces contigües, est la défragmentation hors-ligne.

Toujours dans le contexte Files de NTDSUTIL, tapez:

Compact to c:\CompactAD (exemple pour moi, spécifiez votre propre chemin pour le stockage de votre base AD temporaire)

compactAD

ATTENTION: La base qui vient d’être créé dans le répertoire spécifié doit remplacer la base NTDS.DIT original dans son emplacement de stockage d’origine. Les fichiers *.log doivent être supprimés, le moteur recréera ces fichiers au redémarrage du service.

Copier la base NTDS.DIT compacté vers votre emplacement de stockage de votre base Active Directory.

copy c:\CompactAD\NTDS.DIT c:\BaseAD\NTDS.DIT /Y

copyad

del c:\LogsAD\*.log

dellogsAD

Active Directory et le registre Windows

Active Directory stocke ses données de configuration dans le registre windows à l’emplacement suivant:

HKLM\System\CurrentControlSet\Services\NTDS\Parameters

Stocke les paramètres de configuration du services NTDS

regeditParameters

HKLM\System\CurrentControlSet\Services\NTDS\Diagnostics

Stocke les données liées aux niveaux de diagnostiques du service NTDS, chaque entrée supporte une valeur allant de 0 (Pas de journalisation) à 5 (Journalisation élevée)

regeditdiagnostics

Je vous conseille de jeter un coup d’œil sur le site Technet pour Windows Server:

Site Microsoft Technet – Windows Serveur

Une réflexion sur “Gestion des bases de données des contrôleurs de domaine Active Directory

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s