Cos'è il servizio Chronyd
In CentOS/RHEL 7 e 8, l'ora del sistema operativo è impostata su ogni avvio in base all'orologio hardware, che è un orologio a batteria piccola situato sulla scheda madre del computer. Spesso questo orologio è troppo impreciso o non è stato impostato correttamente, quindi è meglio ottenere l'ora del sistema da una fonte affidabile su Internet (che utilizza il tempo atomico reale). Il demone chrony, chronyd, imposta e mantiene l'ora del sistema attraverso un processo di sincronizzazione con un server remoto utilizzando il protocollo NTP per la comunicazione.
In questo post impareremo ad abilitare la modalità di debug per il servizio chronyd, che è molto utile durante la risoluzione di eventuali problemi relativi a chronyd. Il file di configurazione utilizzato dal servizio chronyd è /etc/sysconfig/chronyd .
1. Modifica il file di configurazione /etc/sysconfig/chronyd come utente root:
# vi /etc/sysconfig/chronyd
2. Aggiungi o Modifica sotto la riga.
OPTIONS="-dd"
3. Copia /lib/systemd/system/chronyd.service su /etc/systemd/system/ :
# cp /lib/systemd/system/chronyd.service /etc/systemd/system/
4. Modifica il file /etc/systemd/system/chronyd.service e cambia Type=forking a Tipo=semplice :
# 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. Riavvia il servizio chronyd utilizzando systemctl:
# systemctl restart chronyd
6. Ora i log di chronyd saranno molto più dettagliati se controllati per lo stato di chronyd e anche /var/log/messages o l'output del comando journalctl mostrerebbe registri più dettagliati.
Prima:
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.
Dopo:
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