mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 16:00:43 +00:00
== 部署脚本(另一个智能体的收尾)==
* deploy.sh 默认两个隧道 unit 都 enable:
主 lanremote-tunnel quic + 8 条 + --metrics :20241
副本 lanremote-tunnel-h2 http2 + 2 条 + --metrics :20242
--protocol 支持 both(默认)/ quic / http2,非法值退出码 2
* metrics 端口在两个 unit 里都显式钉死 ——
实测停掉主实例再重启副实例时,副实例会抢 20241,
于是 watchdog 和所有按端口读指标的脚本全部读错实例
* MTU/MSS 收成单一出处:net-tune.sh 唯一负责 MSS 1360 + 接口 MTU 1400,
deploy-tune.sh 只管 keepalive + 开机加速并调用 net-tune.sh。
这样就不存在"谁后跑谁赢"
* 按需重启:程序和 unit 都用 cmp 比对,一样就不落盘、不重启、
不 daemon-reload(幂等重跑不再打断正在服务的连接)
* 顺手修了一个会咬人的坑:单独用 --port 9090 时原来只改 unit 不改
config.yml,隧道会回源到 8080,现象是"隧道通了但一访问就 502"
* 域名:不传 --hostname 且 config.yml 里没有 hostname 时明确停下来
要输入,不猜、不写 config、不启隧道
测试(三套全绿,实测数字):
_build/test_deploy_sh.sh 110 通过 / 0 失败(Windows 沙箱)
_build/test_zip_deploy.sh 30 通过 / 0 失败(从发布 zip 解压再跑)
_build/test_deploy_device.sh 39 通过 / 0 失败(真机 Debian aarch64)
真机那套桩掉了 systemctl/iptables/ip/sysctl/nmcli
(--prefix 只隔离写文件,不隔离命令副作用),
第 8 节专门验证线上零影响:relay/tunnel/h2 全 active、
MTU=1400、MSS 规则数、keepalive 测前测后完全一致。
== 恢复被误删的文件 ==
排查过程中有人用通配符清了 $env:TEMP\tmp.*,而 Git Bash 的 /tmp
正映射到那个 Windows 目录,导致两个被 git 跟踪的文件被删:
_build/insert_stub_checks.py
_build/inspect_pathtest.sh
已从 git 恢复。
教训:用通配符删临时文件很危险,尤其是 /tmp 在 Windows 上
映射到共享目录时。改成只删明确列出的文件名。
== 清理 ==
删掉这轮调试产生的临时输出(reg3.txt / td1.txt / td2.txt 等),
不让它们进仓库。
46 lines
2.3 KiB
Plaintext
46 lines
2.3 KiB
Plaintext
同步部署脚本智能体的收尾改动 + 恢复被误删的文件
|
||
|
||
== 部署脚本(另一个智能体的收尾)==
|
||
|
||
* deploy.sh 默认两个隧道 unit 都 enable:
|
||
主 lanremote-tunnel quic + 8 条 + --metrics :20241
|
||
副本 lanremote-tunnel-h2 http2 + 2 条 + --metrics :20242
|
||
--protocol 支持 both(默认)/ quic / http2,非法值退出码 2
|
||
* metrics 端口在两个 unit 里都显式钉死 ——
|
||
实测停掉主实例再重启副实例时,副实例会抢 20241,
|
||
于是 watchdog 和所有按端口读指标的脚本全部读错实例
|
||
* MTU/MSS 收成单一出处:net-tune.sh 唯一负责 MSS 1360 + 接口 MTU 1400,
|
||
deploy-tune.sh 只管 keepalive + 开机加速并调用 net-tune.sh。
|
||
这样就不存在"谁后跑谁赢"
|
||
* 按需重启:程序和 unit 都用 cmp 比对,一样就不落盘、不重启、
|
||
不 daemon-reload(幂等重跑不再打断正在服务的连接)
|
||
* 顺手修了一个会咬人的坑:单独用 --port 9090 时原来只改 unit 不改
|
||
config.yml,隧道会回源到 8080,现象是"隧道通了但一访问就 502"
|
||
* 域名:不传 --hostname 且 config.yml 里没有 hostname 时明确停下来
|
||
要输入,不猜、不写 config、不启隧道
|
||
|
||
测试(三套全绿,实测数字):
|
||
_build/test_deploy_sh.sh 110 通过 / 0 失败(Windows 沙箱)
|
||
_build/test_zip_deploy.sh 30 通过 / 0 失败(从发布 zip 解压再跑)
|
||
_build/test_deploy_device.sh 39 通过 / 0 失败(真机 Debian aarch64)
|
||
真机那套桩掉了 systemctl/iptables/ip/sysctl/nmcli
|
||
(--prefix 只隔离写文件,不隔离命令副作用),
|
||
第 8 节专门验证线上零影响:relay/tunnel/h2 全 active、
|
||
MTU=1400、MSS 规则数、keepalive 测前测后完全一致。
|
||
|
||
== 恢复被误删的文件 ==
|
||
|
||
排查过程中有人用通配符清了 $env:TEMP\tmp.*,而 Git Bash 的 /tmp
|
||
正映射到那个 Windows 目录,导致两个被 git 跟踪的文件被删:
|
||
_build/insert_stub_checks.py
|
||
_build/inspect_pathtest.sh
|
||
已从 git 恢复。
|
||
|
||
教训:用通配符删临时文件很危险,尤其是 /tmp 在 Windows 上
|
||
映射到共享目录时。改成只删明确列出的文件名。
|
||
|
||
== 清理 ==
|
||
|
||
删掉这轮调试产生的临时输出(reg3.txt / td1.txt / td2.txt 等),
|
||
不让它们进仓库。
|