Das Network Time Protocol (NTP) ist ein Protokoll, mit dem die Computersystemuhr automatisch über ein Netzwerk synchronisiert wird. Die Maschine kann die Systemuhr haben Koordinierte Weltzeit (UTC) verwenden, anstatt lokale Zeit.
Die Aufrechterhaltung der genauen Zeit auf Linux-Systemen, insbesondere auf Servern, ist aus vielen Gründen eine wichtige Aufgabe. In einer vernetzten Umgebung ist beispielsweise eine genaue Zeitmessung erforderlich, um genaue Zeitstempel in Paketen und Systemprotokollen für die Ursachenanalyse, die Bestimmung des Auftretens von Problemen und das Auffinden von Korrelationen zu erhalten.,
Chrony ist jetzt das Standard – NTP-Implementierungspaket für die neuesten Versionen von Linux-Betriebssystemen wie CentOS, RHEL, Fedora und Ubuntu/Debian und ist standardmäßig vorinstalliert. Das Paket besteht aus chronyd, einem Daemon, der im Userspace ausgeführt wird, und chronyc, einem Befehlszeilenprogramm zur Überwachung und Steuerung von chronyd.
Chrony ist eine vielseitige NTP-Implementierung und eignet sich für eine Vielzahl von Bedingungen (siehe Vergleich der Chrony Suite mit anderen NTP-Implementierungen)., Es kann verwendet werden, um die Systemuhr mit NTP-Servern (als Client fungieren), mit einer Referenzuhr (z. B. einem GPS-Empfänger) oder mit einer manuellen Zeiteingabe zu synchronisieren. Es kann auch als NTPv4-Server (RFC 5905) oder Peer verwendet werden, um anderen Computern im Netzwerk einen Zeitdienst bereitzustellen.
In diesem Artikel erfahren Sie, wie Sie die Serverzeit mit NTP unter Linux mit chrony synchronisieren.
Installieren von Chrony auf Linux-Server
In den meisten Linux-Systemen ist der Befehl chrony standardmäßig nicht installiert., Um es zu installieren, führen Sie den folgenden Befehl aus.
$ sudo apt-get install chrony $ sudo yum install chrony $ sudo dnf install chrony
Sobald die Installation abgeschlossen ist, starten Sie den Chrony-Dienst und aktivieren Sie ihn automatisch beim Systemstart.
# systemctl enable --now chronyd# systemctl status chronyd
Um zu überprüfen, ob chrony jetzt einwandfrei läuft und um die Anzahl der damit verbundenen Server und Peers anzuzeigen, führen Sie Folgendes aus chronyc Befehl.,
# chronyc activity
Chrony-Synchronisation überprüfen
Um Informationen anzuzeigen (Liste der verfügbaren Server, Status und Offsets von der lokalen Uhr und der Quelle) über die aktuelle Zeitquellen, auf die chronyd zugreift, führen Sie den folgenden Befehl mit dem Flag -v
zeigt die Beschreibung für jede Spalte an.,
# chronyc sourcesOR# chronyc sources -v
In Bezug auf den vorherigen Befehl, um weitere nützliche Informationen für jede der derzeit von chronyd untersuchten Quellen anzuzeigen (z. B. Driftrate und Offset-Schätzprozess).), verwenden Sie den Befehl sourcestats.
# chronyc sourcestatsOR# chronyc sourcestats -v
um Zu überprüfen, fest tracking, führen Sie den folgenden Befehl.,
# chronyc tracking
In der Ausgabe dieses Befehls gibt die Referenz-ID aus allen verfügbaren Servern den Namen (oder die IP-Adresse) des Servers an, mit dem der Computer derzeit synchronisiert ist.
Chrony-Zeitquellen konfigurieren
Bei der Installation eines Linux-Betriebssystems in der Cloud sollten auf Ihrem System einige Standardserver oder ein Pool von Servern während des Installationsprozesses hinzugefügt werden., Um die Standardserver hinzuzufügen oder zu ändern, öffnen Sie die configuratioon-Datei zur Bearbeitung:
# vim /etc/chrony.confOR# vim /etc/chrony/chrony.conf
Sie können entweder mehrere Server mit der Server-Direktive hinzufügen, wie gezeigt.
oder verwenden Sie in den meisten Fällen am besten ntppool.org um einen NTP-Server zu finden. Dadurch kann das System versuchen, die nächstgelegenen verfügbaren Server für Sie zu finden., Verwenden Sie zum Hinzufügen eines Pools die Pool-Direktive:
pool 0.pool.ntp.org burst
In der Datei können Sie viele andere Optionen konfigurieren. Starten Sie den Chrony-Dienst neu, nachdem Sie Änderungen vorgenommen haben.
$ sudo systemctl restart chronyOR# systemctl restart chronyd
Um Informationen zu den aktuellen Zeitquellen anzuzeigen, die chronyd abfragt, führen Sie den folgenden Befehl erneut aus.,
# chronyc sources
To check chrony tracking status, run the following command.,
# chronyc tracking
Um die aktuelle Uhrzeit auf Ihrem System anzuzeigen, überprüfen Sie, ob die Systemuhr synchronisiert ist und ob NTP tatsächlich aktiv ist, führen Sie den Befehl timedatectl aus:
# timedatectl