cd / && du -sh *
找占用
没有占用,找占用的文件句柄 lsof | grep delete
重启大法试一试
解挂除根 和 /dev/shm
的挂载点,然后 du -sh /*
记一次根分区满的服务故障排查记录
有台运行的机器,10G的根分区(不要问为什么是10G,这么小)
突然报根目录没空间啦,好吧,赶紧上来处理,根满会影响许多服务异常
先进行第一步,cd / && du -sh *
所有空间的占用都不够10G,当然 /usr/ 这个目录例外,我已经挂载了独立的分区
然后第二步,使用 lson -n | grep delete
没有可疑的占用文件
好吧,试试重启大法 (有些时候系统需要彻底重启才能释放文件)
reboot后,根目录依然人行我素,还是100%占用。
最剩下最后一招,解挂除/ 以外的挂载点
注释/etc/fstab
手动解挂点
for loop in `seq 1 12`;
do
fuser -km /data$loop && umount /data$loop/
done
然后 du -sh /*
/data11 6.7G文件
/data2 600M
/data12 600M
果不其然,被挂载后的目录给隐藏住。
那为什么会造成这次故障呢?
看/data11 目录下的文件,是hadoop的程序写入的大量数据文件
推测是 /dev/sdl1 (/data11的设备 ) 未挂载前,datanode就已启动。
因为根目录下 /data11 (这里是挂目录下的文件) 是空目录,类似/data3 这样的4K 目录。
datanode仍然能启动,它只是视作它为一个新的逻辑目录。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。