Armadilloフォーラム

Armadillo 640(debian at48 kernel) で、再起動をするとsystemd-timesyncdでwarningが発生する

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でのワーニングの確認
コメント

at_dominique.m…

2024年10月24日 16時23分

hidekichiさん

お世話になってます、
マルティネです。

> 対処方法などわかればご教示いただけないでしょうか?

手元で再現できてませんので、お手数ですがご利用の debian と systemd のバージョンを教えていただけますか?

root@armadillo:~# cat /etc/debian_version 
10.13
root@armadillo:~# dpkg -l systemd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Architecture Description
+++-==============-==============-============-=================================
ii  systemd        241-7~deb10u10 armhf        system and service manager

また、こちらも変更されてないと思いますが念のため service.d のディレクトリの変更時刻を確認していただければ幸いです

root@armadillo:~# ls -la /usr/lib/systemd/system/systemd-timesyncd.service*
-rw-r--r-- 1 root root 1433 Jun 29  2023 /usr/lib/systemd/system/systemd-timesyncd.service
 
/usr/lib/systemd/system/systemd-timesyncd.service.d:
total 48
drwxr-xr-x  2 root root  4096 Oct 24 15:47 .
drwxr-xr-x 19 root root 36864 Oct 24 15:49 ..
-rw-r--r--  1 root root   251 Jul  8  2021 disable-with-time-daemon.conf

よろしくお願いします

マルティネ様

ありがとうございます。
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…

2024年10月24日 18時37分

ご確認ありがとうございます。

バージョンを合わせてみても再現できなかったので、なにか環境の問題かもしれません…試しにあえて 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 する場合に更新してください。(再起動する度に何回かは問題ありません)

よろしくお願いします。

ありがとうございます。

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…

2024年10月28日 18時04分

hidekichiさん

> rebootこれでは事象は再現せず、sudo shutdown -h now
> これで再現するようなので、電源喪失が1つのトリガーになっているようなのです。
> RTCモジュールなど付けていないので、起動時の時刻が変になっている・・・というのもありそうですね。

そうですね、それでしたら手元で再現したどおりに、起動時間が drop-in の時間より早い場合に再現する systemd の問題だと思われます。

> 電源喪失を含めた再現手順で再現した場合のsystemd-timesyncd.serviceのステータスとjournalctrlのheadの出力は下記の通りです。

(起動時間は4日前で journalctl -b の頭の出力はすでに一度削除されたので、起動時間を確認できませんでしたが、先ほどの説明で十分です)

こちらで再現した問題はもう bookworm で再現しなくなりましたので、少し調べたら systemd でいつ修正されたかや修正等はできますが、今回は drop-in ファイルの認識に問題があっても困るような現象はありませんので無視でいいと思います。

よろしくお願いします

諸々ご確認、コメントありがとうございます。
おっしゃるとおり、本件そのままとしても問題なさそうなことが理解できましたので、無視でいこうと思います。
対応ありがとうございました!