跳转至

项目目录清理 SOP — 删除 monitoring_upgrade/ 旧集群遗留工程

配套文档:backup/README.md(备份与回滚资产台账)。 本文只回答"这次改了什么、怎么改、怎么验、怎么退"。

一、背景

项目 内容
变更类型 清理(删除已无引用的旧集群遗留工程目录)
触发条件 用户要求清理项目目录;探查发现 monitoring_upgrade/ 是旧集群遗留,对当前生产无作用
操作主机 本机(192.168.31.249),不涉及远程集群状态
执行日期 2026-09-29 15:15:22

monitoring_upgrade/ 工程记录的是旧集群(CentOS 7 / 6 节点 / 私有 Harbor / K8s v1.22→v1.34.3)的 kube-prometheus-stack 升级第一步操作档案。当前生产集群 rainchen-k8s 已于 2026-09-16 重建为 Rocky 9.8 / K8s v1.36.4,监控栈由 prometheus_deploy/ 工程(chart 91.4.1 全新部署)承载,与 monitoring_upgrade/ 无引用关系。取证对照见下表:

维度 monitoring_upgrade(旧) prometheus_deploy(新)
集群 CentOS 7 / 6 节点 / Harbor Rocky 9.8 / 4 节点(rainchen-k8s)
K8s v1.22→v1.34.3 v1.36.4(9-16 重建)
性质 chart 35→55 升级第一步 chart 91.4.1 全新部署
日期 2026-09-03 2026-09-17

二、目标

变更完成后应达到的可验证状态:

编号 目标状态 实测
G1 monitoring_upgrade/ 目录从项目根消失 ls -d 报"没有那个文件或目录" ✅
G2 备份 tar 包完整,文件数与原一致(460) tar 包 4.2M,文件数 460 ✅
G3 备份台账 README.md 已登记 cleanup-20260929/backup/README.md 已写 ✅
G4 项目其余 13 个工程目录与 docs/ 完好 ls -d */ 确认 14 个目录(原 15 减 1 加本交付) ✅

三、前置条件

  1. 本机对 /home/rain/Documents/k8s_ins/ 有读写权限
  2. 磁盘空间足够容纳备份(原 38M,压缩后 4.2M)
  3. 已确认 monitoring_upgrade/ 无外部引用(与 prometheus_deploy/ 取证对照,无替代/引用关系)
  4. 用户已勾选确认清理范围(AskUserQuestion 答复:"monitoring_upgrade 整个工程")

四、影响范围

项目 内容
涉及主机 本机 1 台(192.168.31.249),不涉及远程主机
涉及组件 项目目录下的 monitoring_upgrade/ 子目录(38M / 460 文件)
是否停服 否。纯文件系统操作,不影响任何运行中的服务
窗口期 无限制,建议在无活跃 git 操作时进行
在跑作业 无
影响面 仅删除本地工程目录与档案;K8s 集群、Slurm、Lustre、LSF 等生产环境不受影响

五、分步操作

步骤 1:创建交付物与备份目录

为本次清理建立专用交付物子目录,备份统一放在其下的 backup/。

mkdir -p cleanup-20260929/backup

预期:目录创建成功,无输出。失败判断:权限不足 → 检查当前用户对项目根的写权限。

步骤 2:记录原始状态供后续对照

在打包前固化原始文件数与大小,作为完整性校验基线。

du -sh monitoring_upgrade/                         # 预期 38M
find monitoring_upgrade/ -type f | wc -l            # 预期 460

实测:38M / 460 文件。

步骤 3:tar 打包备份(高危动作的前置保障)

整目录 gzip 打包,命名沿用 <原名>.bak.<YYYYmmdd-HHMMSS>.tar.gz 约定。这一步是删除动作的回滚保障——必须等备份验证通过才能进入步骤 5。

TS=$(date +%Y%m%d-%H%M%S)
tar czf "cleanup-20260929/backup/monitoring_upgrade.bak.${TS}.tar.gz" monitoring_upgrade/
echo "$TS" > cleanup-20260929/.timestamp

预期:rc=0,生成 4.2M 左右的 tar.gz。实测 TS=20260929-151522。

步骤 4:验证备份完整性

删除前必须确认备份可回滚。校验两点:tar 包能正常读取、内含文件数与原目录一致。

ls -lh cleanup-20260929/backup/monitoring_upgrade.bak.20260929-151522.tar.gz
tar tzf cleanup-20260929/backup/monitoring_upgrade.bak.20260929-151522.tar.gz | grep -v '/$' | wc -l   # 预期 460

坑:tar tzf 输出含目录条目(以 / 结尾),统计文件数要 grep -v '/$' 过滤,否则数字偏大(实测全条目 530,文件 460)。

预期:460,与步骤 2 基线一致。不一致 → 立即停止,不进入步骤 5,检查 tar 错误。

实测:460,一致。

步骤 5:删除原目录(高危)

确认备份完整后执行删除。rm -rf 是高危动作,路径必须明确不含通配符,且已在步骤 4 验证备份。

rm -rf monitoring_upgrade/

预期:rc=0,无输出。

步骤 6:验证删除

ls -d monitoring_upgrade/ 2>&1 | grep -q "没有那个文件或目录" && echo "OK:已删除" || echo "异常:目录仍存在"

预期:OK:已删除。实测:OK。

步骤 7:确认项目其余工程完好

ls -d */

预期:列表含 cleanup-20260929/、docs/、env-inventory/ 等 14 个目录(原 15 个减去 monitoring_upgrade/,新增 cleanup-20260929/)。实测:14 个目录。

实现体:本变更属极简变更(单机、动作 ≤3 条:备份-验证-删除),按规则允许手工 shell 执行,无独立实现体脚本。

六、验证

变更后统一验证:

# 1. 目录已删除
ls -d monitoring_upgrade/ 2>&1            # 预期:没有那个文件或目录

# 2. 备份完整
ls -lh cleanup-20260929/backup/monitoring_upgrade.bak.20260929-151522.tar.gz   # 预期 4.2M
tar tzf cleanup-20260929/backup/monitoring_upgrade.bak.20260929-151522.tar.gz | grep -v '/$' | wc -l   # 预期 460

# 3. 项目其余工程目录完好
ls -d */ | wc -l                          # 预期 14

全部通过。

七、回滚

回滚 = 从备份 tar 包恢复 monitoring_upgrade/ 目录。

备份存放位置:cleanup-20260929/backup/monitoring_upgrade.bak.20260929-151522.tar.gz(详见 backup/README.md)

回滚步骤:

cd /home/rain/Documents/k8s_ins && \
  tar xzf cleanup-20260929/backup/monitoring_upgrade.bak.20260929-151522.tar.gz

回滚后验证:

ls -d monitoring_upgrade/                  # 预期目录存在
find monitoring_upgrade/ -type f | wc -l   # 预期 460
du -sh monitoring_upgrade/                 # 预期 38M

幂等说明:删除类变更不需幂等复跑(目录已不存在,再删也是无操作)。备份与回滚链路可幂等验证:解包后再打包,文件数应仍为 460。

八、风险说明

风险 缓解
档案丢失(SOP_监控栈升级.md 一并删除) 已整目录 tar.gz 备份;台账登记清楚;回滚命令可直接恢复
误删其他工程目录 rm -rf 路径明确为 monitoring_upgrade/,不含通配;步骤 5 前已验证步骤 4 备份完整
备份不可用 步骤 4 已校验 tar 包可读取且文件数一致;备份在本机磁盘,无网络依赖
日后需参考旧集群升级经验 从 backup/ 解包恢复即可;台账已说明"何时可删"的判定条件

附录 A:交付物清单

路径 说明
cleanup-20260929/SOP.md 本变更档案
cleanup-20260929/backup/monitoring_upgrade.bak.20260929-151522.tar.gz 整目录打包备份(4.2M)
cleanup-20260929/backup/README.md 备份台账
cleanup-20260929/.timestamp 时间戳记录(内部使用,可删)

来源:/home/rain/Documents/k8s_ins/cleanup-20260929/SOP.md | 最后更新:2026-09-29 20:19(由 build/sync.py 同步,请勿在站点侧修改)