Skip to main content

NTP - ESXi

 

ESXi-Hosts mit NTP synchronisieren

Diese kurze Anleitung zeigt dir, wie du deine VMware ESXi-Hosts (ab Version 7.0) auf deinen internen Zeitserver 10.100.10.27 einstellst – komplett via SSH/Konsole oder grafisch über den Host-Client. Sie basiert auf den Schritten, die du gerade auf ESXi_3 ausgeführt hast.


1. Voraussetzungen

  • Root- oder Administrator-Zugriff auf jeden ESXi-Host (SSH oder DCUI).
  • Der NTP-Server 10.100.10.27 antwortet auf UDP 123.
  • Firewall der Hosts lässt ausgehende Pakete auf Port 123/UDP zu.
  • (Optional) vSphere Host-Client für Komfort-Konfiguration.

2. NTP-Dienst aktivieren & starten

# Dienst aktivieren, falls noch nicht geschehen
esxcli system ntp set --enabled true

# Host auf den NTP-Server ausrichten
esxcli system ntp set --servers 10.100.10.27

# Dienst neu starten
/etc/init.d/ntpd restart

Im Host-Client findest du die gleiche Einstellung unter:
Manage → Time & Date → Edit → Network Time Protocol
Start and stop with host wählen
10.100.10.27 eintragen → Save


3. Firewall-Regel „ntpClient“ prüfen

esxcli network firewall ruleset list | grep -i ntpClient
# Falls hier "false" erscheint:
esxcli network firewall ruleset set -e true -r ntpClient

4. Erreichbarkeit testen

# Schneller UDP-Check (Timeout 2 s)
nc -u -z -w2 10.100.10.27 123 && echo "ok" || echo "blocked"

Alternativ ping, traceroute oder tcpdump-uw, um Paketverluste zu identifizieren.


5. Live-Synchronisation beobachten

watch -n 5 'ntpq -pn | tail -n +3'
  • * vor der IP = Host ist synchronisiert.
  • reach sollte nach wenigen Minuten bei 377 stehen.
  • .INIT. oder Connection refused → Schritte 2–4 kontrollieren.

6. Häufige Sonderfälle

6.1 Kernel-Drift / „adjtime < 0“ (Bug < ESXi 7.0 U3o)

Nach längerer Netzunterbrechung kann sich der Kernel-Clock-Dienst aufhängen. Mit vsish zurücksetzen:

vsish -e set /system/ntpclock/clockData 1
vsish -e get /system/ntpclock/clockData   # adjtime muss 0 sein
6.2 Active-Directory-Integration zieht eigene Zeit

Ist der Host einer AD-Domäne beigetreten, holt er per Kerberos Zeit vom Domain-Controller. Entweder:

  • den DC selbst als NTP-Quelle verwenden – oder
  • in /etc/likewise/lsassd.conf folgende Zeile setzen:
    sync-system-time = no
6.3 root dispersion > 1000 ms

Einige externe Zeitserver werden von ESXi verworfen, wenn ihre root dispersion zu hoch ist. Ab 7.0 U3 lässt sich der Grenzwert erhöhen:

cp /etc/ntp.conf /etc/ntp.conf.bak
echo "tos maxdist 15" >> /etc/ntp.conf.bak
esxcli system ntp set -f /etc/ntp.conf.bak
/etc/init.d/ntpd restart

7. Schnell-Checkliste (TL;DR)

  1. NTP-Dienst läuft und startet mit dem Host (esxcli system ntp get).
  2. Firewall-Regel ntpClient ist Enabled: true.
  3. 10.100.10.27 erreichbar über UDP 123.
  4. ntpq -pn zeigt * und reach = 377.
  5. Host ist auf aktuellem Patch-Stand (mind. 7.0 U3o / 8.0 U1d).

Stand: 10. Juni 2025 • getestet auf ESXi 7.0 U3o und 8.0 U2