Q-101 Nginx01 单角色框架恢复说明

本包用于从 2026-07-27 11:42 的控制包部分刷新安全停止点续跑。
禁止再次执行旧的 q101-refresh-nginx-control-bundle.sh。

执行边界：
  1. 仅操作 sqjcnginx01 / 10.2.203.102。
  2. 使用提交 8b750344db5d39e8920ba3eedc4309296a49228b 的干净单角色框架。
  3. 先验证当前部分刷新摘要、原备份、框架、脚本语法和离线包。
  4. 原子替换 common 与 roles/nginx，更新框架标记。
  5. 将错误放入单角色服务器的全局 manifest、validator 和 AppleDouble 元数据
     移入 root-only 备份，不直接删除。
  6. 所有门禁通过后才安装 Nginx unit 并重启一次 Nginx。
  7. 不重启 HAProxy 或 Orchestrator，不启动 Keepalived 或 Sentinel，不添加 VIP。
  8. 后置验证失败时尝试恢复旧框架和旧 Nginx unit，然后停止且不得重跑。

预期成功标志：
  Q101_ROLE_FRAMEWORK_MODEL=PASS
  Q101_GLOBAL_MANIFEST_QUARANTINED=PASS
  Q101_APPLEDOUBLE_QUARANTINED=PASS
  Q101_VIP_ABSENT=PASS
  Q101_ROLE_FRAMEWORK_RESUME_PASS

失败标志：
  Q101_ROLE_FRAMEWORK_RESUME_FAILED_STOP_NO_RETRY

备份位置：
  /var/backups/zhct-q101/files/q101-20260727T120000-role-framework-resume/

脚本会重启一次 Nginx，8081 可能出现短暂中断。失败后不得重跑或手工回退，
应保留完整输出并回传。
