记录双机进程崩溃恢复和原任务重试验收证据
同步整改主清单、执行清单及Linux实机记录,确认仅通过Nginx的80和443提供Web服务;如实保留第一台测试域名公网拦截及其他未完成门禁。
This commit is contained in:
parent
d45681423f
commit
5c627e36ca
@ -1250,3 +1250,46 @@ git diff --check
|
||||
- [ ] 未开始:本轮修复后的最终清库首次部署验收。Smail SMTP、数据库矩阵及备份恢复等其余上线门禁仍需按原任务清单验证。
|
||||
|
||||
本轮运维使用密码 SSH,没有新建辅助验收脚本;没有额外制作远端数据备份。安装器自行保留升级前发布文件,未擅自删除。以上域名、服务器及凭据仅用于测试,不作为产品验收规则。
|
||||
|
||||
## 真实进程崩溃恢复与原任务重试(2026-10-01 17:15,北京时间)
|
||||
|
||||
### 范围与操作边界
|
||||
|
||||
沿用已部署的源码提交 302111c8affd6c31c6d616eed45a2a8cee42843c 及正式候选包,本轮没有修改产品代码或重新构建。双机二进制版本沿用上一节证据,第二台再次核对 SHA-256 为 393ae5a1cfaf8e4442ec30e47950f020e6ab47adb47af7fdca45a36eb9486ed2。本轮保留数据连续复测,不代表最终清库首次流程。
|
||||
|
||||
使用已有正式证书重部署,未重新签发;测试域名 scert-multi-20260930.apmmk.cn。人工操作使用密码 SSH,产品部署仍使用其托管密钥并校验主机指纹。未创建辅助脚本、未直接写库、未手工删锁、未额外备份远端数据。
|
||||
|
||||
### 崩溃注入及自动恢复
|
||||
|
||||
- 正式域名部署接口创建任务 72f4222a-3706-419c-847c-0fcb55b436f2。为得到可控中断窗口,通过正式服务器 API 将第一台重载命令临时设置为 nginx 重载后延迟 18 秒,校验命令始终为 nginx -t。
|
||||
- 只读确认两个事务均为 reload_attempted/pending 后,于 UTC 09:07:09 对第二台 Scert.service 主进程发送 SIGKILL;未停止 Nginx。
|
||||
- 原进程 PID 112721,systemd 自动启动新进程 PID 113012,NRestarts=1。
|
||||
- UTC 09:07:29 第二台事务已回滚,第一台仍恢复中;此时管理 readyz 暂时返回 502,第一台业务站点本机严格 HTTPS 仍为 200。此管理短暂不可用如实保留,不宣称零中断。
|
||||
- UTC 09:07:42 两条事务均 rolled_back,消息为“服务启动已完成中断部署事务回滚”;原任务为 failed/service_restart,管理 readyz 已恢复 ready。
|
||||
- 第一次尝试 a680e853-2d2b-40c6-a68f-2dea91b36a79 保留 failed。对应事务:20261001-090648.928412564-d8bedbb5d1d1、20261001-090653.896206069-a567d37db475,均为 rolled_back。
|
||||
- 浏览器中原同步请求最终返回 Nginx 502,符合主进程被杀后的连接中断;没有将该响应伪报为成功。
|
||||
|
||||
### 配置恢复和正式重试
|
||||
|
||||
- 重新登录后,通过正式服务器 API 将第一台 reload_command 恢复为 ["nginx","-s","reload"],PUT 返回 200,随后 GET 再次核对一致。
|
||||
- 正式接口 POST /api/v1/tasks/72f4222a-3706-419c-847c-0fcb55b436f2/retry 返回 200,双机 total=2、success=2、failed=0,verification_status=success;结束时间 UTC 09:12:11。
|
||||
- 原任务更新为 success,第二次尝试 e52b6717-46b8-4072-9931-eafc7f8fa817 为 success;双机部署结果均关联此次尝试,没有新建嵌套父任务。
|
||||
- 第二次尝试的事务 20261001-091153.272958781-00baba19c6a9、20261001-091159.467779056-dc1f13c75a80 均为 committed。
|
||||
- 只读审计依次存在 certificate_deploy/running、task_recovery/failed、certificate_deploy_retry/running、certificate_deploy_retry/success,均关联原任务和 primary-super-admin 操作者。
|
||||
- 成功后再调用正式重试接口返回 409。
|
||||
|
||||
### 文件、服务与网络复核
|
||||
|
||||
- 双机 nginx -t 成功,证书目录使用不限制文件类型的 find 检查,无名称包含 lock 或 scert-tmp 的残留。
|
||||
- 恢复后双机 cert.pem 和 fullchain.pem 的 SHA-256 均为 ecf815ca6ba91abb43985663f7ff2df4ee7987362131e068b6ff32e4657f90bc。
|
||||
- 双机本机 SNI 严格 HTTPS 请求均为 200;第一台访问第二台公网严格 HTTPS 为 200。第一台本机和第二台公网证书指纹均为 43:06:3C:07:26:D3:43:62:B2:54:CE:28:B6:6D:7E:B6:37:E0:0B:16:5F:68:EC:0D:07:FC:ED:0D:F2:C6:4A:D2。
|
||||
- 双机 Scert 均仅监听 127.0.0.1:8443,Nginx 对外监听 80/443;第二台管理 HTTP 返回 301,跳转 HTTPS,readyz 正常。没有开放额外公网业务端口。
|
||||
- 单独发现的公网限制:第二台多次访问第一台公网测试域名 HTTPS 均为连接重置,本地 Windows 客户端同样握手失败。第一台抓包看到 TCP 建连后入站 RST;公网 HTTP 返回 Server: Beaver、403,正文标题为 Non-compliance ICP Filing,并指向阿里云拦截页面。第一台本机同域名 HTTPS 仍为 200;不把本机成功代替公网通过,也不通过开放其他端口或关闭证书校验绕过此限制。
|
||||
- 无 SNI 的公网握手仅用于定位网络差异,返回其他默认站点证书;该诊断不计入测试域名 TLS 验收,未修改产品校验策略。
|
||||
|
||||
### 结论
|
||||
|
||||
- [✓] 该崩溃窗口的可信事务自动回滚、原任务正式重试和重试后状态关联复审通过。
|
||||
- [!] 第一台该测试域名公网 HTTP 有明确拦截页面,公网 HTTPS 失败,公网访问验收不通过;第二台管理及测试站点正常。
|
||||
- [~] 仅同证书重部署,其他负向窗口、新旧证书切换和历史证据缺失事务尚未全部闭环。
|
||||
- [ ] 最终清库首次流程及其他原清单生产门禁未完成;不宣称整体生产部署验收通过。
|
||||
|
||||
@ -1562,3 +1562,18 @@ P0-05 从 `[!]` 调整为 `[~]`,并未标记完成;P0-04 剩余门禁和全
|
||||
- [ ] 未开始:本轮修复后的最终清库首次部署验收。Smail SMTP、数据库矩阵及备份恢复等其余上线门禁仍需按原任务清单验证。
|
||||
|
||||
本轮运维使用密码 SSH,没有新建辅助验收脚本;没有额外制作远端数据备份。安装器自行保留升级前发布文件,未擅自删除。以上域名、服务器及凭据仅用于测试,不作为产品验收规则。
|
||||
|
||||
## 最新有效任务看板补充(2026-10-01 17:15,北京时间)
|
||||
|
||||
本节更新前文过时看板,保留历史证据。当前只处理 Linux,Windows 不在本轮范围内。
|
||||
|
||||
- [✓] T5-6 进程崩溃恢复子项:双机事务进入 reload_attempted 后终止主进程,systemd 自动拉起,启动恢复将两个事务回滚完成。双机无残留锁或临时文件,Nginx 校验和本机严格 HTTPS 均正常。
|
||||
- [✓] T5-6 中断任务重试子项:恢复正常重载命令后,原任务 72f4222a-3706-419c-847c-0fcb55b436f2 重试成功;第二次尝试关联双机成功结果及两个 committed 事务,成功后再次重试为 409。
|
||||
- [✓] 临时配置收尾:第一台 reload_command 已恢复为正常 nginx -s reload,未遗留 sleep 延迟;人工运维继续使用密码 SSH。
|
||||
- [✓] 端口边界:双机只在本机监听 Scert 8443,Web 访问通过 Nginx 80/443;管理入口正常,未增加公网业务端口。
|
||||
- [!] 第一台测试域名公网访问:HTTP 返回 403 及 Non-compliance ICP Filing 拦截页面,HTTPS 握手失败;本机严格 HTTPS 正常。此项不计公网验收通过,不绕过平台限制。
|
||||
- [~] T5-6 其余负向场景:锁归属不匹配、文件摘要不匹配、负向 HTTPS 恢复及不同新旧证书切换继续待复核;本轮没有重复签发证书。
|
||||
- [~] T5-8 历史现场:两条无可信恢复证据事务保持 recovery_required,禁止强改终态或伪造证据。
|
||||
- [ ] T4-3 与 T7 剩余生产门禁:最终清库首次流程、系统 SMTP、超级管理员密码重置、数据库矩阵、备份恢复与升级回滚等按原清单继续执行。
|
||||
|
||||
本轮是保留故障证据的连续复测,不是清库首次初始化验收;没有创建辅助验收脚本,没有额外制作远端数据备份。整体生产验收仍未放行。
|
||||
|
||||
@ -2192,3 +2192,17 @@ P0-11 生产验收门禁
|
||||
- [ ] 未开始:本轮修复后的最终清库首次部署验收。Smail SMTP、数据库矩阵及备份恢复等其余上线门禁仍需按原任务清单验证。
|
||||
|
||||
本轮运维使用密码 SSH,没有新建辅助验收脚本;没有额外制作远端数据备份。安装器自行保留升级前发布文件,未擅自删除。以上域名、服务器及凭据仅用于测试,不作为产品验收规则。
|
||||
|
||||
## 最新有效进度补充(2026-10-01 17:15,北京时间:真实崩溃恢复与原任务重试)
|
||||
|
||||
本节更新前文同名“当前有效进度”中的过时状态;历史记录保留,不以旧快照覆盖本节。范围仅为 Linux,Windows 已按用户要求排除;原整改范围及其他上线门禁不缩减。详细现场证据见《Linux生产流程测试记录》同时间章节。
|
||||
|
||||
- [✓] P0-10 子项复审通过:真实部署期间,在两个目标事务均处于 reload_attempted/pending 时强制终止 Scert 主进程,systemd 自动重新拉起,两个事务均由启动恢复流程转为 rolled_back。没有直接修改数据库状态、删除锁或关闭 TLS 校验。
|
||||
- [✓] P0-10 子项复审通过:恢复临时重载命令后,通过正式接口重试原中断任务 72f4222a-3706-419c-847c-0fcb55b436f2,双机部署及 HTTPS 校验成功。原任务保留,尝试次数由 1 增至 2;成功后再次重试返回 409。
|
||||
- [✓] 恢复收尾:第一台重载命令已通过正式 API 恢复为 nginx -s reload;双机 Nginx 配置校验通过,证书目录无残留锁及临时文件。中断事务两条均 rolled_back,重试事务两条均 committed,审计关联原任务与实际操作者。
|
||||
- [✓] 网络边界复核:双机 Scert 均仅监听 127.0.0.1:8443,Nginx 对外监听 80/443;第二台管理入口 HTTP 跳转 HTTPS,就绪检查正常。没有新增公网业务端口。
|
||||
- [!] 测试环境边界:第一台测试站点本机严格 HTTPS 为 200,但第二台及本地电脑访问其公网 HTTPS 均握手失败;公网 HTTP 返回 403、Non-compliance ICP Filing 页面及阿里云拦截地址。此域名公网访问不能标记通过,不绕过拦截;第一台访问第二台的严格 HTTPS 为 200,证书指纹正确。
|
||||
- [~] P0-10 整项仍进行中:本轮使用同一正式证书重部署,只证明该崩溃窗口下的恢复与重试,不证明不同新旧证书切换、锁归属或摘要不匹配、负向 HTTPS 恢复等其余场景全部通过。历史两条缺可信证据事务继续保留 recovery_required。
|
||||
- [ ] 最终清库首次生产流程、Smail 系统 SMTP 与超级管理员密码重置、三数据库完整矩阵、备份恢复及升级回滚等仍须按原清单闭环。
|
||||
|
||||
结论:本轮关闭“真实进程崩溃恢复并复用原任务重试”子项,整体生产验收仍未通过,不给缺乏逐项统计依据的完成百分比。当前不再用 P0-03 单项状态代指全部生产阻塞。测试服务器和域名只是测试资源,不作为产品验收限制。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user