130.69 / 255.93 GiB 已用
STORAGE PLANE / SP03 ACCEPTED
让 EC2 可以重建,让业务数据有明确归宿
这不是一份清理命令列表,而是全局存储资产注册表:每个路径必须说明数据类别、权威来源、Owner、容量预算、保留期、迁移目标和删除前置条件。
目标长期保持 100GiB以上
存在Docker/Gitea嵌套,不直接求和当磁盘总量
登记资产目标约 66.2 GiB
容量采集与阈值守卫
30 分钟读取一次文件系统元数据,保留最近 96 个趋势点;只读大小和状态,不读取文件内容、不采集密钥、不自动删除。最新线上回读:根卷 68%,已进入 WARNING,仍未触发自动清理。
最近 96 个容量点
MAX 87%只读告警,不执行删除
Developer Portal 历史发布 19.1GiB 超过 5GiB 预算
portal-releasesdata-sources 素材 16.58GiB 超过 5GiB 预算
data-mediadata-sources 原始快照 4.71GiB 超过 0.5GiB 预算
data-snapshotsdata-sources SQLite 4.56GiB 超过 1.6GiB 预算
data-dbdata-sources JSONL 事件 0.46GiB 超过 0.05GiB 预算
data-eventsdata-sources 本机备份 1.56GiB 超过 0.5GiB 预算
data-backupsGitea 在线状态 采集不完整
gitea-stateGitea 本机旧备份 14.51GiB 超过 2GiB 预算
gitea-backups资产容量与预算读回
ip-172-31-19-46.ap-southeast-2.compute.internalportal-releasesdata-mediadata-snapshotsdata-dbdata-eventsdata-backupsgitea-stategitea-backupsjournalnginx-logslokidocker-state安全止血有执行回执,也有拒绝删除回执
可重建的发布制品和有 Loki 副本的主机日志已受控释放;没有对象存储与数据库对账的原始快照、业务素材保持拒绝删除。
portal-releasesEXECUTED_VERIFIEDcurrent、previous、rollback、最近10个版本与node_modules供体已保留
OFFICIAL_PRUNERjournaldEXECUTED_VERIFIEDjournald active、Loki ready、Alloy running
BOUNDED_RETENTIONraw-snapshotsEXECUTION_DENIED现有维护器只删除文件、不事务删除raw_snapshots行;必须等待SP07对象化与数据库对账
DRY_RUN_ONLYbusiness-mediaEXECUTION_DENIED等待SP04–SP06建立asset_id、S3 Version ID、SHA与数据库绑定
INVENTORY_ONLY空间不是因为 S3 失效,而是多个系统从未接入统一生命周期。
- 正式资源服务器已连接 S3;2026-08-12T02:41:36Z 线上 /meta 已回读 miniapp_package + business_asset、business-asset-safe-v1 和 ec2_persistent_asset_bytes=false。data-sources PR #9 已合并且主干 CI 成功,但配置回读、SQLite 远端引用抽样和生产开关仍未验收。
- data-sources 本地 16.57GiB 素材均没有 S3/R2 引用;其中 1,303 个上交所 PDF 占 15GiB且仍被业务文档引用。
- journald、Nginx、Docker JSON 与 Loki 存在有意的发送缓冲副本,但本地保留期没有统一预算。
- 任何业务素材删除都必须先取得远端版本、SHA 校验、数据库绑定和宽限期回读;按文件时间直接删除不合格。
新素材先进入资源服务,EC2 只保留处理缓存
线上 /meta 已回读 business_asset、business-asset-safe-v1 和 ec2_persistent_asset_bytes=false;data-sources PR #9 已合并且主干 CI 成功,但生产开关仍保持关闭,等待配置、SQLite 远端引用抽样和小流量回执。
使用 HTTPS、Bearer 凭据、SHA-256、Content-Length 和 S3 Version ID;失败时不留下半成功本地事实。
media_asset_remote_refs 记录 Asset、Upload、对象键、版本、摘要和同步状态,可用于对账与回滚。
资源能力已经在线,但配置回读、media_asset_remote_refs 抽样和真实小流量上传回执仍缺失;因此不打开 remote_media.enabled,也不删除历史本地素材。
ASSET REGISTER
全局存储资产注册表
数字来自 EC2 只读盘点;C02 资源边界回执、线上 /meta 能力和生产开关状态见机器回执。嵌套容量明确标注,不用简单相加制造错误总量。
/AWS EBS/opt/reits-developer-portal/releasesGitea SHA + release receipt/opt/data-sources/data/media文档关系 + 文件SHA/opt/data-sources/data/snapshotsraw_snapshots 索引 + body_hash/opt/data-sources/data/reits.local.dbSQLite WAL/opt/data-sources/data/crawl-events.jsonl兼容日志;run_events 为结构化事实/opt/data-sources/backups恢复演练回执/var/lib/docker/volumes/gitea/_dataGit对象 + gitea.db/home/ec2-user备份清单 + 恢复证明/var/log/journal短期主机日志/var/log/nginx边缘短期缓冲/var/lib/docker/volumes/logging_loki-data/_data统一可搜索运行日志/var/lib/docker镜像摘要 + 部署清单TARGET LAYERS
七类数据,七种明确归宿
业务原件、原始证据、缓存、日志、审计和备份不再共享同一种本地目录语义。
D0事务数据
PostgreSQL / RDS本地:不保存文件副本
保留:业务长期D1业务原件
reits-media → S3本地:校验后24小时
保留:按业务与版权策略D2原始证据
S3 数据归档本地:7天
保留:30–90天D3可重建缓存
独立缓存目录/卷本地:硬上限5GiB
保留:7天D4运行日志
Loki本地:发送缓冲
保留:14天D5安全审计
S3 审计前缀本地:不长期留存
保留:180–365天D6备份
S3 版本化灾备本地:最近1–2份
保留:日/周/月CONTROL THRESHOLDS
阈值只控制风险,不自动删除业务数据
超过阈值时先停止可延迟工作和大制品发布,任何核心状态与业务资产仍需显式删除回执。
normalwarningholdLargeArtifactsstopDeferrableWorkincident12 EXECUTION PACKETS
存储专项实施账本
专项进度不改变 Portal 主账本;只有注册表、Schema、测试、部署与线上回读完成才记为已验收。
SP01全局存储资产注册表
路径、Owner、类别、预算、保留与删除门统一入账
SP02容量采集与阈值守卫
30分钟快照、96点趋势、65/75/82/87阈值和告警
SP03安全止血
Portal释放31.1GiB、journal释放4.13GB;无远端引用的业务数据保持拒绝删除
SP04资源服务器通用资产
线上 /meta 已证明 business_asset 能力;配置、数据库抽样和正式验收回执仍待补齐
SP05data-sources 上传适配
PR #9 已合并、主干与候选 CI 均成功;生产开关保持关闭,等待配置、远端引用抽样和小流量回执
SP06历史素材迁移
16.57GiB完成远端校验后释放本地副本
SP07原始快照对象化
body_hash去重、7天本地与S3生命周期
SP08数据库TTL与压缩
30天明细、年度汇总与可恢复压缩
SP09日志收敛
本地日志总预算不超过4GiB
SP10Gitea/CI/备份生命周期
制品与备份离开系统盘
SP11恢复与RPO/RTO演练
每类状态有可回读恢复证明
SP12存储治理总控工作台
人和AI共享实时容量与动作账本
长期治理的五条禁止线
- 01禁止直接删除 data-sources/media 或开启 media_delete_disabled=false。
- 02禁止把 EC2 本机备份当成灾备完成。
- 03禁止无回滚清单执行 docker system prune -a。
- 04禁止把日志、业务事件和安全审计混成一套无限保留数据。
- 05禁止在没有远端版本与SHA回读时删除任何业务资产。