Nomad_Soul - Fotolia

Zeitsynchronisation für vSphere: Zeitabgleich für VMs

Die Zeitsynchronisation spielt in vSphere-Umgebungen eine große Rolle. Mit diesen Tipps lässt sich die Systemzeit von ESXi-Hosts und VMs synchron halten.

Das Gast-Betriebssystem einer virtuellen Maschine bezieht ihre Zeit beim Starten oder dem Aufwecken aus dem Suspend-Modus standardmäßig vom ESXi-Host, wenn die VMware Tools installiert sind.

Diese re-synchronisieren die VM-Zeit einerseits periodisch, andererseits aber zusätzlich auch ereignisgetrieben.

Möchte man stattdessen, dass eine virtuelle Maschine ihre Systemzeit als NTP-Client selbst bezieht, kann das VMware-Tools-basierte Synchronisieren in den Einstellungen der VM per Check-Box abgeschaltet werden, alternativ deaktiviert man die VMware Tools einfach ganz.

Die Einstellungen finden sich im Web Client im Dialog Einstellungen bearbeiten der VM im Reiter VM Optionen im Abschnitt VMware Tools bei der Option Uhrzeit.

Zeitsynchronisation über die VMware Tools.
Abbildung 1: Zeitsynchronisation über die VMware Tools.

Hierdurch lässt sich zwar das periodische Synchronisieren abstellen, nicht aber das ereignisgetriebene, denn in bestimmten Konstellationen, etwa bei Snapshots, Systemstarts oder vMotion-Migrationen, gleicht die VM trotz deaktiviertem Haken die Zeit dann immer noch über die Tools mit dem ESXi-Host ab. Um das Verhalten gänzlich abzustellen, muss die vmx-Datei der VM wie folgt ergänzt werden:

tools.syncTime = "0"

time.synchronize.continue = "0"

time.synchronize.restore = "0"

time.synchronize.resume.disk = "0"

time.synchronize.shrink = "0"

time.synchronize.tools.startup = "0"

time.synchronize.tools.enable = "0"

time.synchronize.resume.host = "0"

Übrigens setzen die VMware Tools die Zeit beim Re-Syncen nicht einfach stumpf neu, sondern beschleunigen lediglich den Interrupt-Timer sozusagen allmählich, bis die Zeit wieder synchron ist. Die VMware Tools können aber nur eine langsam laufende Uhr in der VM schneller laufen lassen und nicht langsamer. VMware beschreibt zum Beispiel in seiner Knowledge Base unter anderem das Phänomen einer davoneilenden Zeit bei Linux-Gästen. Diese lässt sich dann zum Beispiel über einen cronjob einfangen, der regelmäßig ein ntpd-Update ausführt. VMware hat Probleme im Zusammenhang mit der Zeitsynchronisation erkannt und stellt dazu in seiner Knowledge Base einer Reihe interessanter KB-Beiträge bereit, wie etwa KB1006427 oder KB1318.

Problematisch ist ein Re-Synchronisieren der VM-Zeit über die VMware Tools auch dann, wenn im Gastsystem zum Beispiel eine Datenbank oder eine andere zeitkritische Cluster-Applikation läuft. In einem solchen Fall können im Extremfall Transaktionen verloren gehen. Meist ist es für die VM daher besser, Zeitinformationen selbst von einem NTP-Server zu beziehen. Existiert zudem im Netzwerk ein Domänencontroller, kann eine (Windows-)VM, sofern sie Mitglied der Domäne ist, die Zeit von diesem erhalten.

Zeitsynchronisation von ESXi mit einem Domänencontroller

Meist ist es am besten, wenn die ESXi-Hosts ihre Zeit von einem NTP-Server beziehen. Hierbei müssen Admins allerdings entscheiden, ob die Zeit von einen NTP-Server im Internet stammen soll oder der NTP-Server im eigenen Netzwerk steht und seinerseits NTP-Client spielt, wie zum Beispiel ein Windows-Domänencontroller. Soll nämlich der ESXi-Host einen NTP-Server im Internet befragen, muss er entweder über Zugang zum Internet verfügen oder im Proxy-Modus konfiguriert sein, was nicht immer wünschenswert ist.

Existiert in der eigenen Umgebung hingegen bereits ein Dänencontroller, kann dieser als Zeitquelle für den ESXi-Host eintragen werden. Gleichzeitig können sich Windows-VMs ihre Zeit als Domänen-Mitglieder von diesem holen und erhalten beim Anmelden ein Kerberos-Ticket mit Datum und Uhrzeit. Ein ESXi-Host hingegen erhält, sofern er nicht Mitglied der Domäne ist, nicht ohne weiteres Zeitinformationen vom PDC.

Um das zu ändern, müssen Admins am Domänencontroller mit dem Tool Active Directory Benutzer und Computer zunächst herausfinden, wer die Rolle des PDC-Emulators bedient. Hierzu wählt man im Kontextmenü der Domäne den Eintrag Operation Masters (Betriebsmaster) aus und navigiert anschließend zum Reiter PDC. In kleinen Umgebungen mit nur einem Domänencontroller übernimmt dieser freilich auch die FSMO-Rolle.

 Ermittlung des PDC zur Zeitsynchronisation.
Abbildung 2: Ermittlung des PDC zur Zeitsynchronisation.

Danach muss Regedit gestartet werden und im Schlüssel [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time zum Unterschlüssel \Parameters navigiert werden. Hier ändert man gegebenenfalls den Eintrag bei Type von NT5DS auf NTP und trägt dann den zu verwenden NTP-Server beim Eintrag NTPServer ein.

Regedit-Einstellungen zur Zeitsynchronisation.
Abbildung 3: Regedit-Einstellungen zur Zeitsynchronisation.

Anschließend ändert man noch im Unterschlüssel [..\W32Time\Config] den Eintrag bei AnnounceFlags von 10 auf 5 (DomainRole =5) und startet dann den Zeitdienst mit net stop w32time und net start w32 time neu. Zum Anstoßen der Zeitsynchronisation mit dem neuen NTP-Server genügt dann ein w32tm /resync /rediscover.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Erfahren Sie mehr über Containervirtualisierung