Chronyd サービスとは
CentOS/RHEL 7 および 8 では、オペレーティング システムの時刻は、ハードウェア クロックに基づいてブートごとに設定されます。ハードウェア クロックは、コンピューターのマザーボードにある小さなバッテリー駆動のクロックです。多くの場合、この時計は不正確であったり、正しく設定されていなかったりするため、インターネット上の信頼できる情報源 (実際の原子時を使用する) からシステム時刻を取得することをお勧めします。 chrony デーモンである chronyd は、通信に NTP プロトコルを使用してリモート サーバーと同期するプロセスを通じて、システム時刻を設定および維持します。
この投稿では、chronyd サービスのデバッグ モードを有効にする方法を学習します。これは、chronyd 関連の問題をトラブルシューティングする際に非常に便利です。 chronyd サービスで使用される構成ファイルは /etc/sysconfig/chronyd です .
1. 構成ファイル /etc/sysconfig/chronyd を編集します root ユーザーとして:
# vi /etc/sysconfig/chronyd
2. 以下の行を追加または変更します。
OPTIONS="-dd"
3. /lib/systemd/system/chronyd.service をコピーします /etc/systemd/system/ へ :
# cp /lib/systemd/system/chronyd.service /etc/systemd/system/
4. /etc/systemd/system/chronyd.service ファイルを編集します 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. systemctl を使用して chronyd サービスを再起動します。
# systemctl restart chronyd
6. chronyd のステータスと /var/log/messages をチェックすると、chronyd のログがより詳細になります。 または、journalctl コマンドの出力は、より詳細なログを表示します。
前:
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.
後:
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