Erreur de synchronisation du temps entre serveurs Linux et Windows

logo linux pinguin assis

Les serveur Linux contact un serveur de temps pour se synchroniser régulièrement.

Contrairement aux serveur Windows de Microsoft, les serveurs Linux ont une tolérance bien plus petite aux écarts.

En cas d’erreur stipulant que les serveurs Linux ne se synchronisent plus parce que la source n’est pas fiable, que faire ?

Dans le cas que j’ai rencontré chez un client, le délai supporter par Linux était dépassé.

Windows permet de configurer avec un écart possible se mesurant en seconde. Alors que sur les serveurs Linux cet écart se mesure en milli seconde. Donc nous pouvons très rapidement se trouver dans le cas de ce présent exemple.

 

Petit lexique

  • NTP Network Time Protocol
  • AD Active Directory
  • FSMO Flexible Single Master Operation
  • PDC Primary Domain Controller
  • RHEL Red Hat Enterprise Linux

 

Comment faire ?

Il suffit de vérifier sur la source Windows sa configuration w32time comme ci-dessous. Pour rappel dans un environnement AD, la référence de temps est le contrôleur de domaine ayant le rôle FMSO « PDC ».

Démarrer et arrêter le service de temps Windows

net start w32time
net stop w32time

Afficher la configuration :

w32tm /query /configuration

w32tm ntp windows

Solutions possibles

Dans le cadre de notre problématique (temps d’écart trop important pour les serveurs Linux), il y a plusieurs solution

  1. Configurer cron afin de forcer la mise à jour du temps avec sa référence même si l’écart est trop important est la confiance en est réduite.
  2. Modifier le temps de « dispersion » sur la référence Windows

Ntpdate permet de synchroniser à la main coté Linux

Client NTP qui règle l’horloge système pour correspondre à l’heure obtenue en communiquant avec un (ou plusieurs) serveurs de temps. Pourtant, cela n’est pas suffisant pour maintenir l’horloge précise sur une longue durée. ntpdate est surtout utile pour régler ponctuellement l’horloge sur des serveurs (ou poste de travail) qui n’ont pas accès à un réseau en permanence, telles que les ordinateurs portables ou les serveurs déconnecté comme embarqué dans des automates, offshore…

w32time command configuration serveur de temps

La meilleur solution pour ce problème

Pour corriger ce décalage de façon permanente, sécurisé ou plutôt fiable, modifier le temps de dispersion de la référence de temps Windows comme ci dessous :

w32tm /config /LocalClockDispersion:1

Et les serveurs Linux vont se synchroniser de nouveau!

 

Conclusion

Ne faites pas de synchronisation « brute » en forçant l’update avec un cron par exemple. Pensez d’abord à voir les échanges.

clé du succès

Laisser un commentaire