fix(chv): 阶段 2 syncd 改走 systemd RuntimeDirectory=/run/chv-syncd

tmpfiles 行 d /run/chv/syncd 0755 chv chv 没用:tmpfiles-setup
跑在 cloud-init 建 chv 用户之前,属主解析失败整行被跳过,
客内 /run/chv/syncd 根本不存在(2026-11-07 真机实测:镜像
里有这行、目录没有,syncd 反复退出、restart counter 57)。
改走单元 RuntimeDirectory=chv-syncd(服务启动时由 systemd
按服务用户建目录,不依赖启动时序);状态写失败改为记日志
不杀进程;daemon 与驱动的 syncd 路径同步改到
/run/chv-syncd/。
This commit is contained in:
host committed 2026-11-08 09:45:00 +00:00
1 parent 8013431f63
commit 42b295fc71
4 files changed
+38 -18

No files matched your search

+7 -5
View File
@@ -41,11 +41,13 @@ DAEMON_SOCK = "/run/chv/daemon.sock"
SNAPSHOT_READY_PATH = "/run/chv/snapshot-ready.json"
EXECD_SOCK = "/run/chv/execd.sock"
EXECD_TASKS = "/run/chv/execd-tasks.json"
# syncd 的状态文件在它自己的 chv 所有子目录里(见 build.sh
# tmpfiles:/run/chv 本身 0755 root:root,chv 身份的 syncd
# 写不进——2026-11-07 真机实测:状态文件写失败致 syncd
# 反复退出、systemctl 长期 activating)。
SYNC_STATUS = "/run/chv/syncd/sync-status.json"
# syncd 的状态文件在 systemd RuntimeDirectory 里(见 build.sh
# 的 syncd 单元:RuntimeDirectory=chv-syncd,服务启动时由
# systemd 按 chv 属主建 /run/chv-syncd;不要放回 /run/chv/
# 下——tmpfiles-setup 跑在 cloud-init 建 chv 用户之前,带 chv
# 属主的 tmpfiles 行会被跳过,目录根本不存在,2026-11-07
# 真机实测 syncd 因此反复退出、长期 activating)。
SYNC_STATUS = "/run/chv-syncd/sync-status.json"
WORKSPACE = "/home/chv/workspace"
HEARTBEAT_INTERVAL = 10.0
MAX_REQUEST_BYTES = 65536