今天是遇到了这么个事情,我们有一块磁盘满了 然后删掉了一些数据,发现df -h显示的还是原来的样子
但是 du -sh看并没有用那么多
查找过又说lsof查看是不是有已经删除的进程一直在占用缓存,但是 我lsof |grep delete 并没有找到
后来找了一位大佬 的文章 找到问题所有
虽然说XFS不用做碎片整理,其实是错误的。XFS用延迟写入等技术确实可以减少碎片的出现,但是如果服务器用了几年,并且文件操作比较频繁,还是会出现碎片的,应该整理。注意:在Debian中XFS相关命令在xfsprogs包中,而xfs_fsr命令是在xfsdump包中的。所以要用xfs_fsr整理碎片,记得安装xfsdump包。 其他Linux发行版本中,包含xfs相关命令的包也应该叫类似的名字,自己google一下。
我的是自带的 查了一下 centos安装就以下命令按一下
yum install xfsdump
yum install xfslibs-dev
yum install xfsprogs
1、查看/dev/sdc1的碎片情况:
# xfs_db -c frag -r /dev/sdc1
actual 93133, ideal 8251, fragmentation factor 91.14%
这个应该整理一下碎片了
2、查看/dev/sdb1的碎片情况:
# xfs_db -c frag -r /dev/sdb1
actual 905607, ideal 900507, fragmentation factor 0.56%
这个不用做碎片整理。
3、另一种命令形式:
# xfs_db -r /dev/sdd1
xfs_db> frag
actual 117578, ideal 116929, fragmentation factor 0.55%
4、也可以通过xfs_bmap命令了解某个文件的情况:
# xfs_bmap -v case19.dat
5、 整理碎片
# xfs_fsr /dev/sdc1