博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根目录空间沾满
阅读量:4617 次
发布时间:2019-06-09

本文共 729 字,大约阅读时间需要 2 分钟。

一、问题背景

一台数据库服务器,突然监控告警,报根目录空间不足,于是登录机器初步查看

df -hl

发现根目录确实满了。

那么肯定有大文件存在,于是使用du命令查看各个目录的大小(只显示一层目录)

du -h --max-depth=1 /

但是却并没有发现某个目录下有特大的文件存在。

灵机一动,是否有文件已被删除,但是引用该文件的进程仍然活动,导致文件所占磁盘没有被释放。

lsof | grep deleted

结果中仍然没有发现有大文件。もっとおかしいね。。。(╯﹏╰)

二、问题原因

在上述调查背景下,进一步思考,在此之前做过什么操作,可能造成了一些预期之外的后果

此时,回忆起,我曾经重新mount过数据盘

但是数据盘是独立的磁盘,照理说是不会占用根目录所在的系统盘空间的

于是请教了前辈,得知:

如果mount目录下原来是有文件存在的,那么该目录被mount之后这些文件就会被隐藏,不属于该文件系统,使用du命令是看不到的

然后就是验证

umount /data

cd /data

ls -l

果然,发现data目录下有一个3.5G的备份文件,这个文件把根目录磁盘占满了

问题原因找到了,应该是之前拷贝文件时,data盘没有被mount,拷贝动作就将文件拷贝到了根目录,而重新mount数据盘之前没有检查该目录是否为空,导致了后来的根目录磁盘空间不足。

三、总结

如果mount目录下原来是有文件存在的,那么该目录被mount之后这些文件就会被隐藏,不属于该文件系统,使用du命令是看不到

在实际生产环境中,mount之前需要确认目录是否为空

转载于:https://www.cnblogs.com/mython/p/10716360.html

你可能感兴趣的文章
BZOJ-3289 Mato的文件管理
查看>>
自旋锁和互斥锁的区别
查看>>
react混合开发APP,资源分享
查看>>
入门篇
查看>>
【洛谷1829】 [国家集训队] Crash的数字表格(重拾莫比乌斯反演)
查看>>
[转]免费api大全
查看>>
git 认证问题之一的解决 : http ssh 互换
查看>>
sql where 1=1作用
查看>>
搜索算法----二分查找
查看>>
Python语言编程
查看>>
[poj 1469]Courses
查看>>
vue+element-ui实现表格checkbox单选
查看>>
测试开发学习进阶教程 视频&PDF
查看>>
C#基础-连接Access与SQL Server
查看>>
autofac
查看>>
MacOS 系统终端上传文件到 linux 服务器
查看>>
Excel导出POI
查看>>
兼容性
查看>>
自动执行sftp命令的脚本
查看>>
转 Merkle Tree(默克尔树)算法解析
查看>>