Was ist der Chronyd-Service
In CentOS/RHEL 7 und 8 wird die Uhrzeit des Betriebssystems bei jedem Start basierend auf der Hardwareuhr eingestellt, die eine kleine batteriebetriebene Uhr ist, die sich auf der Hauptplatine Ihres Computers befindet. Oft ist diese Uhr zu ungenau oder nicht richtig eingestellt, daher ist es besser, Ihre Systemzeit von einer zuverlässigen Quelle über das Internet zu beziehen (die echte Atomzeit verwendet). Der chrony-Daemon, chronyd, setzt und verwaltet die Systemzeit durch einen Synchronisationsprozess mit einem entfernten Server, der das NTP-Protokoll für die Kommunikation verwendet.
In diesem Beitrag werden wir lernen, den Debug-Modus für den chronyd-Dienst zu aktivieren, was bei der Behebung von chronyd-bezogenen Problemen sehr praktisch ist. Die vom chronyd-Dienst verwendete Konfigurationsdatei ist /etc/sysconfig/chronyd .
1. Bearbeiten Sie die Konfigurationsdatei /etc/sysconfig/chronyd als Root-Benutzer:
# vi /etc/sysconfig/chronyd
2. Untere Zeile hinzufügen oder ändern.
OPTIONS="-dd"
3. Kopieren Sie /lib/systemd/system/chronyd.service nach /etc/systemd/system/ :
# cp /lib/systemd/system/chronyd.service /etc/systemd/system/
4. Bearbeiten Sie die Datei /etc/systemd/system/chronyd.service und ändern Sie Type=forking zu Type=simple :
# cat /etc/systemd/system/chronyd.service [Unit] Description=NTP client/server Documentation=man:chronyd(8) man:chrony.conf(5) After=ntpdate.service sntp.service ntpd.service Conflicts=ntpd.service systemd-timesyncd.service ConditionCapability=CAP_SYS_TIME [Service] Type=simple PIDFile=/run/chrony/chronyd.pid EnvironmentFile=-/etc/sysconfig/chronyd ExecStart=/usr/sbin/chronyd $OPTIONS ExecStartPost=/usr/libexec/chrony-helper update-daemon PrivateTmp=yes ProtectHome=yes ProtectSystem=full [Install] WantedBy=multi-user.target
5. Starten Sie den chronyd-Dienst mit systemctl:
neu# systemctl restart chronyd
6. Jetzt sind die Protokolle von chronyd viel ausführlicher, wenn sie auf den Status von chronyd und auch /var/log/messages geprüft werden oder die Ausgabe des Befehls journalctl würde ausführlichere Protokolle anzeigen.
Vorher:
Jun 03 18:21:47 geeklab.localdomain systemd[1]: Starting NTP client/server... Jun 03 18:21:47 geeklab.localdomain systemd[1]: chronyd.service: Can't open PID file /run/chrony/chronyd.pid (yet?) after start-post: No such file or directory Jun 03 18:21:47 geeklab.localdomain chronyd[14780]: chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG) Jun 03 18:21:47 geeklab.localdomain chronyd[14780]: Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift Jun 03 18:21:47 geeklab.localdomain chronyd[14780]: Using right/UTC timezone to obtain leap second data Jun 03 18:21:47 geeklab.localdomain systemd[1]: Started NTP client/server.
Nachher:
Jun 03 18:22:47 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:47Z ntp_io_linux.c:811:(NIO_Linux_ProcessMessage) Received 110 (48) bytes from error queue for 2402:> Jun 03 18:22:47 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:47Z ntp_core.c:2234:(update_tx_timestamp) Updated TX timestamp delay=0.000018729 Jun 03 18:22:47 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:47Z ntp_core.c:1176:(transmit_timeout) Transmit timeout for [106.10.186.200:123] Jun 03 18:22:47 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:47Z ntp_io.c:906:(NIO_SendPacket) Sent 48 bytes to 106.10.186.200:123 from [UNSPEC] fd 13 Jun 03 18:22:47 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:47Z ntp_io_linux.c:811:(NIO_Linux_ProcessMessage) Received 90 (48) bytes from error queue for 106.10> Jun 03 18:22:47 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:47Z ntp_core.c:2234:(update_tx_timestamp) Updated TX timestamp delay=0.000033359 Jun 03 18:22:48 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:48Z ntp_core.c:1176:(transmit_timeout) Transmit timeout for [2606:4700:f1::1:123] Jun 03 18:22:48 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:48Z ntp_io.c:906:(NIO_SendPacket) Sent 48 bytes to 2606:4700:f1::1:123 from [UNSPEC] fd 14 Jun 03 18:22:48 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:48Z ntp_io_linux.c:811:(NIO_Linux_ProcessMessage) Received 110 (48) bytes from error queue for 2606:> Jun 03 18:22:48 geeklab.localdomain chronyd[14996]: 2020-06-03T12:52:48Z ntp_core.c:2234:(update_tx_timestamp) Updated TX timestamp delay=0.000019594