Résolu Le problème était Hyper-V sur cette machine. J'ai supprimé Hyper-V, installé VMware Server, exécuté la même VM. Les problèmes de synchronisation du temps ont disparu (< 100 ms de différence après un jour).
Ma configuration est la suivante :
HYV1 - HyperV machine (non domain) - sync irrelevant
AD1 - VM AD server on HYV1, sync'd to time.nist.gov. HyperV time sync off.
S1 - Physical machine, sync'd to domain.
S2 - Physical machine running HyperV, sync'd to domain.
V1 - Linux VM machine on S2, sync'd to AD1. No HyperV integration.
AD1 et S1 sont bien synchronisés - le graphique montre moins de 100ms de différence.
Le S2 dérive comme un fou. Voici un extrait du graphique en bande contre AD1 :
18:33:22 d:+00.0010138s o:+05.4101899s
18:33:24 d:+00.0010138s o:+05.4319765s
18:33:26 d:+00.0000000s o:+05.4788429s
18:33:28 d:+00.0000000s o:+05.6089942s
18:33:30 d:+00.0010138s o:+05.7240269s
18:33:32 d:+00.0000000s o:+06.0421911s
18:33:34 d:+00.0081104s o:+06.5613708s
18:33:37 d:+00.0000000s o:+06.9096594s
18:33:39 d:+00.0000000s o:+06.8867838s
18:33:41 d:+00.0010127s o:+06.8936401s
En 20 secondes, il a dérivé d'une seconde. Si je le réinitialise manuellement à 1s près, au bout de quelques minutes, il dérive à nouveau d'environ 2 secondes. Pendant la nuit, elle est passée de ~2s à ~5s. La VM Linux dans S2 est parfaitement synchronisée avec AD1.
Voici la configuration :
C:\Users\mgg>w32tm /dumpreg /subkey:Parameters
Value Name Value Type Value Data
------------------------------------------------------------
ServiceDll REG_EXPAND_SZ %systemroot%\system32\w32time.dll
ServiceMain REG_SZ SvchostEntry_W32Time
ServiceDllUnloadOnStop REG_DWORD 1
Type REG_SZ NT5DS
NtpServer REG_SZ ad01.mydomain ad02.mydomain
C:\Users\mgg>w32tm /dumpreg /subkey:Config
Value Name Value Type Value Data
-----------------------------------------------------------
FrequencyCorrectRate REG_DWORD 4
PollAdjustFactor REG_DWORD 5
LargePhaseOffset REG_DWORD 50000000
SpikeWatchPeriod REG_DWORD 900
LocalClockDispersion REG_DWORD 9
HoldPeriod REG_DWORD 5
PhaseCorrectRate REG_DWORD 1
UpdateInterval REG_DWORD 30000
EventLogFlags REG_DWORD 2
AnnounceFlags REG_DWORD 5
TimeJumpAuditOffset REG_DWORD 28800
MinPollInterval REG_DWORD 2
MaxPollInterval REG_DWORD 8
MaxNegPhaseCorrection REG_DWORD -1
MaxPosPhaseCorrection REG_DWORD -1
MaxAllowedPhaseOffset REG_DWORD 300
J'ai regardé le journal des événements, et à part les avertissements concernant la synchronisation (après qu'elle soit très désynchronisée), il n'y a pas d'autres avertissements.
Comment puis-je résoudre ce problème ? C'est la seule machine qui a ce problème. Toutes les autres machines (physiques et virtuelles) fonctionnent bien.
Edit : Pour clarifier : La VM (AD1) a l'intégration désactivée et se synchronise avec time.nist.gov. AD1 fonctionne bien. C'est la machine physique S1 qui ne peut pas se synchroniser avec AD1 et dérive partout. Tous les autres serveurs physiques sont capables de se synchroniser avec AD1 sans problème.
Mise à jour Il semble donc qu'il s'agisse d'un problème d'exécution de la VM. L'horloge glisse lentement avec la VM éteinte. Lorsqu'elle est allumée, elle commence immédiatement à perdre des secondes. J'ai modifié la VM pour qu'elle n'utilise que la moitié des ressources, et cela semble avoir légèrement atténué le problème, pour le moment. Merci.