So richten Sie die Zeitsynchronisation unter Ubuntu ein 16.04

Einführung

Eine genaue Zeitmessung ist zu einer entscheidenden Komponente moderner Softwarebereitstellungen geworden. Unabhängig davon, ob sichergestellt wird, dass die Protokolle in der richtigen Reihenfolge aufgezeichnet werden oder die Datenbankaktualisierungen korrekt angewendet werden, kann eine nicht synchronisierte Zeit zu Fehlern, Datenbeschädigungen und anderen schwerwiegenden Problemen beim Debuggen führen.

In Ubuntu 16.04 ist die Zeitsynchronisation integriert und standardmäßig über den Zeitsynchronisationsdienst von systemd aktiviert. In diesem Artikel werden einige grundlegende zeitbezogene Befehle behandelt, überprüft, ob timesyncd aktiv ist, und es wird erläutert, wie ein alternativer Netzwerkzeitdienst installiert wird.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, benötigen Sie einen Ubuntu 16.04-Server mit einem Benutzer ohne Rootberechtigung, der sudo-fähig ist (siehe https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-). 16-04 [dieses Ubuntu 16.04 Server Setup Tutorial].

Grundlegende Zeitbefehle navigieren

Der grundlegendste Befehl zum Ermitteln der Uhrzeit auf Ihrem Server lautet "+ Datum +". Jeder Benutzer kann diesen Befehl eingeben, um Datum und Uhrzeit auszudrucken:

date
OutputWed Apr 26 17:44:38  2017

Am häufigsten verwendet Ihr Server standardmäßig die UTC-Zeitzone, wie in der obigen Ausgabe hervorgehoben. UTC ist die koordinierte Weltzeit, die Zeit bei null Grad Länge. Durch die konsequente Verwendung der Weltzeit können Sie Verwirrung stiften, wenn sich Ihre Infrastruktur über mehrere Zeitzonen erstreckt.

Wenn Sie andere Anforderungen haben und die Zeitzone ändern müssen, können Sie den Befehl + timedatectl + verwenden.

Listen Sie zunächst die verfügbaren Zeitzonen auf:

timedatectl list-timezones

Eine Liste der Zeitzonen wird auf Ihrem Bildschirm gedruckt. Sie können + LEERTASTE drücken, um nach unten zu blättern, und` + b + `, um nach oben zu blättern. Wenn Sie die richtige Zeitzone gefunden haben, notieren Sie sich diese und geben Sie "+ q +" ein, um die Liste zu verlassen.

Stellen Sie nun die Zeitzone mit + timedatectl set-timezone + ein und achten Sie darauf, den hervorgehobenen Teil unten durch die Zeitzone zu ersetzen, die Sie in der Liste gefunden haben. Sie müssen "+ sudo " mit " timedatectl +" verwenden, um diese Änderung vorzunehmen:

sudo timedatectl set-timezone

Sie können Ihre Änderungen überprüfen, indem Sie + date + erneut ausführen:

date
OutputWed Apr 26 13:55:45  2017

Die Abkürzung für die Zeitzone sollte den neu gewählten Wert widerspiegeln.

Nachdem wir nun wissen, wie man die Uhr überprüft und die Zeitzonen einstellt, stellen wir sicher, dass unsere Zeit korrekt synchronisiert wird.

Zeitsynchronisation mit timedatectl steuern

Bis vor kurzem wurde der Großteil der Netzwerkzeitsynchronisierung vom Network Time Protocol-Daemon oder ntpd ausgeführt. Dieser Server stellt eine Verbindung zu einem Pool anderer NTP-Server her, die ihn mit konstanten und genauen Zeitaktualisierungen versorgen.

Die Standardinstallation von Ubuntu verwendet jetzt timesyncd anstelle von ntpd. timesyncd stellt eine Verbindung zu denselben Zeitservern her und funktioniert ungefähr auf dieselbe Weise, ist jedoch leichter und stärker in systemd und die Arbeitsweise von Ubuntu integriert.

Wir können den Status von timesyncd abfragen, indem wir + timedatectl + ohne Argumente ausführen. In diesem Fall brauchen Sie "+ sudo +" nicht zu verwenden:

timedatectl
OutputLocal time: Wed 2017-04-26 17:20:07 UTC
 Universal time: Wed 2017-04-26 17:20:07 UTC
       RTC time: Wed 2017-04-26 17:20:07
      Time zone: Etc/UTC (UTC, +0000)


RTC in local TZ: no

Hiermit werden die Ortszeit, die Weltzeit (die möglicherweise mit der Ortszeit übereinstimmt, wenn Sie nicht von der UTC-Zeitzone umgeschaltet haben) und einige Informationen zum Netzwerkzeitstatus ausgedruckt. + Network time on: yes + bedeutet, dass timesyncd aktiviert ist und + NTP synchronisiert: yes + zeigt an, dass die Zeit erfolgreich synchronisiert wurde.

Wenn timesyncd nicht aktiviert ist, aktivieren Sie es mit timedatectl:

sudo timedatectl set-ntp on

Führen Sie + timedatectl + erneut aus, um den Netzwerkzeitstatus zu bestätigen. Es kann eine Minute dauern, bis die eigentliche Synchronisierung abgeschlossen ist, aber schließlich sollten sowohl "+ Network time on: " als auch " NTP synchronized: " " yes +" lauten.

Wechsel zu ntpd

Obwohl timesyncd für die meisten Zwecke in Ordnung ist, kann es sein, dass einige Anwendungen, die auch nur geringfügige zeitliche Störungen aushalten, von ntpd besser bedient werden, da fortschrittlichere Techniken verwendet werden, um die Systemzeit konstant und schrittweise auf dem neuesten Stand zu halten.

Vor der Installation von ntpd sollten wir timesyncd deaktivieren:

sudo timedatectl set-ntp no

Stellen Sie sicher, dass timesyncd ausgeschaltet ist:

timedatectl

Suchen Sie in der Ausgabe nach + Netzwerkzeit ein: kein +. Dies bedeutet, dass "+ timesyncd " gestoppt wurde. Wir können jetzt das ` ntp`-Paket mit` + apt-get` installieren:

sudo apt-get install ntp

ntpd wird nach der Installation automatisch gestartet. Sie können ntpd nach Statusinformationen abfragen, um zu überprüfen, ob alles funktioniert:

sudo ntpq -p
Outputremote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
-makaki.miuku.ne 210.23.25.77     2 u   45   64    3  248.007   -0.489   1.137
-69.10.161.7     144.111.222.81   3 u   43   64    3   90.551    4.316   0.550
+static-ip-85-25 130.149.17.21    2 u   42   64    3   80.044   -2.829   0.900
+zepto.mcl.gg    192.53.103.108   2 u   40   64    3   83.331   -0.385   0.391

+ ntpq + ist ein Abfragetool für ntpd. Das + -p + Flag fragt nach Informationen zu den NTP-Servern (oder p eern), mit denen sich ntpd verbunden hat. Ihre Ausgabe unterscheidet sich geringfügig, sollte jedoch die Standard-Ubuntu-Pool-Server und einige andere auflisten. Bedenken Sie, dass es einige Minuten dauern kann, bis ntpd Verbindungen herstellt.

Fazit

In diesem Artikel wird gezeigt, wie Sie die Systemzeit anzeigen, Zeitzonen ändern, mit Ubuntus Standard-Zeitsynchronisation arbeiten und ntpd installieren. Wenn Sie anspruchsvollere Anforderungen an die Zeitmessung haben als hier beschrieben, können Sie auf die offizielle NTP-Dokumentation verweisen Ein Blick auf the NTP Pool Project, eine globale Gruppe von Freiwilligen, die einen Großteil der weltweiten NTP-Infrastruktur bereitstellen.