暂无评论
CAS /vms/Caga_lun01/.recycle 占用 7.7T,Web 回收站空白完整清理方案
一、先说明为什么 Web 看不到,但目录有巨量文件(根因)
CAS 回收站元数据损坏 / 索引丢失
删除虚拟机时勾选移入回收站,磁盘镜像会移动到存储池.recycle隐藏目录;CVM 页面依赖数据库索引展示回收站列表,数据库记录丢失后页面空白,但底层磁盘文件还留在.recycle持续占空间。
异常删除流程残留
批量删除虚拟机中途 CVM 服务重启;
存储池离线 / 挂载异常;
旧版本 CAS Bug,清空回收站后仅删除数据库记录、未清理底层 qcow2 磁盘文件;
快照 / 增量磁盘残留
回收站内虚拟机带多层快照,单个虚拟机占用几十到上百 TB,索引损坏后页面无法加载。
风险前置:确认.recycle 内所有虚拟机镜像完全无用、无恢复需求再执行删除,操作不可逆
二、分步操作(先校验、再安全清理)
步骤 1:登录 CVK 主机 root,查看回收站占用与文件列表
bash
运行
# 进入回收站目录
cd /vms/Caga_lun01/.recycle
# 统计总占用(确认7.7T)
du -sh .
# 列出所有残留磁盘镜像
ls -lh
# 查看所有qcow2镜像明细(看数量、大小)
find ./ -name "*.qcow2" -ls
步骤 2:检查是否有进程锁定镜像(有锁定不能删,会丢数据 / 损坏磁盘)
bash
运行
# 检索回收站目录下被占用的磁盘文件
lsof +D /vms/Caga_lun01/.recycle
无输出:无虚拟机 / 备份进程占用,可直接清理;
有输出:记录 PID,停止对应虚拟机 / 备份任务,再执行清理。
步骤 3:优先修复 CVM 数据库(尝试 Web 重新识别回收站,官方推荐)
重启 CVM 服务重建回收站索引
bash
运行
systemctl restart cvm
等待 5 分钟,刷新 CVM 网页【云资源 - 回收站】查看是否出现虚拟机;
出现:直接页面批量彻底删除,最安全;
依旧空白:执行底层强制清理。
步骤 4:底层强制清空.recycle 目录(释放 7.7T 空间)
方式 A:只删除镜像文件,保留目录结构(推荐)
bash
运行
# 删除所有虚拟机磁盘镜像
find /vms/Caga_lun01/.recycle -type f -name "*.qcow2" -delete
# 删除空文件夹
find /vms/Caga_lun01/.recycle -type d -empty -delete
# 重新统计空间,验证释放
du -sh /vms/Caga_lun01/.recycle
方式 B:直接删除整个回收站目录(空间爆满紧急使用)
bash
运行
# 备份空目录结构(可选)
mkdir -p /vms/Caga_lun01/.recycle_bak
# 强制删除全部内容
rm -rf /vms/Caga_lun01/.recycle/*
# 重建回收站空目录(CAS自动识别)
mkdir /vms/Caga_lun01/.recycle
chown libvirt:libvirt /vms/Caga_lun01/.recycle
chmod 770 /vms/Caga_lun01/.recycle
步骤 5:释放文件系统磁盘空间(ext4 必执行)
删除大文件后内核不会立刻回收块,执行同步刷新:
bash
运行
sync
echo 3 > /proc/sys/vm/drop_caches
# 查看存储池总空间是否恢复
df -h /vms/Caga_lun01
三、预防后续再次出现残留(长期优化配置)
设置回收站自动过期清理(CVM Web)
云资源→存储→对应存储池→高级设置,开启回收站自动清理 30 天,超过期限自动销毁镜像;
规范删除流程
删除虚拟机后必须进入回收站手动【彻底删除】,不要依赖数据库自动清理;
定期巡检存储
每周执行存储占用统计,监控.recycle目录大小;
CAS 版本升级
老版本 CVM 回收站索引 Bug 较多,升级至 CAS 7.0.07/7.1 稳定版本。
四、常见故障与排错
rm 删除提示设备忙 / 资源占用
执行lsof找到占用 PID,kill -9 PID关闭占用进程,再删除;
删除后空间不释放
执行sync+ 清理页缓存,若使用 thin 精简存储池,执行存储池块回收:
bash
运行
# CAS精简存储块回收命令
storage pool reclaim Caga_lun01
清理后 CAS 新建虚拟机提示找不到回收站
手动重建目录并修改权限:
bash
运行
mkdir /vms/Caga_lun01/.recycle
chown libvirt:libvirt /vms/Caga_lun01/.recycle
chmod 770 /vms/Caga_lun01/.recycle
极简紧急清理一键脚本(空间爆零时复制执行)
bash
运行
cd /vms/Caga_lun01/.recycle
lsof +D ./
rm -rf ./*
mkdir /vms/Caga_lun01/.recycle
chown libvirt:libvirt /vms/Caga_lun01/.recycle
chmod 770 /vms/Caga_lun01/.recycle
sync
echo 3 > /proc/sys/vm/drop_caches
df -h /vms/Caga_lun01
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论