Workshop 05
Raspberry Pi mit NTP-Zeitserver synchronisieren
Hintergrundwissen
Viele Dienste wie Active Directory, Cluster-Systeme oder Datenbanken sind auf eine exakte Zeit angewiesen. Die eingebaute CMOS-Uhr eines Raspberry Pi ist zu ungenau und weicht schnell ab.
Deshalb wird die Zeit über das Network Time Protocol (NTP) bezogen. Es gleicht die lokale Zeit mit Zeitservern aus dem Internet ab – präzise bis auf wenige Millisekunden.
Installation von NTP
sudo apt-get update
sudo apt-get install ntp
Zeitserver konfigurieren
Bearbeite die Konfigurationsdatei:
sudo nano /etc/ntp.conf
Füge die folgenden Schweizer NTP-Server ein:
server 0.ch.pool.ntp.org iburst
server 1.ch.pool.ntp.org iburst
server 2.ch.pool.ntp.org iburst
server 3.ch.pool.ntp.org iburst
server ntp.metas.ch iburst
NTP-Dienst neu starten
sudo systemctl restart ntp
Synchronisationsstatus prüfen
ntpq -p ausgeführt wird.
ntpq -p
Diese Ausgabe zeigt die verbundenen Zeitserver und deren Status. Wichtig sind folgende Spalten:
- remote: Adressen der Zeitserver
- st: Stratum-Level (niedriger = genauer)
- delay: Antwortzeit in ms
- offset: Differenz zur lokalen Zeit
- jitter: Schwankung zwischen den Abfragen
Was ist eine Schaltsekunde?
Die Erdrotation ist nicht konstant. Deshalb wird alle ~18 Monate eine zusätzliche Sekunde eingefügt – die Schaltsekunde. Ohne diese Korrektur würde UTC langfristig von der tatsächlichen Erdzeit abweichen.
Wie funktioniert NTP?
NTP gleicht die lokale Uhrzeit mit mehreren Servern ab. Es misst die Verzögerung der Datenpakete und berechnet so die echte Uhrzeit. Dabei gleicht es sich langsam an, um Sprünge zu vermeiden. Fehlerhafte Zeitserver werden automatisch erkannt und ausgeschlossen (Byzantinischer Algorithmus).