其他分享
首页 > 其他分享> > 记一次磁盘不足的排查过程

记一次磁盘不足的排查过程

作者:互联网

做压测时,磁盘突然满了,造成测试中断。
环境:

1.通过df -h查看,确实提示使用100%

2.把容器的应用日志移到home分区

通过建立home分区的软链接ln -s /home/log /data/log

3.把数据库的日志也建立软链接到home分区

ln -s /home/db/log /opt/db/log
具体可见:https://blog.csdn.net/atzqtzq/article/details/122754717

4.通过docker system df -v,查看镜像和容器大小

5.再次通过df -h查看,发现空闲了部分磁盘空间

但好像隐隐不对,释放的空间应该更多啊

6.通过在根目录执行du -sh *,显示实际文件占用大小 远小于df -h显示的实际磁盘占用大小。

查询当前文件夹的大小排序
du -h * | sort -nr

7.通过df -i,显示inode未满

不过通过查看inode,发现gis应用的瓦片图层很多4k小文件,可以在这方面优化

#当前根目录下执行
for i in /*; do echo $i ; find $i | wc -l; done
#再执行上述命令,就这样层层深入最终确定是那个目录文件最多
for i in /user/*; do echo $i ; find $i | wc -l; done

#查看block大小
dumpe2fs  /dev/sda1|grep -i "block size"(block默认大小1k(boot分区)或4K(非系统分区默认为4K))

#查看Inode大小
dumpe2fs  /dev/sda1|grep -i "Inode size"  linux的centos5.8是128字节,6.4是256字节

8.到这,基本确实是删除的文件,未及时回收,造成空间没有被释放

#下载lsof
https://dl.packetstormsecurity.net/UNIX/IDS/lsof/lsof_4.76.tar.gz

#解压
tar -zxvf lsof_4.76.tar.gz

#再解压
cd lsof_4.76
tar -xvf lsof_4.76_src.tar

# 编译,有确认,都按"y"确认
cd lsof_4.76_src
./Configure linux

#生成
make

#创建软链接
ln -s /root/songzehao/lsof_4.76/lsof_4.76_src/lsof /usr/bin

9.未确定docker挂载的方式会不会存在空闲挂载未使用却依然占用空间的问题

标签:容器,排查,df,4.76,不足,home,磁盘,日志,lsof
来源: https://blog.csdn.net/atzqtzq/article/details/122774280