Décalage d'horloge / problème NTP
Symptôme
Écarts d'horloge entre les nœuds du cluster ; incohérences de réplication/d'élection, 'certificate not yet valid', sauts temporels dans les logs.
1. Reconnaissez le symptôme
Le décalage d'horloge est insidieux : élections Mongo/Redis Sentinel instables (flapping), erreurs TLS 'not yet valid/expired', erreurs Kerberos, horodatages qui reculent dans les logs. Dans les systèmes distribués, il est à l'origine de la plupart des bizarreries « inexplicables ».
2. Mesurez l'écart
Sur chaque nœud, comparez la source de temps et l'offset : timedatectl, chronyc tracking (ou ntpq -p), et date -u entre les nœuds. De combien de ms/s diffèrent-ils ?
3. Corrigez NTP/chrony
chronyd/ntpd tourne-t-il, atteint-il ses sources de temps, est-il synchronisé ? Démarrez le service et corrigez la source ; pour de grands offsets, faites un step avec prudence (un saut brutal peut perturber certaines bases).
4. Vérifiez le composant affecté
Une fois l'horloge corrigée, vérifiez : l'élection du replica set MongoDB est-elle stable, Redis Sentinel/Cluster est-il sain, les handshakes TLS réussissent-ils, les métriques de retard de réplication sont-elles revenues à la normale ?
5. Définitif
Rendez NTP obligatoire sur tous les nœuds et surveillez l'offset (alerte : >100ms). Sur les machines virtuelles, tranchez le paramètre de synchronisation horaire hôte-invité ; utilisez de préférence une hiérarchie de sources de temps unique et fiable.