Dépannage NTFRS avancé.

Bonjour

Ci-dessous le descriptif d’un incident NTFRS que j’ai rencontré chez un de mes clients.

ARCHITECTURE CLIENT :
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.intra\sysvol (C:\WINDOWS\SYSVOL\SYSVOL\) et \\msreport.intra\netlogon (C:\WINDOWS\SYSVOL\SYSVOL\MSREPORT.INTRA\SCRIPTS) é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.

COMPLEMENT 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:\WINDOWS\SYSVOL\SYSVOL\MSREPORT.INTRA est une jonction (une sorte de lien physique) du répertoire C:\WINDOWS\SYSVOL\domain
– Le répertoire C:\WINDOWS\SYSVOL\STAGING AREAS\MSREPORT.INTRA est une junction du repertoire C:\windows\SYSVOL\staging\domain

La commande dir /aL /s C:\ permet de connaître les jonctions sur un serveur Windows.
Résultat de la commande :
Directory of C:\WINDOWS\SYSVOL\staging areas
12/03/2012  08:37 PM    <JUNCTION>     msreport.intra
0 File(s) 0 bytes
Directory of C:\WINDOWS\SYSVOL\sysvol 12/03/2012 
08:37 PM    <JUNCTION>     msreport.intra
0 File(s)  0 bytes
Le moteur de réplication NTFRS semble utiliser C:\WINDOWS\SYSVOL\domain et C:\windows\SYSVOL\staging\domain pour la réplication et non les jonctions.

ANALYSE DU PROBLEME :
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 supprimait la jonction C:\windows\SYSVOL\sysvol\msreport.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:\WINDOWS\SYSVOL\SYSVOL\MSREPORT.INTRA et C:\WINDOWS\SYSVOL\STAGING AREAS\MSREPORT.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:\WINDOWS\SYSVOL\SYSVOL\ Mklink /j msreport.intra C:\WINDOWS\SYSVOL\domain
cd C:\WINDOWS\SYSVOL\STAGING AREAS Mklink /j msreport.intra C:\windows\SYSVOL\staging\domain

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

A+

Guillaume MATHIEU
Consultant pôle Architecture & Intégration de PROSERVIA (MANPOWER GROUP SOLUTIONS)
La connaissance s’accroît quand on la partage.
http://msreport.free.fr

A propos Guillaume Mathieu

Directeur Technique chez Flexsi
Ce contenu a été publié dans Active Directory, Annuaire, Système, Troubleshouting, Windows 2000 Server, Windows 2003 Server, Windows Server 2008, Windows Server 2008 R2. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire