hidekichi
2024年10月24日 15時28分
お世話になります。
時刻同期サービスとして、systemd-timesyncdを利用しているのですが、
再起動をすると下記ワーニングがsystemctl status systemd-timesyncd.serviceコマンドから確認されます。
> Warning: The unit file, source configuration file or drop-ins of systemd-timesyncd.service changed on disk. 'systemctl daemon-reload' to reload units.
メッセージの指示通りにdaemon-reloadを行って一時的に問題は解決するのですが、再起動(shutdown -h now 後に電源を挿し直し)で再度ワーニングが確認されるようになります。
当然、daemon-reloadと再起動の間には設定ファイルなどは変更していないので、ワーニングの謂われがなく、行き詰まってしまいました。
対処方法などわかればご教示いただけないでしょうか?
何卒よろしくお願いします。
ファイル | ファイルの説明 |
---|---|
スクリーンショット 2024-10-24 152745.png | systemctl status systemd-timesyncd.serviceでのワーニングの確認 |
コメント
hidekichi
マルティネ様
ありがとうございます。
debianのバージョンなどは下記のとおりです。
ご確認よろしくおねがいします。
[TTG_TYB_B1_MICRO-X]ttg@SWRWEI05:~$ cat /etc/debian_version 10.13 [TTG_TYB_B1_MICRO-X]ttg@SWRWEI05:~$ dpkg -l systemd 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持 | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留 |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常) ||/ 名前 バージョン アーキテクチ 説明 +++-==============-=============-============-================================= ii systemd 241-7~deb10u8 armhf system and service manager [TTG_TYB_B1_MICRO-X]ttg@SWRWEI05:~$ ls -la /usr/lib/systemd/system/systemd-timesyncd.service* -rw-r--r-- 1 root root 1433 7月 8 2021 /usr/lib/systemd/system/systemd-timesyncd.service /usr/lib/systemd/system/systemd-timesyncd.service.d: 合計 20 drwxr-xr-x 2 root root 4096 1月 1 1970 . drwxr-xr-x 20 root root 12288 9月 17 04:15 .. -rw-r--r-- 1 root root 251 7月 8 2021 disable-with-time-daemon.conf [TTG_TYB_B1_MICRO-X]ttg@SWRWEI05:~$
at_dominique.m…
ご確認ありがとうございます。
バージョンを合わせてみても再現できなかったので、なにか環境の問題かもしれません…試しにあえて 2021 以前の時刻を設定して再起動したら再現はしてますが、普通に再起動する分に問題なかったです。
不思議な事に他のサービスに問題なさそうですしね… rc-local と systemd-timesyncd 以外にワーニングありません。。。その二つのサービス以外に drop-in はないので、このバージョンで drop-in に関する時刻の認識の不具合でもあるかもしれません。
この2点も確認していただけますか?
1- 起動時の時刻
2- 他のサービスでもワーニングが表示されてるかどうかと他のの drop-in の存在確認
root@armadillo:~# journalctl -b | head -- Logs begin at Thu 2019-02-14 19:12:00 JST, end at Thu 2024-10-24 18:27:50 JST. -- Feb 14 19:12:00 armadillo kernel: Booting Linux on physical CPU 0x0 ... root@armadillo:~# systemctl list-units | awk '/\.service/ {print $1}' | while read s; do systemctl status $s; done 2>&1 | grep -E 'Drop|daemon-reload' Oct 24 18:24:07 armadillo sh[216]: Warning: The unit file, source configuration file or drop-ins of systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units. Warning: The unit file, source configuration file or drop-ins of rc-local.service changed on disk. Run 'systemctl daemon-reload' to reload units. Drop-In: /usr/lib/systemd/system/rc-local.service.d Warning: The unit file, source configuration file or drop-ins of systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units. Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d
同じ結果であればこのワーニングを無視していいと思います:
- おそらく時刻の認識の問題だけで実際に最新になっています
- drop-in がちゃんと読み取れてなくても systemd-timesyncd に関しては影響ありません。
どうしても直したい場合は、問い合わせにおっしゃったとおりに daemon-reload を実行してください。
> ii systemd 241-7~deb10u8 armhf system and service manager
この問題に関係ないですが、このバージョンでは systemctl daemon-reload を実行する度に systemd (pid1) が少しのメモリをリークしますので、armadillo を長く起動して頻繁に reload する場合に更新してください。(再起動する度に何回かは問題ありません)
よろしくお願いします。
hidekichi
ありがとうございます。
1点、事象の再現方法なのですが、
sudo reboot
これでは事象は再現せず、
sudo shutdown -h now --- システム停止後、ACアダプタ抜き差ししてシステム起動 ---
これで再現するようなので、電源喪失が1つのトリガーになっているようなのです。
RTCモジュールなど付けていないので、起動時の時刻が変になっている・・・というのもありそうですね。
電源喪失を含めた再現手順で再現した場合のsystemd-timesyncd.serviceのステータスとjournalctrlのheadの出力は下記の通りです。
[TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$ sudo systemctl status systemd-timesyncd.service Warning: The unit file, source configuration file or drop-ins of systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units. ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: active (running) since Thu 2024-10-24 05:57:04 UTC; 4 days ago Docs: man:systemd-timesyncd.service(8) Main PID: 234 (systemd-timesyn) Status: "Synchronized to time server for the first time 10.11.0.248:123 (10.11.0.248)." Tasks: 2 (limit: 1147) Memory: 772.0K CGroup: /system.slice/systemd-timesyncd.service └─234 /lib/systemd/systemd-timesyncd Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable. [TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$ sudo journalctl -b | head -- Logs begin at Sun 2024-10-27 13:59:21 UTC, end at Mon 2024-10-28 06:13:21 UTC. -- 10月 27 13:59:21 SWRWEI05 kernel: ch341 2-1.1.3:1.0: ch341-uart converter detected 10月 27 13:59:21 SWRWEI05 kernel: usb 2-1.1.3: ch341-uart converter now attached to ttyUSB0 10月 27 13:59:21 SWRWEI05 kernel: usb 2-1.1.4: USB disconnect, device number 97 10月 27 13:59:21 SWRWEI05 kernel: ch341-uart ttyUSB3: ch341-uart converter now disconnected from ttyUSB3 10月 27 13:59:21 SWRWEI05 kernel: ch341 2-1.1.4:1.0: device disconnected 10月 27 13:59:22 SWRWEI05 kernel: usb 2-1.1.4: new full-speed USB device number 101 using ci_hdrc 10月 27 13:59:22 SWRWEI05 kernel: ch341 2-1.1.4:1.0: ch341-uart converter detected 10月 27 13:59:22 SWRWEI05 kernel: usb 2-1.1.4: ch341-uart converter now attached to ttyUSB2 10月 27 13:59:22 SWRWEI05 kernel: usb 2-1.1.3: USB disconnect, device number 100 [TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$ sudo systemctl list-units | awk '/\.service/ {print $1}' | while read s; do systemctl status $s; done 2>&1 | grep -E 'Drop|daemon-reload' Warning: The unit file, source configuration file or drop-ins of rc-local.service changed on disk. Run 'systemctl daemon-reload' to reload units. Drop-In: /usr/lib/systemd/system/rc-local.service.d Warning: The unit file, source configuration file or drop-ins of systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units. Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d [TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$
以下は、電源喪失せずにsudo reboot
で再起動した際の同じコマンドの出力結果です。
[TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$ sudo systemctl status systemd-timesyncd.service [sudo] ttt のパスワード: ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: active (running) since Mon 2024-10-28 06:31:31 UTC; 4min 14s ago Docs: man:systemd-timesyncd.service(8) Main PID: 233 (systemd-timesyn) Status: "Synchronized to time server for the first time 10.11.0.248:123 (10.11.0.248)." Tasks: 2 (limit: 1147) Memory: 892.0K CGroup: /system.slice/systemd-timesyncd.service └─233 /lib/systemd/systemd-timesyncd 10月 28 06:31:30 SWRWEI05 systemd[1]: Starting Network Time Synchronization... 10月 28 06:31:31 SWRWEI05 systemd[1]: Started Network Time Synchronization. 10月 28 06:31:32 SWRWEI05 systemd-timesyncd[233]: Synchronized to time server for the first time 10.11.0.248:123 (10.11.0.248). [TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$ sudo journalctl -b | head -- Logs begin at Mon 2024-10-28 06:31:23 UTC, end at Mon 2024-10-28 06:40:50 UTC. -- 10月 28 06:31:23 SWRWEI05 kernel: Booting Linux on physical CPU 0x0 10月 28 06:31:23 SWRWEI05 kernel: Linux version 4.14-at48-SENSE_v25.04 (atmark@atde8) (gcc version 8.3.0 (Debian 8.3.0-2)) #18 Fri Aug 16 16:57:46 JST 2024 10月 28 06:31:23 SWRWEI05 kernel: CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d 10月 28 06:31:23 SWRWEI05 kernel: CPU: div instructions available: patching division code 10月 28 06:31:23 SWRWEI05 kernel: CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache 10月 28 06:31:23 SWRWEI05 kernel: OF: fdt: Machine model: Atmark Techno Armadillo-640 10月 28 06:31:23 SWRWEI05 kernel: Memory policy: Data cache writeback 10月 28 06:31:23 SWRWEI05 kernel: cma: Reserved 16 MiB at 0x9f000000 10月 28 06:31:23 SWRWEI05 kernel: On node 0 totalpages: 131072 [TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$ sudo systemctl list-units | awk '/\.service/ {print $1}' | while read s; do systemctl status $s; done 2>&1 | grep -E 'Drop|daemon-reload' Drop-In: /usr/lib/systemd/system/rc-local.service.d Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d [TTT_TYB_B1_MICRO-X]ttt@SWRWEI05:~$
at_dominique.m…
hidekichiさん
> reboot
これでは事象は再現せず、sudo shutdown -h now
> これで再現するようなので、電源喪失が1つのトリガーになっているようなのです。
> RTCモジュールなど付けていないので、起動時の時刻が変になっている・・・というのもありそうですね。
そうですね、それでしたら手元で再現したどおりに、起動時間が drop-in の時間より早い場合に再現する systemd の問題だと思われます。
> 電源喪失を含めた再現手順で再現した場合のsystemd-timesyncd.serviceのステータスとjournalctrlのheadの出力は下記の通りです。
(起動時間は4日前で journalctl -b の頭の出力はすでに一度削除されたので、起動時間を確認できませんでしたが、先ほどの説明で十分です)
こちらで再現した問題はもう bookworm で再現しなくなりましたので、少し調べたら systemd でいつ修正されたかや修正等はできますが、今回は drop-in ファイルの認識に問題があっても困るような現象はありませんので無視でいいと思います。
よろしくお願いします
hidekichi
at_dominique.m…
2024年10月24日 16時23分
hidekichiさん
お世話になってます、
マルティネです。
> 対処方法などわかればご教示いただけないでしょうか?
手元で再現できてませんので、お手数ですがご利用の debian と systemd のバージョンを教えていただけますか?
また、こちらも変更されてないと思いますが念のため service.d のディレクトリの変更時刻を確認していただければ幸いです
よろしくお願いします