# HANDOFF_20260419_2117 更新时间:2026-04-19 21:17 CST ## 本轮结论 `mainland-worker-01` 的最新正式 rollout 已完成根因收口: - `release_id = 7` - `rollout_id = 6` - `job_id = 211` 执行结果: - 发布包下载成功 - `/opt/domaincheck/downloads/domaincheck_release_20260419_205437.tar.gz` - release 解压成功 - `/opt/domaincheck/releases/domaincheck_release_20260419_205437` - `current` 软链切换成功 - `/opt/domaincheck/current -> /opt/domaincheck/releases/domaincheck_release_20260419_205437` - 最终失败在: - `systemctl restart domaincheck-worker` 控制面失败结果原文: - `restart failed: domaincheck-worker` - `Failed to restart domaincheck-worker.service: Interactive authentication required.` ## 真实根因 不是发布包问题,也不是目录权限问题了。 当前根因是: - `domaincheck-node-agent` 运行身份仍是 `www` - 它具备下载、解压、切换 `current` 的权限 - 但不具备执行 systemd 服务重启的权限 所以当前所有以下动作在 mainland 机器上都会有同类风险: - `deploy.release` - `service.restart` - 任何依赖 node-agent 直接操作 systemd 的动作 ## 本轮已做代码修正 已修改: - `domain-api/deploy/systemd/domain-node-agent.service` - `User=root` - `Group=root` - `domain-api/deploy/multi-region/fix_mainland_release_base.sh` - 安装 node-agent drop-in 时补齐: - `User=root` - `Group=root` 已验证: - `bash -n domain-api/deploy/multi-region/fix_mainland_release_base.sh` ## 现场下一步 下一步不要再重复发起新的 rollout,先把 `mainland-worker-01` 的 node-agent 切到 root。 建议现场执行: ```bash mkdir -p /etc/systemd/system/domaincheck-node-agent.service.d cat >/etc/systemd/system/domaincheck-node-agent.service.d/runtime-user.conf <<'EOF' [Service] User=root Group=root EOF systemctl daemon-reload systemctl restart domaincheck-node-agent systemctl status domaincheck-node-agent --no-pager -l ``` 完成后应立即复查: ```bash systemctl show domaincheck-node-agent -p User -p Group journalctl -u domaincheck-node-agent -n 80 --no-pager -l ``` 预期结果: - `domaincheck-node-agent` 以 `root` 身份运行 - 心跳恢复,`mainland-worker-01` 不再是 `stale` - 后续再发起 `deploy.release` 时,能够闭环到 `systemctl restart domaincheck-worker` ## 当前判断 当前主阻塞只剩一个: - mainland node-agent 权限模型未切到 root 这个问题修完后,再重新发起 worker rollout,才有资格继续看: - `domaincheck-worker` 是否切到新 PID - health check 是否通过 - rollout 6 之后的 acceptance 是否可继续