fix: preserve migrated storage guards during deployment

This commit is contained in:
hectorzhao
2026-08-31 23:01:35 +08:00
parent fd373d9708
commit 9a15d28da5
6 changed files with 78 additions and 1 deletions
+2
View File
@@ -4980,3 +4980,5 @@ npm run verify:phase8
| TC-PORTAL-008 | Prometheus同时返回系统盘、数据盘、第三块磁盘,顺序打乱或有缺失点 | 全部挂载点各有容量卡片及独立趋势;按设备/挂载点匹配,不串盘,不以0填缺失点;采集失败清空指标 |
| TC-PORTAL-009 | 系统盘或任一数据盘分别超过容量阈值 | 使用原有效阈值逐盘告警,信息含挂载点与设备;基础和托管规则无同名重复;tmpfs/overlay等虚拟盘不参与 |
| TC-PORTAL-010 | 测试发布与安全边界 | 新独立恢复资产的custom dump、运行tar、配置tar、原标记和SHA全部验证后才能发布;查服务、health、Stream、窗口日志与资源哈希;不发/补发/重投短信,不修改客户/余额/通道配置 |
| TC-STORAGE-DEPLOY-001 | 数据盘迁移后安装/发布前置检查;在隔离挂载命名空间隐藏数据盘或绑定挂载 | 两个入口均在初始化/发布写入前拒绝继续;验证UUID、源/目标inode、读写属性及既有存储标记;宿主挂载及服务PID不变 |
| TC-STORAGE-DEPLOY-002 | 数据盘迁移后发布业务代码 | 新恢复资产在数据盘上,custom dump/tar/SHA验证通过;存储服务PID、绑定挂载、fstab、环境及systemd保护保持不变;代码回退不恢复旧系统盘业务数据;系统盘和数据盘均有真实监控指标 |
+6
View File
@@ -4206,3 +4206,9 @@ git diff --check
- 外部HTTP实际下载的主JS/CSS与服务器文件SHA-256一致:`index-BaM_U9uq.js`=`b14c2ee21f80d718e6f78289cc6e676f215c2e16bd24712202df731aeadb3d6f``index-D8PbKTXI.css`=`86b17c3845da62022861df97536db00df9d241ceac9677434d7028286e0ac0ca`;本次涉及的8个页面JS(通用字段、发送记录、系统监控、客户端签名/模板/批量任务/发送详情/上行短信)逐个下载与本地构建哈希一致。
- 回归结果维持API 581项、前端45项通过,测试用例见 `TC-PORTAL-001..010`。浏览器插件在网络恢复后仍多次导航、截图及DOM读取超时,真实页面视觉效果、浏览器控制台及登录后交互验收尚未完成,留待用户在测试环境验收,不标记为已通过。
- 证据:服务器 `/tmp/cmpp-sixfix-deploy.log``/tmp/cmpp-sixfix-before.json``/tmp/cmpp-sixfix-after.json` 及恢复点清单。提交时仅纳入本轮代码/用例/进度追加,原有4份修改文档及3项未跟踪文件仍保留为未提交状态。
## 2026-08-31 迁移后预生产六项修复发布准备
- 用户明确授权推送最新代码并发布预生产,提醒数据迁移已完成。重新读取迁移记录及线上事实:预生产业务标记仍为 `1a5063a`,三项存储分别绑定到 `/data/postgresql``/data/redis``/data/minio`,数据盘UUID为 `ef4ee3bb-a19b-4aeb-b00c-aa2b995611c2`,备份入口解析到 `/data/cmpp-platform-backups`12项服务active,三条Stream pending/lag为0。
- 三份尚未提交的迁移保护脚本与线上LF归一化SHA逐项一致,本轮仅接续提交 `production-bootstrap.sh``production-deploy.sh``check-data-storage.sh`,其余原有修改及未跟踪文档保持不动。补充部署契约及 `TC-STORAGE-DEPLOY-001/002`,隔离mount namespace中隐藏Redis绑定后两入口前置部分均拒绝继续,宿主挂载与存储PID不变。
- 本次发布只切换应用代码和相关监控规则,不重新迁移/恢复数据库,不重启PostgreSQL、Redis或MinIO,不改fstab、存储保护、环境及业务配置。首份新恢复资产因Redis配置路径错误在tar阶段中止,未部署;核实 `/etc/redis/redis.conf` 后重新建立完整资产,最终证据另记。