简体中文 English 会员中心 注销登录
{{currentLangLabel}} ▾
注册 登录
{{item.name}} {{value.name}}
简体中文 English
新闻资讯 官方资讯 磁盘空间与inode告急怎么办?英国服务器存储写满的5个常见问题排查

磁盘空间与inode告急怎么办?英国服务器存储写满的5个常见问题排查

发布时间:2026-11-10

服务器磁盘写满后,网站可能打不开,数据库可能写入失败,SSH也可能登录异常。英国机房的服务器多数面向欧洲用户,也有不少跨境业务。从中国大陆访问英国,往返延迟通常约150-250毫秒,所以排查时尽量直接在服务器上清理,少把大文件下载到本地再处理。下面按照常见程度,列出5类问题。

问题一:df显示使用率100%,业务报错

表现:应用日志里出现No space left on device,上传失败,数据库停止写入。

可能原因:应用日志或访问日志没有轮转;上传目录或临时目录堆积了大文件;core dump文件没有清理。

排查步骤:先执行 df -hT,确认是哪个分区满了。然后用 du -xh / --max-depth=1 | sort -rh | head -20 逐层查找占用大的目录,也可以安装 ncdu 交互浏览。查找大文件可以用 find / -xdev -type f -size +500M。

快速修复:systemd日志可以用 journalctl --vacuum-size=500M 压缩到指定大小。检查 /etc/logrotate.d/ 中的配置,建议设置 daily、rotate 7、compress。确认无用的旧日志后再删除。

问题二:空间还有剩余,却提示No space left

表现:df -h 显示还有空间,但无法新建文件。

可能原因:inode耗尽,常见来源包括PHP session文件、缓存小文件、邮件队列。

排查步骤:执行 df -i 查看IUse%。再用 find / -xdev -type f | cut -d/ -f2-3 | sort | uniq -c | sort -rn | head 找出小文件最多的目录。

快速修复:批量清理过期文件可以用 find /var/lib/php/sessions -type f -mtime +2 -delete。邮件队列可以用 postsuper -d ALL 清空,执行前要先确认队列里没有需要保留的邮件。如果业务本身就会产生大量小文件,规划新分区时可以用 mkfs.ext4 -i 调小单个inode对应的字节数,或者改用XFS。

问题三:文件已经删除,空间却没有释放

表现:删掉了大日志,df的使用率没有变化。

可能原因:进程还持有该文件的句柄;日志轮转后程序没有重新打开新文件。

排查步骤:执行 lsof +L1 或 lsof | grep deleted,找到占用文件的进程和文件描述符。

快速修复:重启对应服务,例如 systemctl restart nginx。如果暂时不能重启,可以执行 truncate -s 0 /proc/PID/fd/N 释放空间。以后清空日志时,优先用 truncate,不要直接 rm。

问题四:容器镜像与系统缓存堆积

表现:/var/lib/docker 或 /var/cache 持续变大。

可能原因:旧镜像和停止的容器没有清理;容器日志没有设置上限;软件包缓存和旧内核残留。

排查步骤:用 docker system df 查看镜像、容器和卷各自的占用。用 du -sh /var/cache/* 检查系统缓存。

快速修复:执行 docker system prune -a 清理不再使用的资源。注意加 --volumes 参数会把数据卷一起删除,要谨慎使用。在 /etc/docker/daemon.json 中设置 log-opts 的 max-size 和 max-file,给容器日志加上限。软件包缓存可以用 apt clean 或 dnf clean all 清理,旧内核可以用 apt autoremove 移除。

问题五:数据库日志与本地备份占满磁盘

表现:MySQL数据目录或备份目录增长很快。

可能原因:binlog没有设置过期时间;备份脚本只写入、从不清理;慢查询日志长期开启。

排查步骤:在MySQL中执行 SHOW BINARY LOGS; 查看binlog的数量和大小,同时检查备份目录里的文件日期。

快速修复:如果有从库,先确认复制位点。之后执行 PURGE BINARY LOGS BEFORE NOW() - INTERVAL 3 DAY;,并在配置中设置 binlog_expire_logs_seconds。备份建议转存到独立的对象存储,本地只保留最近几份。

预防建议与合规提示

  • 监控磁盘使用率和inode使用率,一般在80%时告警,可以用Prometheus Node Exporter或Zabbix实现。
  • 清理任务的定时时间要注意时区,英国在GMT和BST之间切换,建议cron统一使用UTC。
  • 日志和备份中如果包含个人数据,需要遵守UK GDPR和Data Protection Act 2018,保留期限按业务所需设定,不宜无限期留存。跨境传输或备份到其他地区时,还要遵守当地及中国大陆的相关法律法规。
  • 执行删除或清空命令之前,先确认目标文件,重要数据先备份。
TG 客服
在线客服 {{chatUnreadTotal > 99 ? '99+' : chatUnreadTotal}}
1BGP 在线客服 {{chatUnreadInSession > 99 ? '99+' : chatUnreadInSession}}
{{chatSessionStatusText}}
正在连接在线客服...
如长时间未响应,可关闭面板后重新打开,或使用备用通道联系 Telegram。
Telegram 客服