peshkova - Fotolia
Die richtige Strategie zur vSphere-Zeitsynchronisation
In IT-Umgebungen ist eine synchrone Systemzeit enorm wichtig. Virtuelle Umgebungen bilden hierbei nicht nur keine Ausnahmen, sondern erfordern eine zusätzliche Betrachtungsebene.
Warum eigentlich ist eine synchrone Systemzeit so wichtig? An erster Stelle steht hierbei die Integration mit einem vorhandenen Verzeichnisdienst, speziell das „Verfallsdatum“ von Kerberos-Tickets. Hinkt zum Beispiel die Zeit eines Windows-Domänenmitglieds der des Domänencontrollers – genauer des zeitgebenden PDC-Emulators – um mehr als 5 Minuten hinterher oder geht entsprechend voraus, steht kein sicherer Kanal mehr zur Verfügung und die Anmeldung scheitert. Auch in einer rein LDAP-basierten SSO-Domäne, wie sie der VMware Platform Services Controller (PSC) als Komponente der vCenter-Plattform bereit stellt, spielen Kerberos-Tickets eine wichtige Rolle.
Eine synchrone Systemzeit ist aber auch für das Aufsetzen von Host-Clustern wichtig, sowohl allgemein, als auch im Hinblick auf Virtualisierungs-Cluster, speziell vSphere HA. So tauschen etwa ESXi-Hosts in einem HA-Setup untereinander in bestimmten Zeitintervallen Heartbeat-Signale aus. Hierbei können aufgrund einer nicht-synchronen Zeit verzögert eintreffenden Taktsignale dazu führen, dass ein Master-Host einen Slave (oder umgekehrt) wegen der zu hohen Latenz als „failed“ einstuft.
Eine synchrone Zeit spielt zudem bei Cluster-Applikationen, deren Datenbestand häufigen Änderungen unterliegt (zum Beispiel Datenbanken) eine wichtige Rolle. Außerdem prüfen Verzeichnisdienste wie Active Directory bei einer Replikation anhand des Zeitstempels, welches Objekt aktueller ist. Zudem dient die Uhrzeit eines ESXi-Hosts als Zeitstempel für die von diesen generierten Log-Dateien sowie für die Performance-Graphen.
Möglichkeiten der ESXi-Zeitsynchronisation
In VMware-Umgebungen gibt es mehrere Möglichkeiten, die Zeit zwischen ESXi-Hosts, virtuellen Maschinen, und vCenter-Servern synchron zu halten. Doch wo liegt eigentlich das Problem? Jeder PC bezieht seine Zeit beim Start aus einer Referenzquelle (BIOS/Systemuhr, NTP-Server etc.) und schreibt sie zur Laufzeit mit Hilfe der Interrupt-Timers „entlang“ der gegeben Taktzyklen fort.
So weit so gut. Virtuelle Maschine jedoch können im Gegensatz zu physischen Maschinen ihren Systemtakt nicht in einem gleichmäßigen Rhythmus halten, wenn Sie über den CPU-Scheduler des Hypervisors nicht kontinuierlich mit Systemressourcen versorgt werden, etwa dann, wenn der Host nicht genügend Ressourcen zur Verfügung stellt. Letzteres ist etwa dann der Fall, wenn der Host selbst „in Schwierigkeiten“ ist, wenn die VM mit Hilfe der in VMware vorhandenen Instrumente zur Ressourcensteuerung gedrosselt wird oder wenn der CPU-Scheduler selbst für ein ökonomisches Verwalten von Ressourcen sorgt.
Die Bedeutung eines Zeitservers
Das Instrument der Wahl, die exakte Zeit aus einer Referenzquelle zu beziehen, heißt NTP-Server. Allerdings ist es mit dem einfachen Eintragen eines NTP-Servers nicht immer getan. Da sowohl ein ESXi-Host als auch vCenter oder eine VM als NTP-Client konfiguriert werden können und mehre Zeitquellen im Netzwerk unbedingt zu vermeiden sind, kommt man nicht umhin, sich eine geeignete Strategie zu überlegen.
Ob sich der im lokalen Netzwerk bereitgestellte Zeitserver selbst bei einer Referenzquelle im Internet bedient oder nur als Referenzquelle für die übrigen „Mitspieler“ dient, ist nur dann wichtig, wenn zeitkritische Daten mit anderen Netzwerken ausgetauscht werden müssen. Dann ist es ratsam, einen Server in der eigenen Umgebung als NTP-Server (für das eigene Netzwerk) und als NTP-Client zu einem öffentlich zugänglichen Referenz-Zeitserver im Internet zu konfigurieren, wie zum Beispiel der Atomzeit vom Physikalisch-Technischen Bundesamt (pcbtime1.ptb.de).
In einer vSphere-Umgebung lässt sich jede Komponente als NTP-Client einrichten, also ESXi-Hosts, vCenter Server und VMs. Zudem können Hosts oder physische und virtuelle Domänencontroller als Zeitserver fungieren.
Einen Zeitserver konfigurieren
Das Eintragen eines NTP-Servers können Administratoren wahlweise im Host-Client oder im Web-Client erledigen. Im ersten Fall arbeitet der NTP-Daemon im ESXi-Host dann als NTP-Client gegenüber einen Referenz-Zeitserver und verteilt die Zeit je nach Konfiguration auch an die eigenen VMs.
Im Host-Client findet sich die Funktion bei markiertem Host unter System / Uhrzeit und Datum, im Web Client bei markiertem Host im Reiter Konfiguration im Abschnitt System unter Uhrzeitkonfiguration. Der Vorgang beinhaltet zwei Schritte. Im Ersten muss der Dienst selbst gestartet, im Zweiten eine Startrichtlinie bestimmt werden, wie zum Beispiel Mit dem Host starten und beenden. Zudem kann der Admin an dieser Stelle die Ortszeit des Host- oder Web Clients einstellen. Ein EXSi-Host arbeitet nämlich intern stets mit UTC und wertet keine Zeitzonen-Informationen aus. Das führt in der Regel zu einer Diskrepanz zwischen den Zeitstempeln der Log-Dateien und denen zum Beispiel in der Ereignisanzeige im jeweiligen Client, derer man sich bewusst sein muss.
Auch vCenter kann seine Zeit von einem NTP-Server beziehen, was Administratoren zum Beispiel bei der Linux-basierten vCenter-Appliance nicht im Web Client, sondern an der Appliance Management-Konsole (HTTPS, Port: 5480, User root) im Abschnitt Time konfigurieren können. Andererseits ist die vCSA auch eine gewöhnliche VM und kann, sofern die VMware Tools installiert sind, ihre Zeit beim Start auch vom Host beziehen.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!