Windows Server kann die NTP-Zeit nicht zuverlässig synchronisieren

41

Warum scheint Windows Server (2008 in diesem Fall, aber ich habe das gleiche Problem im Jahr 2003 gesehen) Probleme mit der Zeitsynchronisierung zu haben? Ich habe diesen Fehler in meinem Systemprotokoll auf verschiedenen Servern gesehen:

Der Zeitdienst hat die Systemzeit 86400 Sekunden lang nicht synchronisiert, da keiner der Zeitdienstanbieter einen verwendbaren Zeitstempel bereitgestellt hat. Der Zeitdienst aktualisiert die lokale Systemzeit erst, wenn eine Synchronisierung mit einer Zeitquelle möglich ist. Wenn das lokale System als Zeitserver für Clients konfiguriert ist, wird keine Zeitquelle für Clients mehr angezeigt. Der Zeitdienst wird weiterhin versuchen, die Zeit mit seinen Zeitquellen zu synchronisieren. Überprüfen Sie das Systemereignisprotokoll auf andere W32time-Ereignisse, um weitere Details zu erhalten. Führen Sie 'w32tm / resync' aus, um eine sofortige Zeitsynchronisation zu erzwingen.

Unter "Systemsteuerung", "Datum und Uhrzeit" sind die Einstellungen für die Internetzeit so festgelegt, dass sie synchronisiert werden time-nw.nist.gov. Die letzte erfolgreiche Synchronisierung war vor 2 Tagen, was auf ein Problem hinweist. Aber wenn ich in diesem Dialogfeld auf die Schaltfläche "Jetzt aktualisieren" klicke, wird es tatsächlich mit der Zeit aktualisiert!

Warum kann Windows Server die Zeitsynchronisierung über NTP nicht zuverlässig im Hintergrund durchführen, ohne dass ich manuell eingreife? Was mache ich falsch?

Jeff Atwood
quelle
Du bist nicht allein Jeff
jkp
1
Dies scheint für Domänencontroller möglicherweise keine Option zu sein.
1
Willkommen in der Windows-SNTP-Hölle. DLL Hell ist gleich um die Ecke und es gibt eine Straßenbahn in der halben Stunde. Das Feinkostgeschäft ist hier allerdings besser.
Scott Alan Miller
2
Haben Sie einen anderen NTP-Server ausprobiert? us.pool.ntp.org
stukelly
Vielen Dank, dass Sie dies gepostet haben. Wenn jemand in Windows Land zuhört, machen Sie uns die grundlegende Netzwerkkonfiguration so einfach! Es gibt bestimmte Dinge, die unsere Server immer benötigen, z. B. eine genaue Zeit in Bezug auf die Zeitzone. Es gibt möglicherweise nicht-triviale Überlegungen, die mir nicht bekannt sind, aber dies ist ein immer wiederkehrendes Problem, und WSUS bricht ab, wenn es nicht markiert ist.
Cawflands

Antworten:

18

Jeff, ich habe diesen Artikel gefunden . Könnte für Sie hilfreich sein. Sie haben das vielleicht schon gelesen, aber ich dachte, es ist einen Versuch wert.

HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Config \ AnnounceFlags

Dieser Registrierungseintrag steuert, ob der lokale Computer als zuverlässiger Zeitserver markiert ist (dies ist nur möglich, wenn der vorherige Registrierungseintrag wie oben beschrieben auf NTP gesetzt ist). Ändern Sie diesen REG_DWORD-Wert von 10 auf 5 hier.

UPDATE Jeff zufolge ist http://support.microsoft.com/kb/816042 die beste Referenzquelle

Joseph
quelle
komisch, also kennst du es als "nicht zuverlässig", lol. OK, ich habe diese Änderung vorgenommen. Mal sehen, ob sie hilft.
Jeff Atwood
4
KB 816042: "... und verwendet die eingebaute CMOS-Uhr (Complementary Metal Oxide Semiconductor)" - lieben Sie nicht nur technische Redakteure?
Duncan Smart
14

Windows Time Agent ist ein kostenloses Systemsteuerungs-Applet zum Konfigurieren der NTP-Server- / Synchronisationsfähigkeit von Windows. Es fungiert als Front-End für die Registrierungseinstellungen und ermöglicht es Ihnen, mehrere NTP-Server zu konfigurieren und in Echtzeit zu sehen, welche Ergebnisse Sie von ihnen erhalten.

Nicht viele Leute kennen diese besonders praktische (und kostenlose) Software, aber sie muss auf den von mir verwalteten Servern installiert werden.

crb
quelle
Vielen Dank Kumpel. Windows Time Agent ist ein Juwel. Auf allen Servern, die ich auch verwalte, muss es nur noch installiert werden.
paracycle
5

Die Art und Weise, wie Microsoft vorschlägt, die Zeit zu synchronisieren, wird unten dargestellt.

M $ Zeit!

Warum kann Windows NTP nicht zuverlässig synchronisieren? Dies hängt damit zusammen, wie viel Zeit in einer Domänenumgebung eingerichtet wird. Aus diesem Technet-Artikel:

Wenn der Computer ein Mitgliedsserver oder eine Arbeitsstation in einer Domäne ist, folgt er standardmäßig der AD DS-Hierarchie und synchronisiert seine Zeit mit einem Domänencontroller in seiner lokalen Domäne, auf dem derzeit der Windows-Zeitdienst ausgeführt wird.

Sie gehen hier "gegen den Strich", indem Sie versuchen, Mitgliedsserver so einzurichten, dass sie die NTP-Zeit abrufen.

Das "Richtige" (d. H. Die Microsoft-Methode) wäre, die Zeit wie in der obigen Abbildung dargestellt einzurichten und den PDC-Emulator mit einem zuverlässigen externen Zeitdienst wie pool.ntp.org und den Domänencontrollern zu synchronisieren Mit dem PDC-Emulator synchronisieren und dann die Mitgliedsserver und PCs automatisch von einem Domänencontroller synchronisieren lassen.

Ich habe in dieser Antwort detailliert beschrieben, wie die Zeit festgelegt wird, um auf diese Weise zu arbeiten.

Brett Larson
quelle
Ja, wir wollten oder brauchten keinen Domänencontroller, nur ein paar Peerserver.
Jeff Atwood
Oh, ich nahm an, dass Sie Teil einer Domain sind. Ich denke, Sie sollten in der Lage sein, alle Server mit Hilfe der von pool.ntp.org mit poll verknüpften Befehle einzurichten. Vielleicht ist time.windows keine großartige Zeitquelle. Ich würde es noch einmal mit einem NTP-Pool versuchen, da er ungefähr 3000 globale Server und ungefähr 900 in Nordamerika hat!
Brett Larson
Wir haben es nie geschafft, es zuverlässig zum Laufen zu bringen. Ich glaube , Sie haben recht: zuverlässige Zeitsynchronisierung in Windows Server ist unmöglich ohne einen Domänencontroller. Welches ist total lahm.
Jeff Atwood