Sommaire
ToggleArchitecture d’exemple
Un domaine Active Directory MSREPORT.INTRA géré par 3 contrôleurs de domaine sous Windows 2003 SP2 FR.
Description de l’incident
Le contenu des partages \msreport.intrasysvol (C:WINDOWSSYSVOLSYSVOL) et \msreport.intranetlogon (C:WINDOWSSYSVOLSYSVOLMSREPORT.INTRASCRIPTS) étaient différents sur les 3 contrôleurs de domaine. Aucune erreur ne remontait dans les observateurs d’événements (journal NTFRS). La réplication NTFRS semblait arrêtée. Le service NTFRS était démarré sur les 3 contrôleurs de domaine.
Complément d’informations sur NTFRS / SYSVOL
Le moteur de réplication NTFRS permet que le contenu des partages SYSVOL et NETLOGON soient identiques sur les différents contrôleurs du domaine Active Directory. Le moteur de réplication NTFRS s’appuie pour cela sur le moteur de réplication Active Directory et les liens de réplication de la console Sites et Services Active Directory.
Plus précisément, la réplication NTFRS est gérée par 3 objets Active Directory :
nTDRSSubscriber
Objet enfant du compte ordinateur de chaque contrôleur de domaine.
- Passer la console Utilisateurs et Active Directory en mode affichage « Objets Utilisateurs et Groupes comme conteneur » et en mode « Fonctionnalités avancées » pour voir cet objet.
nTFRSReplicaSet
Objet dans le conteneur SYSTEM qui contient la configuration du jeu de réplication NTFRS (appelé SET). Le chemin LDAP de cet objet est CN=Domain System Volume (SYSVOL share),CN=File Replication Service,CN=System,DC=msreport,DC=intra.
- Passer la console Utilisateurs et Ordinateurs Active Directory en mode d’affichage « Fonctionnalités avancées » pour voir ce conteneur ou lancer la console ADSIEDIT.MSC.
nTFRSMember
Objet qui référence les contrôleurs de domaine qui utilisent le SET NTFRS. Le chemin LDAP de cet objet est CN=NOMDC,CN=Domain System Volume (SYSVOL share),CN=File Replication Service,CN=System,DC=msreport,DC=intra.
- Passer la console Utilisateurs et Ordinateurs Active Directory en mode d’affichage « Fonctionnalités avancées » pour voir ce conteneur ou lancer la console ADSIEDIT.MSC.
Il est important de comprendre que :
- Le répertoire C:WINDOWSSYSVOLSYSVOLMSREPORT.INTRA est une jonction (une sorte de lien physique) du répertoire C:WINDOWSSYSVOLdomain
- Le répertoire C:WINDOWSSYSVOLSTAGING AREASMSREPORT.INTRA est une junction du repertoire C:windowsSYSVOLstagingdomain
La commande dir /aL /s C: permet de connaître les jonctions sur un serveur Windows.
Résultat de la commande
Directory of C:WINDOWSSYSVOLstaging areas
12/03/2012 08:37 PM <JUNCTION> msreport.intra
0 File(s) 0 bytes
Directory of C:WINDOWSSYSVOLsysvol 12/03/2012
08:37 PM <JUNCTION> msreport.intra
0 File(s) 0 bytes
Le moteur de réplication NTFRS semble utiliser C:WINDOWSSYSVOLdomain et C:windowsSYSVOLstagingdomain pour la réplication et non les jonctions.
Analyse du problème
Pour détermine la cause du problème, on valide l’état des 3 contrôleurs de domaine via la commande DCDIAG /V /E > c:dcdiag.txt. Rechercher les erreurs dans le fichier de sortie. Analyser aussi les observateurs d’événements. Dans notre cas, tout était correcte.
L’étape suivante est de vérifier que les objets FRS sont bien créés. La commande NTFRSUTL DS (installer les supports Tools sur le CD d’installation de Windows Server) permet de valider que les références NTFRS sont présentes.
L’article http://support.microsoft.com/kb/312862/en-us comment recréer ses trois objets.
L’étape suivante est d’installer l’outil SONAR. Ce dernier permet de répliquer la réplication NTFRS.
Pour plus d’informations : http://www.microsoft.com/en-us/download/details.aspx?id=3745
Il existe aussi un outil appelé ULTRASOND qui permet d’effectuer cela : http://www.microsoft.com/en-us/download/details.aspx?id=3660
Hors dans notre cas, l’outil SONAR remontait « NOT A JUNCTION » au niveau de la colonne SYSVOLSHARED sur deux des trois contrôleurs de domaine.
Cela indiquait que le client avait supprimé la jonction
C:windowsSYSVOLsysvolmsreport.intra (comme une suppression du répertoire) et avait recréé manuellement ce dossier puis recopier le contenu de ce répertoire depuis un autre contrôleur de domaine.
Pour corriger ce problème, il faut supprimer le répertoire (la fausse jonction)
C:WINDOWSSYSVOLSYSVOLMSREPORT.INTRA et C:WINDOWSSYSVOLSTAGING AREASMSREPORT.INTRA et recréer la jonction avec l’outil Mklink.Exe en appliquant la procédure suivante : http://technet.microsoft.com/en-us/library/cc794939(v=ws.10).aspx
Dans notre cas taper les commandes suivantes :
cd C:WINDOWSSYSVOLSYSVOL Mklink /j msreport.intra C:WINDOWSSYSVOLdomain
cd C:WINDOWSSYSVOLSTAGING AREAS Mklink /j msreport.intra C:windowsSYSVOLstagingdomain
Pour télécharger l’outil MKLINK : http://downloads.netmediaeurope.de/3155/mklink-de3nle/
Si cela ne fonctionne pas, il faut alors effectuer une restauration non autoritaire de SYSVOL (clé burflags à D2) en spécifiant le serveur qui n’est pas en erreur dans SONAR. http://support.microsoft.com/kb/290762/en-us