记录远程空库验收与内存配置整改结果
Some checks are pending
Security Checks / security (push) Waiting to run

This commit is contained in:
smail 2026-09-17 21:53:52 +08:00
parent a1c299eaf4
commit 6b83b56ea5
3 changed files with 59 additions and 0 deletions

View File

@ -2,6 +2,21 @@
## 范围与结论
### 最新复核:2026 年 9 月 17 日 21:51
本节优先于下方早期状态。已使用本次提供的访问凭据恢复受信任主机密钥校验的 SSH 连接,不再将 SSH 认证列为当前阻塞。凭据轮换、历史清理和访问审计仍未完成。
- [✓] 线上双程序摘要与 `review-2263779` 封存候选一致。
- [✓] 新增资源策略 15 项 Python 回归和 Node 测试入口在远程受限单元通过,无跳过。
- [✓] 最新程序在全新隔离副本通过正式初始化 API、HTTPS 登录会话、三协议授权码、内部 25 端口中文正文及附件入库、三轮混合认证过载恢复;双库完整性正常,无新增 OOM。
- [✓] 停服备份后新增 systemd drop-in,运行进程确认 `GOMEMLIMIT=256MiB`;未修改原环境文件,未改变 384/512 MiB 内存限额。
- [!] PROD-013:资源预检仍失败。21:51 可用内存约 312 MiB,服务增长至硬上限还需约 495 MiB,无法同时保留 128 MiB 系统预算。不能将小样本的约 84.1 MiB 峰值直接作为生产容量。
- [!] PROD-006:当前证书为自签名,系统信任校验失败。
- [ ] PROD-007、PROD-008、PROD-012:正式浏览器、网页持久投递闭环、完整本地 IPC 恢复撤销与浏览器首次安装未通过。服务器未检测到 Chromium/Chrome;没有改为本机测试或忽略证书错误。
- [ ] 异机恢复、持续监控、生产容量及故障注入验收仍待完成。
结论:候选可继续隔离验收,不满足生产放行。线上数据库未清空;空数据副本用于本轮协议测试,不冒充线上清库或浏览器六步安装验收。详细证据见《远程服务器测试记录》最新章节。
本清单对应 2026 年 9 月 17 日 `D:\Desktop\Smail` 生产审查整改,验收服务器为 `47.108.78.12`。应用和自动测试只在该服务器执行,SMTP 按用户要求使用远程 `127.0.0.1:25`,不将公网 25 端口连通列为本轮通过条件。
当前版本已经完成凭据配置、SMTP 判定、MX 路由和网页持久投递队列的代码整改及针对性远程测试,但仍不建议直接生产上线。测试范围、版本摘要和备份位置以《远程服务器测试记录》最新章节为准。

View File

@ -2,6 +2,16 @@
## 状态与边界
### 2026 年 9 月 17 日 21:51 更新
以下早期“尚未远程执行”的描述已由本次证据更新:模板已部署,资源反例 15 项及 Node 入口已在 47 服务器通过;主服务通过新增 `/etc/systemd/system/smail.service.d/20-go-memory.conf` 设置 `Environment=GOMEMLIMIT=256MiB`,进程环境解析确认生效。原 `/etc/smail/smail.env` 未改动,仍为 `root:root`、`0600`;高水位、硬上限和系统保留预算未降低。
整改前资源预检的两项失败是缺少有效 Go 内存目标及主机余量不足;整改后仅剩主机余量不足。21:51 快照:可用内存 326,848,512 字节,服务当前控制组占用 18,100,224 字节,增长到 536,870,912 字节硬上限还需 518,770,688 字节,另需保留 134,217,728 字节。单次快照不能保障同机 MySQL、PostgreSQL、Scert 后续增长,不能据此宣布容量已通过。
停服备份位于 `/var/backups/smail-memory-20260917-2155`,归档已校验可读。配置回退应在维护窗口恢复已备份配置并停用本轮新增 drop-in,经 `daemon-reload`、重启及运行进程预检确认;不得自动删除备份或放宽硬限额。未触碰其他项目配置或数据。
完整远程记录位于 `/var/tmp/smail-review-acceptance-20260917-2140`。`resource-before.json` 与 `resource-after.json` 均为不通过证据,后一份对应工具退出码 1;`resource-tests-retry.log` 为测试通过证据。这些结果仍不等于生产批准。
本说明对应 2026 年 9 月 17 日的共享主机资源整改。以下配置和检查工具是待远程验收的候选变更,不表示已经部署到 47 服务器,也不是生产容量承诺。
- [x] 增加主服务资源上限、OOM 收尾与重启频率限制,等待远程复审。

View File

@ -516,3 +516,37 @@ TLS 前未公布 AUTH,主动尝试明文 AUTH 返回 523。未认证外域邮
通用目录 `out/package/linux_amd64` 仍保留 9 月 6 日的旧 `release.json`,不得直接将该目录整体部署。没有删除旧文件;本轮以明确文件清单封存到新目录 `out/release-review-2263779-verified`,只包含双程序、当前回执和空 `config/ssl/data/log` 目录。封存名称中的 `verified` 仅表示静态核验,不代表生产验收。服务模板、安装脚本与资源预检仍应取自对应源码版本,不包含在该应用压缩包中。
待完成:恢复授权 SSH 访问;在远程执行新增测试和 systemd 策略核验;确认同机资源预算后备份、清理指定测试数据并部署;继续真实浏览器、内部 25 端口、恢复撤销、容量和备份恢复验收。发行打包脚本尚未自动拒绝错误目标架构或清除旧目录元数据,当前回执摘要不能替代部署前的平台和目录核验。
## 2026 年 9 月 17 日 21:28 至 21:54:远程续验与资源配置整改
### 范围和操作记录
本轮所有应用和测试均在 `47.108.78.12` 执行,本机只进行文件读取、Git 操作及配置和文档编辑。复核线上双程序摘要分别为 `f713bf71e1f21fae0d3cf31ca2d25771be6d207aea6e0ca3b791fd89ab46e5b9`、`390bdce2678dcbb6483a9b4f21db9297e207c4ea6244f429645e7c191e064656`,与封存候选一致,本轮没有重新构建或替换程序。
初始连接错误采用自动接受未知主机策略,后续改回仓库工具的已知主机校验并成功;该初始步骤不作为主机身份验收依据。21:31 错误使用主程序 `--version`,由于主程序未处理此选项而进入初始化,随后因本地控制目录属主不匹配退出。服务主 PID、重启计数及数据库属主未变,后续完整性检查不能证明此次初始化绝无逻辑数据影响;后续仅使用静态摘要取证。
### 远程测试结果
| 项目 | 结果 |
| --- | --- |
| 资源策略测试 | 15 项 Python 用例及 1 项 Node 入口通过,无跳过;远程单元硬限额 64 MiB |
| 首次测试启动 | 私有临时目录遮蔽 Node 路径,203/EXEC,未运行用例;通过只读绑定明确测试目录后重试通过 |
| 最新候选空库副本 | `/var/tmp/smail-review-runtime-20260917-214657`,正式初始化 API、令牌要求、HTTPS 登录与会话通过 |
| 三协议 | SMTP、IMAP、POP3 授权码登录通过;错误 SMTP 凭据返回 535;明文 AUTH 被拒绝 |
| 内部 SMTP | 隔离网络 `127.0.0.1:25` 收信,中文正文、中文文件名及附件内容一致,仅关联指定用户 |
| 认证过载 | 三轮各 8 请求,每轮 1 成功、7 繁忙,恢复成功;这是保护语义检查,不是容量承诺 |
| 资源 | 业务探测约 25.71 秒,副本峰值 88,178,688 字节,无新增 OOM |
| 隔离及收尾 | 线上不存在测试邮件;Smail、MySQL、Scert 的 PID 和重启计数在副本测试前后一致;临时服务已停止 |
| 副本双库 | `smail.db`、`smail-state.db` 完整性均为 `ok` |
使用的新副本无原有业务库,测试没有清空线上数据库,也没有删除文件。证书由探测器显式信任且验证主机名,不能视为公开可信证书验收。没有执行真实浏览器、网页持久队列闭环、管理员 IPC 完整交互和异机恢复。
### 资源整改及备份
原备份 `/var/backups/smail-acceptance-20260917T130047Z/smail-state.tar.gz` 权限 0600,归档可读,SHA-256 与交接记录一致。新增停服备份 `/var/backups/smail-memory-20260917-2155/state.tar.gz` 可读、权限 0600,SHA-256 为 `84286aa0aacb0d3a9f9cab8e38cf9bc8093f2afbb2f50ca44b24348650334189`;同时保留原环境和 unit 文件。
新增 `/etc/systemd/system/smail.service.d/20-go-memory.conf`,仅配置 `GOMEMLIMIT=256MiB`。未编辑原环境文件,未减少高水位、硬上限或检查保留预算。重启后 PID 为 571735,Smail、MySQL、PostgreSQL、Scert 均 active。运行进程预检确认 Go 目标 268,435,456 字节、控制组 OOM 计数为零,unit 解析仅报告系统已忽略 CPUAccounting 的警告。
证据目录 `/var/tmp/smail-review-acceptance-20260917-2140` 保留整改前后资源报告及测试日志。整改后预检退出 1,仍有“服务增长到硬上限后,主机剩余预算不足”。当前约 312 MiB 可用内存,无法支持约 495 MiB 的剩余增长加 128 MiB 系统预算。未停止其他项目、创建交换空间或降低保留预算。
线上 `custom.crt` 的主题和颁发者均为 `solit.cn`,有效期为 2026 年 9 月 11 日至 2027 年 9 月 11 日,系统校验返回自签名错误 18。远程未检测到 Chromium/Chrome,未启动本地浏览器代替远程测试。生产仍受资源、可信 TLS、浏览器业务闭环、恢复撤销和持续运行证据缺失阻塞。