25.01.2012

Zeitsynchronisierung in einer ESX-Landschaft

Nachdem wir in letzter Zeit einige Probleme rund um die Uhrzeit sowohl in virtuellen als auch physikalischen Umgebungen hatten, möchten wir Ihnen einige Tipps & Tricks zu diesem Thema verraten.

Wozu benötigt man eigentlich eine korrekte Uhrzeit im Netzwerk?

Die Uhrzeit dient dem ESX-Host in erster Linie als Zeitstempel in Logfiles und für die Performancegraphen.
Nun könnte man sagen, dass diese Funktionen nicht unbedingt fehlen, wenn die Zeit auf den ESX-Servern nicht stimmt, doch man sollte auch bedenken, dass die Gastbetriebssysteme in den virtuellen Maschinen sich beim Starten die Zeit von ihrem Host holen.
Dies könnte dazu führen, dass ein Domänencontroller, eine Firewall, ein Exchange-Server oder jeder andere virtuelle Server mit der falschen Zeit startet.

Im letzten Jahr haben wir beispielsweise einen Exchange-Server gesehen, welcher keinen Secure Channel zu seinem Domänencontroller aufbauen konnte, da dieser für ihn mehr als fünf Minuten in der Vergangenheit war. Dies hat dazu geführt, dass ein komplettes Unternehmen sich nicht über Outlook am Exchange-Server anmelden konnte.

Ein zweites Beispiel sind verworfene Pakete eines ISA-Servers, welcher aus seiner Sicht TCP-Pakete aus der Zukunft erhalten hat.

Diese Probleme sind normalerweise schnell zu beheben, aber umso schwerer zu erkennen, da die Fehlerbeschreibungen oft in die Irre führen.

Wie hält man ESX-Server und die Dienste, die darauf laufen, zeitsynchron?

Grundsätzlich gilt hier: Besser alle haben die falsche Zeit als alle haben eine unterschiedliche Zeit.

Die Konfiguration auf dem ESX-Host ist denkbar einfach: Unter dem Konfigurationstab im vSphere-Client findet man einen Optionspunkt „Uhrzeitkonfiguration“ und darunter kann man einen NTP-Server eintragen.

In unserem Fall ist dies ein interner Zeitserver. Es könnte auch eine Internetzeitquelle sein, z.B. ptbtime1.ptb.de oder pool.ntp.org.
Wenn Sie dies auf all Ihren ESX-Hosts getan haben, sind Sie schon auf einem guten Weg.

Nun kommt aber der nächste Schritt, denn die Zeitsynchronisierung in den Gastbetriebssystemen wird nicht nur beim Starten vom ESX-Server durchgeführt, sondern die Zeit wird noch von zwei weiteren Komponenten beeinflusst:
Die Einstellung in den VMware-Tools

oder im Gastbetriebssystem selbst.

Unsere Empfehlung ist, das weitere Synchronisieren der Zeit den Gastbetriebssystemen nach dem Systemstart selbst zu überlassen und den Haken in den VMware-Tools zu deaktivieren, da es sonst leicht zu einem kontinuierlichen Springen der Uhrzeit kommen kann.

Normalerweise gleicht ein Windows-Gast seine Zeit mit dem PDC-Emulator (Primary Domain Controller) ab. Angenommen es handelt sich um einen physikalischen PDC, dessen Zeit sich um fünf Minuten vom ESX-Server, auf dem der Windows-Gast läuft, unterscheidet, entsteht die Situation, dass die Tools die Zeit fünf Minuten vorstellen und der PDC dasselbe wieder rückgängig macht.
Ein nicht sehr erstrebenswerter Zustand. Also lassen wir Windows sich im Weiteren selbst um seine Zeit kümmern.

Bei Linux kommt es auf die Kernelversion an, ob man dies möchte oder ob man eine Anpassung vornehmen muss. Es gibt nämlich ein unschönes Phänomen der davonlaufenden Zeit unter Linux-Gastbetriebssystemen.
Sollten Sie Probleme feststellen, können Sie Knowledgebase-Eintrag Nummer 1006427 unter http://kb.vmware.com für Abhilfe schaffende Kernelparameter zu Rate ziehen.
Sollte dies nicht zum gewünschten Ergebnis führen, behelfen wir uns normalerweise mit einem Cronjob, welcher regelmäßig einen ntpdate-Befehl ausführt.

Frank Tröger
Consultant

Unsere Blogs