华为云代理返现 华为云清理磁盘空间技巧
你有没有经历过这种窒息时刻?
凌晨两点,手机疯狂震动——华为云监控告警:系统盘使用率98.7%。你一个激灵坐起,抓过笔记本连上SSH,敲出df -h,眼睁睁看着/dev/xvda1那一行红得发烫,像刚被泼了辣椒油。再一查du -sh /* 2>/dev/null | sort -hr | head -10,发现/var/log占了12G,/var/cache/yum默默蹲着8G,还有个叫nginx-access.log.20231201.gz的“老寿星”蜷在角落,压着3.2G……你手悬在rm -rf键上方,冷汗顺着后颈往下淌——这玩意儿删错了,网站直接变404坟场。
别慌。今天这篇,不讲虚的“清空回收站”式安慰剂,专治华为云ECS磁盘告急的真·实操病。全是我在给56家客户救火时,用键盘敲出来的血泪经验,附赠三句防翻车口诀:“日志先轮转,别急删;快照看时间,别乱删;大文件先ls -lSh,再定夺。”
一、先别删!搞清敌人是谁(诊断篇)
盲目删除=给服务器做开颅手术不打麻药。第一步,必须精准制导:
- 全局扫描:
df -h看哪个分区红了; - 深度透视:
du -sh /* 2>/dev/null | sort -hr | head -15(加2>/dev/null屏蔽权限报错); - 钻进目录:比如发现
/var最大,就cd /var && du -sh * 2>/dev/null | sort -hr | head -10; - 揪出巨无霸:
find /var -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -k5 -hr | head -10——这行命令能把你藏得最深的100MB+文件全拎出来示众。
⚠️ 注意:find命令慎用根目录/,建议限定范围如/var或/home,避免扫到/proc这类虚拟文件系统导致卡死。
二、日志——最常背锅,也最该被温柔对待
系统日志、Nginx/Apache访问日志、Java应用GC日志……它们像勤恳的记账员,但账本堆成山就成灾难。直接rm -f *.log?小心服务因日志句柄未释放而罢工。
正确姿势:
- Logrotate是亲儿子:检查
/etc/logrotate.d/下配置。比如Nginx日志,确认有类似:
/var/log/nginx/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 0644 www-data www-data
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
重点看rotate 30(保留30份)和compress(自动gzip)。若没启用?sudo logrotate -f /etc/logrotate.conf强制跑一次,立刻压缩旧日志,体积直降70%。
- 手动急救:对已堆积的未压缩日志,别删!
gzip /var/log/syslog.1 /var/log/nginx/access.log.1,再rm掉原始大文件——压缩后体积常不足1/10。
三、缓存与临时文件——沉默的硬盘杀手
/var/cache里躺着yum/apt的安装包、Docker镜像层、Python pip缓存……它们不是垃圾,但长期不清理就是定时炸弹。
- yum用户:
sudo yum clean all && sudo yum autoremove(CentOS/RHEL),清理后可省2-5G; - apt用户:
sudo apt-get clean && sudo apt-get autoremove --purge(Ubuntu/Debian); - Docker用户:
docker system prune -a -f(删未用镜像、容器、网络)+docker builder prune -f(清构建缓存); - Python项目:进项目目录
find . -name "__pycache__" -type d -exec rm -rf {} +,再pip cache info && pip cache purge。
四、快照——云上最贵的“舍不得”
华为云代理返现 很多人把华为云快照当免费U盘,自动快照策略开着,手动快照随手点……结果发现云硬盘容量没满,快照占用空间却吃掉你账户配额,导致新快照失败或计费飙升。
行动指南:
- 登录华为云ECS控制台 → 存储 → 云硬盘 → 点击对应硬盘 → “快照”页签;
- 按“创建时间”倒序,优先删超过30天、非关键业务、无命名说明的快照;
- 关闭不必要的自动快照策略(尤其测试环境);
- 记住:快照按实际占用容量计费,不是按云硬盘大小!一个100GB硬盘,若只写入20GB数据,快照最多占20GB+增量。
五、系统级释放——那些看不见的“内存幽灵”
有时候df显示满了,du却找不到大文件?可能是被删除但进程仍占用的“幽灵文件”。常见于日志轮转后,Nginx/Java进程还在往已删文件句柄写数据。
查杀步骤:
lsof +L1列出所有已删除但仍被占用的文件;- 找
deleted状态且SIZE巨大的项,例如:nginx 1234 root 1w REG 253,1 2893451264 123456 /var/log/nginx/access.log (deleted); - 重启对应服务:
sudo systemctl restart nginx,空间立即释放。
六、终极防护:让磁盘不再告急
救火不如防火。三招建立长效机制:
- 监控钉钉告警:华为云云监控 → 创建阈值告警 → 触发条件设为“磁盘使用率 > 85%” → 推送至钉钉群,比半夜惊醒强十倍;
- 每周自动清理脚本(保存为
/root/clean-disk.sh):
#!/bin/bash
# 华为云ECS磁盘健康守护脚本
echo "【$(date)】开始清理..."
# 日志压缩
find /var/log -name "*.log" -mtime +7 -size +10M -exec gzip {} \;
# 清理yum缓存
yum clean all >/dev/null 2>&1
# 清理docker
docker system prune -f >/dev/null 2>&1
# 检查幽灵文件并记录
lsof +L1 > /tmp/deleted_files_$(date +%F).log 2>/dev/null
echo "清理完成!"
加定时任务:crontab -e 添加0 3 * * 0 /root/clean-disk.sh > /dev/null 2>&1(每周日凌晨3点执行)。
- 扩容前必做:若长期接近满载,别硬扛!华为云支持在线扩容系统盘(需关机)或挂载新数据盘。记住:扩容是手段,不是习惯。先优化,再扩容。
最后送你一句华为云老兵的真心话:磁盘空间不是用来填满的,是用来呼吸的。留出15%余量,既是给系统喘息的缓冲带,也是给你自己留出从容排查的黄金时间。下次再看到红色告警,别怕——你已经握住了那把精准、安全、带着温度的清理钥匙。

