VMware-Host-Zeitdrift

10

Wie stellt man sicher, dass Linux-Hosts, die auf VMware-Infrastruktur 3 oder VMware 3 ESXI ausgeführt werden, mit dem NTP-Server synchron bleiben? Ich habe festgestellt, dass ein Linux-Gast, der unter esx oder esxi läuft, die Tendenz hat, dass die Uhr in Zukunft driftet.

Wie stellt man sicher, dass die Zeit mit dem Zeitserver synchron bleibt? Muss ich VMware-Tools auf dem Linux-Host bereitstellen? und dann den Host mit dem NTP-Server synchronisieren, den Gast mit dem Host und mit dem NTP-Server?

biosFF
quelle

Antworten:

6

Das ist ein Problem, auf das ich gestoßen bin, und manchmal sind die Abweichungen so groß, dass der NTP-Dienst die Synchronisierung verweigert hat.

Ich habe festgestellt, dass bei der Installation der VMware-Tools auf dem Gast die Zeit automatisch mit der Zeit des Hosts synchronisiert wird.

Tomdeb
quelle
Ich habe auch festgestellt, dass ich clocksource = pit zur Grub-Kernel-Bootline hinzufügen musste.
Scott
9

Kurze Antwort: Richtige Kernel-Parameter und ntpd-Konfiguration

Lange Antwort: VMware verfügt über ein Best-Practice-Dokument, das in diesem Bereich ziemlich gut ist: http://kb.vmware.com/selfservice/microsites/search.do?language=de_DE&cmd=displayKC&externalId=1006427

Beachten Sie, dass dies einigen Informationen in diesem Thread etwas widerspricht. Zum Beispiel ist es ausdrücklich empfohlen nicht die vmware-Tools zu verwenden TIMESYNC mehr verfügen.

Kagenut
quelle
Ich fürchte, unterschiedliche Host- / Gastinstallationen erfordern eine unterschiedliche Kombination von Lösungen. Ich habe in einem anderen Job mit einer virtuellen Box gearbeitet, mit der wir das Timesync-Problem einfach nicht beheben konnten, egal was wir versucht haben.
Staticsan
4

Ja, die Installation von VMware-Tools für das Uhrensynchronisierungstool ist wichtig, reicht jedoch möglicherweise nicht aus.

Was für mich funktioniert hat, ist das Hinzufügen des Kernel-Boot-Parameters:

clock=pit notsc

Dadurch wird die Taktquelle auf einen Wert eingestellt, der von VMware aktualisiert wird, und der Zeitsynchronisierungszähler wird deaktiviert.

Vielleicht nicht verwandt, aber bei aktuell genug Kerneln füge ich immer auch hinzu:

divider=10

Dies reduziert die CPU-Auslastung der Gäste erheblich.

Beide sind auch hilfreich, wenn oder ohne dass VMware-Tools installiert sind, und helfen dabei, die Uhren besser synchron zu halten (anstatt ständig zwischen einer schnell treibenden Uhr und dem Uhrensynchronisierungsdienst der VMware-Tools zu kämpfen).

jmanning2k
quelle
3

Ja, Sie müssen vmware-tools auf dem VM-Client installieren. Anschließend können Sie im Bildschirm "Optionen" der VM die Schaltfläche "Gastzeit mit Host synchronisieren" aktivieren.

David Mackintosh
quelle
1

Es gibt eine Antwort, die bereits ausgewählt ist (und die beste Antwort, da VMware-Tools Ihnen so viele andere Vorteile bieten), aber eine andere Option besteht auch darin, reguläre ntpdate-Befehle im Cron auszuführen. Dies korrigiert Ihre Uhr, verwaltet jedoch nicht die Uhrendrift, sondern funktioniert zur Not.

Matt Simmons
quelle
1

Seien Sie vorsichtig mit ntpdate oder rdate. Es ist normalerweise keine gute Idee, die Zeit auf die harte Tour zu verschieben, da viele Serveranwendungen von einer kontinuierlichen Zeit abhängen.

Dovecot zum Beispiel wird nur beendet, wenn eine große Zeitverschiebung festgestellt wird.

Sven
quelle
Verwenden Sie ntpdate außerdem niemals in Verbindung mit VMWares eigener Zeitsynchronisierungsfunktion. Es kann vorkommen, dass VMWare eine signifikante Drift-Base-Verbindung herstellt, nachdem ntpdate die Uhr aktualisiert hat, wodurch die Dinge so ungenau werden, wie sie nur in die andere Richtung weisen.
David Spillett
1

Wenn Sie in den Gästen einen "tickless" -Kernel verwenden (2.6.22+ ist standardmäßig IIRC), ist die Zeitverschiebung einfacher zu verwalten. Ich habe festgestellt, dass die Verwendung von NTP genauer ist als das VMWare-eigene Tool, aber ich habe dies nicht wissenschaftlich getestet.

Um zu verhindern, dass NTP einfach aufgibt, wenn die Last durch eine hohe Last oder ein anderes Problem zu weit driftet (dies ist bei den neueren Kerneln viel seltener, kann aber dennoch vorkommen), stellen Sie sicher, dass sich die Zeile "Tinker Panic 0" oben / in der Nähe der Oberseite befindet Ihrer ntp.conf.

Synchronisieren Sie die Uhr Ihres Host-Computers mit öffentlichen Uhren und die VMs mit dem Host. Lassen Sie nicht alle VMs separat mit öffentlichen Zeitservern in Kontakt treten.

Außerdem: Verwenden Sie nicht gleichzeitig mit NTPD die VMWare-eigene Uhr-Gastsynchronisierung. Die beiden stolpern übereinander und lassen die Uhr Ihrer VM in einem undefinierten und unzuverlässigen Zustand zurück.

David Spillett
quelle
0

Wenn Sie den NTP-Dämon auf Ihrem Linux-Gast als Client installieren , wird regelmäßig überprüft, ob Ihre Uhren auf lange Sicht nicht driften. Sie müssen keine ausgefallene Host-Gast-Synchronisierung durchführen, da sich der Server nur im Internet befindet. :) :)

joshk0
quelle
1
NTP in einer VM wird dieses Problem höchstwahrscheinlich NICHT beheben. Das Problem beim Ausführen als VM besteht darin, dass Sie nicht unbedingt eine konsistente Anzahl von Ticks pro CPU-Sekunde erhalten. Unter diesen Bedingungen gibt ntp Synchronisierungsversuche normalerweise ziemlich schnell auf. Sie müssen entweder den Weg der VMware-Tools gehen oder einen groben 'rdate -s $ SERVER' von cron ausführen, um die Uhr herumzureißen.
David Mackintosh
0

Dies könnte nützlich sein ..

Boot-Parameter des Gastkerns:

 clock=pit
rkthkr
quelle