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.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.

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: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 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: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

A+

Guillaume MATHIEU
Architecte Metsys
La connaissance s’accroît quand on la partage.

A propos de l'auteur

Acteur incontournable des services du numérique, Metsys s’engage à satisfaire l’ambition de ses clients dans leurs projets de transformation digitale.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.