3.8 KiB
3.8 KiB
S30 最终验收报告
1. 目标
完成 LisgloSIPS V2 本地 KVM 开发环境的备份恢复演练、上线/回滚脚本、灰度记录和最终验收,不执行真实阿里云生产切流。
2. 执行结果
| 项目 | 结果 |
|---|---|
| 当前 B release | /opt/lisglosips/releases/s28-v2-20260621220924 |
| B preflight | 通过 |
| A OpenSIPS 配置语法 | 通过 |
| 备份恢复演练 | 通过 |
| 灰度呼叫 | 通过 |
| 回滚脚本语法检查 | 通过 |
新增产物:
docs/S30_RELEASE_BACKUP_RUNBOOK.mddocs/S30_FINAL_ACCEPTANCE_REPORT.mdinfra/server-b/s30/lisglosips-release-preflight.shinfra/server-b/s30/lisglosips-release-rollback.shinfra/server-a/s30/lisglosips-opensips-config-restore.sh
3. 备份恢复演练
执行时间:2026-06-22 10:28 +08:00。
备份:
- MySQL:
/data/backups/mysql/20260622T022811Z - Redis:
/data/backups/redis/20260622T022812Z
校验:
- MySQL
all-databases.sql.gz、lisglosips.sql.gz、metadata.tsv的SHA256SUMS校验通过。 - Redis
dump.rdb、metadata.txt的SHA256SUMS校验通过。
恢复演练:
- MySQL 恢复到隔离临时库
lisglosips_s30_restore,核对计数:raw_cdrs=33、recordings=27、customer_recharges=34、users=2;演练后已删除临时库。 - Redis 从备份 RDB 启动隔离 Unix socket 临时实例,核对
DBSIZE=51、stream:cdr_payload=54、cfg:active_version=s28-v1;演练后已关闭临时实例并删除临时目录。
未覆盖运行中的 MySQL 或 Redis 数据目录。
4. 灰度记录
灰度对象:本地开发环境 T 测试端和 S28 专用测试客户/落地模拟链路。
灰度呼叫:
- Call-ID:
s28-1782095548702-luppqjd4@lisglosips-t - SIP:T 收到
100 Giving it a try、200 OK、BYE200 OK - B raw CDR:
raw_7a6356cc76974652aa30a9d7a350041b - 计费:
rated_e0eb8cbe1b90454cb3cf2d9a3bbc9290,billSec=6,客户费用和供应商成本均为0.012000 - 录音:
rec_5fdf599d679f493a83fc7a2d205a128a,READY,55758 bytes
结论:本地灰度链路在当前冻结 release 下通过。
5. 回滚验证
脚本语法检查:
- B:
lisglosips-release-preflight.sh、lisglosips-release-rollback.sh通过bash -n - A:
lisglosips-opensips-config-restore.sh通过bash -n
运行验证:
- B
lisglosips-release-preflight.sh实际运行通过:current release、MySQL、Redis、Nginx、API、CDR Worker、Recording Worker、HEP、Prometheus、Grafana 均 active,API ready 正常,Nginx 配置测试成功,最近备份目录可见。 - A
/etc/opensips/opensips.cfg通过opensips -C语法检查。
未实际执行 release 回滚或 OpenSIPS 配置恢复,避免对当前已通过的 S28/S29/S30 环境造成不必要中断。
6. 遗留风险
- 本地开发环境不是阿里云生产环境。正式迁移前必须重新执行 VPC、安全组、数据盘、正式 DNS/TLS、备份恢复、故障注入和端到端呼叫验收。
- S29 遗留风险仍存在:B Redis 恢复后 A/OpenSIPS 热路径可能需要重启
opensips才从Redis Unavailable恢复。S30 Runbook 已纳入处置步骤,但根因级修复仍需后续单独处理。 - 当前 A 是单 A/S28 最小真实路由,非完整多落地网关生产路由;真实 3A、多 B、高可用仍不属于本地 V2 闭环上线范围。
- 开发 CA、Tailscale IP、本地 KVM 根盘布局不能原样用于生产。
7. 结论
S30 在本地 KVM 开发环境完成。当前 V2 闭环具备可恢复备份、可执行上线/回滚 Runbook、回滚脚本产物、灰度呼叫记录和最终验收记录。
本地开发阶段可冻结在 s28-v2-20260621220924 作为迁移前基线。阿里云生产上线前不得跳过 S30 Runbook 中的重新备份恢复演练、正式网络/TLS 验收和灰度观察。