Linux/Zeit/Synchronisation: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 1: Zeile 1:
= Zeitsynchronisierung =
= Zeitsynchronisierung =
* Eine genaue Zeiterfassung ist zu einem kritischen Bestandteil moderner Softwarebereitstellungen geworden.
* Zeiterfassung ist zu einem kritischen Bestandteil moderner Softwarebereitstellungen
* Ob es darum geht, sicherzustellen, dass Protokolle in der richtigen Reihenfolge aufgezeichnet werden oder Datenbankaktualisierungen korrekt angewendet werden, eine nicht synchronisierte Zeit kann zu Fehlern, Datenbeschädigungen und anderen schwierigen Problemen beim Debuggen führen.  
** sicherzustellen, dass Protokolle in der richtigen Reihenfolge aufgezeichnet werden
* Debian 10 verfügt über eine eingebaute und standardmäßig aktivierte Zeitsynchronisierung unter Verwendung des Standard-NTPD-Zeitservers, der von der . bereitgestellt wird <tt>ntp</tt>Paket.  
** Datenbankaktualisierungen korrekt angewendet werden
* In diesem Artikel werden wir uns einige grundlegende zeitbezogene Befehle ansehen, überprüfen, ob ntpd aktiv und mit Peers verbunden ist, und erfahren, wie Sie den alternativen systemd-timesyncd-Netzwerkzeitdienst aktivieren.
* eine nicht synchronisierte Zeit kann zu Fehlern, Datenbeschädigungen und anderen schwierigen Problemen beim Debuggen führen.  
 
* Debian verfügt über eine eingebaute und standardmäßig aktivierte Zeitsynchronisierung unter Verwendung des Standard-NTPD-Zeitservers, der von der . bereitgestellt wird <tt>ntp</tt>Paket.  
 


== Grundlegende Zeitbefehle  ==
== Grundlegende Zeitbefehle  ==

Version vom 24. September 2021, 10:38 Uhr

Zeitsynchronisierung

  • Zeiterfassung ist zu einem kritischen Bestandteil moderner Softwarebereitstellungen
    • sicherzustellen, dass Protokolle in der richtigen Reihenfolge aufgezeichnet werden
    • Datenbankaktualisierungen korrekt angewendet werden
  • eine nicht synchronisierte Zeit kann zu Fehlern, Datenbeschädigungen und anderen schwierigen Problemen beim Debuggen führen.
  • Debian verfügt über eine eingebaute und standardmäßig aktivierte Zeitsynchronisierung unter Verwendung des Standard-NTPD-Zeitservers, der von der . bereitgestellt wird ntpPaket.


Grundlegende Zeitbefehle

Der einfachste Befehl zum Ermitteln der Uhrzeit auf Ihrem Server ist date. Jeder Benutzer kann diesen Befehl eingeben, um Datum und Uhrzeit auszudrucken:

date
Wed 31 Jul 2019 06:03:19 PM UTC
  • In den meisten Fällen verwendet Ihr Server standardmäßig die UTC- Zeitzone, wie in der obigen Ausgabe hervorgehoben.
  • UTC ist die koordinierte Weltzeit , die Zeit bei null Längengrad. Die konsequente Verwendung der Weltzeit reduziert Verwirrung, wenn Ihre Infrastruktur mehrere Zeitzonen umfasst.
  • Wenn Sie andere Anforderungen haben und die Zeitzone ändern müssen, können Sie die timedatectlBefehl dazu.

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

timedatectl list-timezones

Sie können drücken SPACEnach unten blättern, und bnach oben zu blättern. Wenn Sie die richtige Zeitzone gefunden haben, notieren Sie sie und geben Sie ein qum die Liste zu verlassen.

Stellen Sie nun die Zeitzone mit ein timedatectl set-timezone, stellen Sie sicher, dass Sie den hervorgehobenen Teil unten durch die Zeitzone ersetzen, die Sie in der Liste gefunden haben. Sie müssen verwenden sudomit timedatectlum diese Änderung vorzunehmen:

sudo timedatectl set-timezone America/New_York

Sie können Ihre Änderungen durch Ausführen überprüfen datenochmal:

date
Wed 31 Jul 2019 02:08:43 PM EDT

Die Abkürzung der Zeitzone sollte den neu gewählten Wert widerspiegeln.

Status von ntpd

Standardmäßig führt Debian 10 den Standard-NTPD-Server aus, um Ihre Systemzeit mit einem Pool externer Zeitserver zu synchronisieren. Wir können überprüfen, ob es mit dem läuft systemctlBefehl:

sudo systemctl status ntp
● ntp.service - Network Time Service
  Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
  Active: active (running) since Wed 2019-07-31 13:57:08 EDT; 17min ago
    Docs: man:ntpd(8)
Main PID: 429 (ntpd)
   Tasks: 2 (limit: 1168)
  Memory: 2.1M
  CGroup: /system.slice/ntp.service
          └─429 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112
. . .

Das active (running)status zeigt an, dass ntpd ordnungsgemäß gestartet wurde. Um weitere Informationen über den Status von ntpd zu erhalten, können wir die ntpqBefehl:

ntpq -p
    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
0.debian.pool.n .POOL.           16 p    -   64    0    0.000    0.000   0.000
1.debian.pool.n .POOL.           16 p    -   64    0    0.000    0.000   0.000
2.debian.pool.n .POOL.           16 p    -   64    0    0.000    0.000   0.000
3.debian.pool.n .POOL.           16 p    -   64    0    0.000    0.000   0.000
+208.67.72.50    152.2.133.55     2 u   12   64  377   39.381    1.696   0.674
+198.46.223.227  204.9.54.119     2 u    6   64  377   22.671    3.536   1.818
-zinc.frizzen.ne 108.61.56.35     3 u   43   64  377   12.012    1.268   2.553
-pyramid.latt.ne 204.123.2.72     2 u   11   64  377   69.922    2.858   0.604
+nu.binary.net   128.252.19.1     2 u   10   64  377   35.362    3.148   0.587
#107.155.79.108  129.7.1.66       2 u   65   64  377   42.380    1.638   1.014
+t1.time.bf1.yah 98.139.133.62    2 u    6   64  377   11.233    3.305   1.118
*sombrero.spider 129.6.15.30      2 u   47   64  377    1.304    2.941   0.889
+hydrogen.consta 209.51.161.238   2 u   45   64  377    1.830    2.280   1.026
-4.53.160.75     142.66.101.13    2 u   42   64  377   29.077    2.997   0.789
#horp-bsd01.horp 146.186.222.14   2 u   39   64  377   16.165    4.189   0.717
-ntpool1.603.new 204.9.54.119     2 u   46   64  377   27.914    3.717   0.939

ntpqist ein Abfragetool für ntpd. Das -pFlagge fordert Informationen zu dem NTP Server (oder p EERs) ntpd verbunden ist. Ihre Ausgabe wird etwas anders sein, sollte aber die Standard-Debian-Pool-Server sowie einige andere auflisten. Beachten Sie, dass es einige Minuten dauern kann, bis ntpd eine Verbindung herstellt.

Wechseln zu systemd-timesyncd

Es ist möglich, die integrierte systemd zu verwenden timesyncd- Komponente von , um ntpd zu ersetzen. timesyncd ist eine leichtere Alternative zu ntpd, die stärker in systemd integriert ist. Beachten Sie jedoch, dass die Ausführung als Zeitserver nicht unterstützt wird und dass die Techniken, die es verwendet, um Ihre Systemzeit synchron zu halten, etwas weniger ausgereift sind. Wenn Sie komplexe verteilte Echtzeitsysteme ausführen, möchten Sie vielleicht bei ntpd bleiben.

Um timesyncd zu verwenden, müssen wir zuerst ntpd deinstallieren:

sudo apt purge ntp

Starten Sie dann den timesyncd-Dienst:

sudo systemctl start systemd-timesyncd

Überprüfen Sie abschließend den Status des Dienstes, um sicherzustellen, dass er ausgeführt wird:

sudo systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
  Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
 Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d
          └─disable-with-time-daemon.conf
  Active: active (running) since Wed 2019-07-31 14:21:37 EDT; 6s ago
    Docs: man:systemd-timesyncd.service(8)
Main PID: 1681 (systemd-timesyn)
  Status: "Synchronized to time server for the first time 96.245.170.99:123 (0.debian.pool.ntp.org)."
   Tasks: 2 (limit: 1168)
  Memory: 1.3M
  CGroup: /system.slice/systemd-timesyncd.service
          └─1681 /lib/systemd/systemd-timesyncd

Wir können benutzen timedatectlum das aktuelle Zeitverständnis von systemd auszudrucken:

timedatectl
              Local time: Wed 2019-07-31 14:22:15 EDT
          Universal time: Wed 2019-07-31 18:22:15 UTC
                RTC time: n/a
               Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
             NTP service: active
         RTC in local TZ: no

Dadurch werden die Ortszeit, die Weltzeit (die mit der Ortszeit identisch sein kann, wenn Sie nicht von der UTC-Zeitzone gewechselt haben) und einige Statusinformationen zur Netzwerkzeit ausgedruckt. System clock synchronized: yesbedeutet, dass die Uhrzeit erfolgreich synchronisiert wurde, und NTP service: activebedeutet, dass timesyncd aktiviert ist und ausgeführt wird.

Links

  1. https://www.eecis.udel.edu/%7Emills/ntp/html/index.html
  2. http://www.pool.ntp.org/