找回丢失的Linux服务器磁盘空间

回复 收藏
有台服务器经常报磁盘空间不足,用命令 df  -h 发现磁盘利用率90%多,将时间较长的日志和备份文件删除,发现磁盘空间也没有太大改善。再使用命令 du -sh 查看日志和备份目录,发现实际使用的空间与df 显示相差很多。

google搜索了一下,发现两个可能的原因:
   1. 磁盘文件删除后,但是原先对应写文件的进程还在,仍然抓着那个文件,空间继续被他耗用,同时删除后的空间得不到释放,du 命令也看不到这个文件占用的空间。
   2. 使用mount命令,挂载到一个原本有数据的目录,之前目录下的文件不可见也不会被du看到统计
   
因为这台服务器没有做特殊目录挂载,所以按照问题1查找丢失的空间。使用 lsof | grep deleted 查找被删除的文件,果然发现很多已经删除的日志文件

解决方法:停止产生日志的相应程序或者kill掉写入日志的进程,再重新启动程序。结果再使用df -h发现磁盘空间显示正常。
2016-03-06 13:19 举报
已邀请:
0

杨金彪

赞同来自:

+1
0

迷城

赞同来自:

{:7_165:}
0

maria

赞同来自:

{:6_148:}如果这样重启会不会正常?
0

kongca

赞同来自:

maria 发表于 2016-3-6 23:16
如果这样重启会不会正常?

重启服务器一样的效果,不过生产中的服务器一般非必要不会重启啦。而且重启系统需要的时间比较重启程序时间长很多。
0

maria

赞同来自:

kongca 发表于 2016-3-7 00:12
重启服务器一样的效果,不过生产中的服务器一般非必要不会重启啦。而且重启系统需要的时间比较重启程序时 ...

{:7_221:}我就这么一说
0

riverxyz

赞同来自:

学习下!

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: