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

よろしくお願いします

hidekichi

2024年10月24日 16時56分

マルティネ様

ありがとうございます。
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 する場合に更新してください。(再起動する度に何回かは問題ありません)

よろしくお願いします。

hidekichi

2024年10月28日 15時49分

ありがとうございます。

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:~$