Les erreurs de réplication DFS peuvent être courante lorsque l’on travaille avec une architecture RODC, les deux principales causes de ces erreurs sont :
- l’arrêt imprévu du serveur (panne liée à l’environnement, crash, etc..)
- la perte de connectivité avec le contrôleur de domaine principal
Il est important de ne pas négliger ces erreurs qui ont deux degrés d’influences, allant du simple avertissement jusqu’à l’arrêt complet de la réplication des données entre deux serveurs.
Analyser les erreurs
On retrouve ces erreurs depuis l’observateur d’événements :
- Ouvrir les outils d’administration
- Sélectionner Observateur d’événements
- Dans le menu de gauche, déployer “Journaux des applications et des services” puis sélectionner “Réplication DFS”
Les évènements qui nous intéressent correspondent aux ID suivant : 2212, 2213, 5014 pour les “simples” avertissements et 5008 pour les erreurs. Contrairement à ce qu’on pourrait croire ce n’est pas l’évènement 5008 qui est le plus grave, il nous informe que la réplication n’a pas pu communiquer à un instant t avec l’hôte partenaire, mais le problème se corrige généralement de lui-même par la suite. Non, celui qui est à surveiller de très près est l’ID 2213 ! Le service de réplication DFS stop le processus de réplication suite à l’arrêt impropre de la base de donnée JET DFSR, et ne comptez pas sur une reprise automatique du service…
Automatiser la surveillance des erreurs
Lorsque vous cliquez sur l’avertissement, on vous informe de la procédure à suivre pour reprendre la réplication. Il suffit simplement d’ouvrir une invite de commandes en tant qu’administrateur et de copier/coller la commande que l’on vous donne et c’est reparti, enfin tout du moins jusqu’au prochain plantage.. À la place de cette méthode fastidieuse qui vous oblige à venir régulièrement vérifier le journal de réplication DFS, on va automatiser la surveillance par un script PowerShell et une tâche planifiée ! 😉
Contenu du script
Vous pouvez utiliser votre éditeur de texte préféré et enregistrer le fichier avec l’extension “.ps1”, ou Windows PowerShell ISE qui permet de créer des scripts PowerShell et de les tester directement.
[pastacode lang=”bash” message=”” highlight=”” provider=”manual” manual=”function%20sendCmd%7B%0A%09Write-Host%20%22Execution%20de%20la%20commande%20pour%20reactiver%20la%20replication…%22%0A%09%23Invite%20de%20commande%0A%09%24prog%3D%22cmd.exe%22%0A%09%23Commande%20a%20executer%0A%09%24params%3D%40(%22%2FC%22%3B%22rajouter-ici-la-commande-donn%C3%A9e-par-l’avertissement%22%3B%22%20%3E%20c%3A%5Cresult.txt%22)%0A%09%23Ouvrir%20invite%20de%20commande%20avec%20droit%20administrateur%0A%09Start-Process%20-Verb%20runas%20%24prog%20%24params%0A%7D%0A%0A%23Variables%20generales%0A%24computername%20%3D%20get-content%20env%3Acomputername%0A%24result%20%3D%20gc%20c%3A%5Cresult.txt%0A%24to%20%3D%20%22saisir-adresse-mail-reception%22%0A%24from%20%3D%20%22saisir-adresse-mail-emetteur%22%0A%24subject%20%3D%20%22Erreur%20Replication%20DFS%22%0A%24body%20%3D%20%22%3Cp%3EUne%20erreur%20de%20replication%20DFS%20vient%20de%20se%20produire%20sur%20le%20serveur%3A%20%3Cstrong%20style%3D%22%22color%3Ared%22%22%3E%22%2C%20%24computername%2C%20%22%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%3EVoici%20le%20resultat%20de%20la%20commande%3A%3Cbr%3E%3Cbr%3E%3Cstrong%3E%22%2C%20%22%24result%22%2C%20%22%3C%2Fstrong%3E%3C%2Fp%3E%22%20-join%20%22%22%0A%24smtpserver%20%3D%20%22saisir-adresse-server-smtp%22%0A%0A%23Lancement%20des%20fonctions%0AsendCmd%0ASend-MailMessage%20-to%20%24to%20-From%20%24from%20-Subject%20%24subject%20-BodyAsHtml%20%24body%20-SmtpServer%20%24smtpserver”/]Les variables doivent être renseignées avec vos paramètres et pouvez personnaliser le corps du message.
Attention: les numéros correspondant au “volumGuid” dans la variable $params sont déjà entre guillemet, il faut donc les doubler.
Création de la tâche planifiée
- Ouvrir le planificateur de tâches et créer une tâche
- Pour les onglets “Déclencheurs” et “Actions” renseignez les paramètres comme les deux captures
- Le reste des paramètres est à configurer selon vos besoins/désirs
Maintenant, vous serez averti dès le prochain arrêt et le redémarrage du processus de synchronisation sera quasi instantané. 🙂