Qu'est-ce que le service Chronyd ?
Dans CentOS/RHEL 7 et 8, l'heure du système d'exploitation est définie à chaque démarrage en fonction de l'horloge matérielle, qui est une horloge alimentée par une petite batterie située sur la carte mère de votre ordinateur. Souvent, cette horloge est trop imprécise ou n'a pas été réglée correctement, il est donc préférable d'obtenir l'heure de votre système à partir d'une source fiable sur Internet (qui utilise le temps atomique réel). Le démon chrony, chronyd, définit et maintient l'heure système via un processus de synchronisation avec un serveur distant utilisant le protocole NTP pour la communication.
Dans cet article, nous apprendrons à activer le mode de débogage pour le service chronyd, ce qui est très pratique lors du dépannage de tout problème lié à chronyd. Le fichier de configuration utilisé par le service chronyd est /etc/sysconfig/chronyd .
1. Modifiez le fichier de configuration /etc/sysconfig/chronyd en tant qu'utilisateur root :
# vi /etc/sysconfig/chronyd
2. Ajoutez ou modifiez la ligne ci-dessous.
OPTIONS="-dd"
3. Copiez /lib/systemd/system/chronyd.service vers /etc/systemd/system/ :
# cp /lib/systemd/system/chronyd.service /etc/systemd/system/
4. Modifiez le fichier /etc/systemd/system/chronyd.service et changez Type=forking à 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. Redémarrez le service chronyd en utilisant systemctl :
# systemctl restart chronyd
6. Désormais, les journaux de chronyd seront beaucoup plus détaillés lors de la vérification du statut de chronyd et également de /var/log/messages ou la sortie de la commande journalctl afficherait des journaux plus détaillés.
Avant :
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.
Après :
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