From 0c174f7ea1d8e624d666b1470bf52498ff8cdf59 Mon Sep 17 00:00:00 2001 From: smail Date: Thu, 17 Sep 2026 22:17:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=B8=BB=E6=9C=BA=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E6=96=87=E4=BB=B6=E5=BD=92=E6=A1=A3=E4=B8=8E=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E8=BF=9E=E7=BB=AD=E5=A4=8D=E6=A0=B8=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/生产整改验收清单.md | 11 +++++++++ docs/生产资源部署说明.md | 8 +++++++ docs/远程服务器测试记录.md | 35 +++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) diff --git a/docs/生产整改验收清单.md b/docs/生产整改验收清单.md index 83d4f9a..ef790af 100644 --- a/docs/生产整改验收清单.md +++ b/docs/生产整改验收清单.md @@ -2,6 +2,17 @@ ## 范围与结论 +### 最新复核:2026 年 9 月 17 日 22:02 主机清理 + +本节更新下方 21:51 的资源失败状态。经用户授权清理 47 主机,发现 `/tmp` 为 tmpfs,旧发布及验收文件实际占用物理内存。6 项无进程引用的 Smail、Scert 临时发布文件已完整归档到磁盘,并保留原路径链接;业务数据、证书、已有备份和服务配置未改动。 + +- [✓] 释放约 355.5 MiB 文件内容占用,逐文件 SHA-256、属主、权限和修改时间一致;四项业务服务 PID、重启计数未变。 +- [✓] 原参数资源预检连续 5 次通过,间隔 15 秒;保留 128 MiB 系统预算,未降低 512 MiB 硬上限或 384 MiB 高水位。可用内存约 625 至 643 MiB,未出现 OOM。 +- [~] PROD-013 从“即时预算失败”转为“短时预检通过,持续运行、同机增长与容量待验收”。采样中最小剩余增长预算约 159 MiB,仅比 128 MiB 门槛多约 31 MiB,不构成宽裕容量证明。 +- [!] 自签名证书、完整远程浏览器流程、恢复撤销、异机恢复等其他阻塞保持不变,仍不能签署生产放行。 + +归档及完整清单:`/var/backups/host-tmp-archive-20260917T215952/manifest.json`;五次原始预检:同目录 `resource-samples.json`。未来构建或测试产物应放在磁盘上的项目专用 `/var/tmp` 目录,避免大包再次占用 tmpfs;未改全局临时目录或删除失败测试证据。 + ### 最新复核:2026 年 9 月 17 日 21:51 本节优先于下方早期状态。已使用本次提供的访问凭据恢复受信任主机密钥校验的 SSH 连接,不再将 SSH 认证列为当前阻塞。凭据轮换、历史清理和访问审计仍未完成。 diff --git a/docs/生产资源部署说明.md b/docs/生产资源部署说明.md index 00ad52b..34abae6 100644 --- a/docs/生产资源部署说明.md +++ b/docs/生产资源部署说明.md @@ -2,6 +2,14 @@ ## 状态与边界 +### 2026 年 9 月 17 日 22:02 清理后更新 + +本节优先于后续 21:51 失败快照。主机 `/tmp` 为 tmpfs,6 项历史发布临时文件占用约 355.5 MiB;已确认无活动进程引用,将完整内容归档到 `/var/backups/host-tmp-archive-20260917T215952` 所在 ext4 磁盘,核验摘要和元数据后以符号链接保留原访问路径。没有清空数据库、停用其他服务、创建交换空间、清除内核缓存或降低预算。 + +清理后按原 `--reserve-mib 128` 连续执行 5 次预检,间隔 15 秒,均退出 0。主机可用内存约 625 至 643 MiB,最小的“可用内存减 Smail 剩余增长”约 159 MiB,高于 128 MiB 门槛约 31 MiB。Smail PID 始终为 571735,OOM 计数为零;`/tmp` 实际占用降至 610,304 字节。 + +这仅解除即时资源快照阻塞,不代表硬上限可在同机服务任意增长时得到保障。生产容量与持续监控仍未通过。大体积构建及验收产物应显式落在磁盘上的项目专用 `/var/tmp` 目录;原 `/tmp` 链接仅为兼容历史访问,不是新的长期部署入口。完整逐文件清单和预检结果保存在该归档目录,访问权限为 root 专用。 + ### 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`;高水位、硬上限和系统保留预算未降低。 diff --git a/docs/远程服务器测试记录.md b/docs/远程服务器测试记录.md index d4cee32..e3d6ed7 100644 --- a/docs/远程服务器测试记录.md +++ b/docs/远程服务器测试记录.md @@ -550,3 +550,38 @@ TLS 前未公布 AUTH,主动尝试明文 AUTH 返回 523。未认证外域邮 证据目录 `/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、浏览器业务闭环、恢复撤销和持续运行证据缺失阻塞。 + +## 2026 年 9 月 17 日 21:57 至 22:02:授权主机环境清理 + +用户授权清理当前主机环境,本轮目标仍为 `47.108.78.12`,未清理本机。实际诊断发现 `/tmp` 为 tmpfs,约 356 MiB 被历史发布文件占用;没有残留 Smail 测试进程需要终止。既有失败测试 unit 和日志保留,未通过清空计数掩盖失败证据。 + +### 清理范围与保护 + +以下 6 项在迁移前检查了全部进程的 exe、cwd、root、文件描述符、内存映射、挂载引用及命令行,均无引用;只含普通文件和目录,无特殊文件、符号链接或跨设备子目录。未扫描或输出凭据内容。 + +- `/tmp/smail-release-04de1cb-20260915T233708` +- `/tmp/smail-release-04de1cb-20260915T233708.tar.gz` +- `/tmp/scert-candidate-554a884-20260915-222559` +- `/tmp/scert-release-verify-20260916-1032` +- `/tmp/scert-release-9f8a5fe-verify` +- `/tmp/Scert-20260916-V0.1.0-linux-amd64-9f8a5fe.tar.gz` + +归档根目录为 `/var/backups/host-tmp-archive-20260917T215952`,权限 0700。逐项先复制到 ext4 磁盘,比较所有文件 SHA-256、大小、属主、权限、修改时间及目录清单,再释放原 tmpfs 内容并建立指向归档的原路径链接。归档内容合计 372,732,070 字节,约 355.5 MiB;文件内容未丢弃。`manifest.json` 为 0600,记录逐项清单、阶段及清理前后服务和内存状态。 + +未触碰 `/opt/smail`、`/scert`、MySQL、PostgreSQL 业务数据、证书、已有备份和服务配置。没有停止服务、释放内核缓存、添加交换空间、调整资源限额或减少系统保留预算。 + +### 清理后资源复核 + +按原 `python3 deploy/check_resources.py --reserve-mib 128` 执行 5 次,间隔 15 秒;每次资源规则均通过、退出码均为 0,生产批准字段仍为 false。原始报告为归档内 `resource-samples.json`。 + +| 样本 | 主机可用字节 | Smail 剩余增长字节 | 结果 | +| --- | --- | --- | --- | +| 1 | 674,250,752 | 497,610,752 | 通过 | +| 2 | 674,144,256 | 488,685,568 | 通过 | +| 3 | 655,441,920 | 488,669,184 | 通过 | +| 4 | 668,352,512 | 488,501,248 | 通过 | +| 5 | 668,372,992 | 488,501,248 | 通过 | + +`/tmp` 占用从 373,534,720 字节降至 610,304 字节。Smail PID 571735、Scert PID 570938、MySQL PID 549584、PostgreSQL PID 313101 均未改变,重启计数保持原值;全部服务 active。5 次 Smail 控制组 OOM 和 OOM kill 计数均为零。 + +本轮不进行写入型业务测试,因此未清库或重复安装。只解除即时资源预检失败,不覆盖持续负载或生产容量;最小剩余预算约 159 MiB,比 128 MiB 门槛仅多约 31 MiB。可信 TLS、远程浏览器、恢复撤销、持续监控与异机恢复验收仍待完成。