Co je služba Chronyd
V CentOS/RHEL 7 a 8 se čas operačního systému nastavuje při každém spuštění na základě hardwarových hodin, což jsou hodiny napájené malou baterií umístěné na základní desce vašeho počítače. Tyto hodiny jsou často příliš nepřesné nebo nejsou správně nastaveny, proto je lepší získat systémový čas ze spolehlivého zdroje přes internet (který používá skutečný atomový čas). Démon chrony, chronyd, nastavuje a udržuje systémový čas prostřednictvím procesu synchronizace se vzdáleným serverem pomocí protokolu NTP pro komunikaci.
V tomto příspěvku se naučíme povolit režim ladění pro službu chronyd, což je velmi užitečné při odstraňování problémů souvisejících s chronyd. Konfigurační soubor používaný službou chronyd je /etc/sysconfig/chronyd .
1. Upravte konfigurační soubor /etc/sysconfig/chronyd jako uživatel root:
# vi /etc/sysconfig/chronyd
2. Přidat nebo upravit pod řádkem.
OPTIONS="-dd"
3. Zkopírujte /lib/systemd/system/chronyd.service do /etc/systemd/system/ :
# cp /lib/systemd/system/chronyd.service /etc/systemd/system/
4. Upravte soubor /etc/systemd/system/chronyd.service a změňte Typ=forking na Typ=jednoduchý :
# 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. Restartujte službu chronyd pomocí systemctl:
# systemctl restart chronyd
6. Nyní budou protokoly chronydu mnohem podrobnější, když zkontrolujete stav chronydu a také /var/log/messages nebo výstup příkazu journalctl by zobrazil podrobnější protokoly.
Před:
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.
Po:
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