df/du显示磁盘可用大小不一致

1.维度不同(df剩余空间小于du)

du -sh * 和df -Th显示大小不一样,一般而言,df显示的使用空间要大于du
因为:当一个文件被删除的时候,在文件系统的目录中已经不可见了,所以du就不会再统计它了,然而如果此时还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改。这样df仍旧会统计这个被删除了的文件

2.文件实际已删除,实际进程还在

lsof |grep deleted

直接kill
不重启间接情况文件
对存在进程不能kill,通过文件句柄形式清理文件
ls -l /proc/PID/fd/* |greo "filename"  //根据pid搜寻文件的句柄
echo >/proc/PID/fd/FD_NUM

3.磁盘碎片维度

yum install xfsdump
yum install xfslibs-dev
yum install xfsprogs

查看/dev/sdc1的碎片
xfs_db -c frag -r/dev/mapper/cl-root

返回结果:
[root@devhadoop228 /]# xfs_db -c frag -r
/dev/mapper/cl-root
actual 109661, ideal95641, fragmentation factor 12.78%
Note, this number islargely meaningless.
Files on this filesystemaverage 1.15 extents per file
 可以看到,碎片占用率是12.78%

整理碎片
xfs_fsr /dev/mapper/cl-root

4.磁盘修复

xfs_repair -n /dev/xxx  //检查
xfs_repair /dev/xxx //修复

[z ~]# xfs_
xfs_admin      xfs_db         xfs_fsr        xfs_io         xfs_metadump   xfs_quota      
xfs_bmap       xfs_estimate   xfs_growfs     xfs_logprint   xfs_mkfile     xfs_repair     
xfs_copy       xfs_freeze     xfs_info       xfs_mdrestore  xfs_ncheck     xfs_rtcp       
[rz ~]# xfs_repair -h
xfs_repair: invalid option -- 'h'
Usage: xfs_repair [options] device

Options:
  -f           The device is a file
  -L           Force log zeroing. Do this as a last resort.
  -l logdev    Specifies the device where the external log resides.
  -m maxmem    Maximum amount of memory to be used in megabytes.
  -n           No modify mode, just checks the filesystem for damage.
  -P           Disables prefetching.
  -r rtdev     Specifies the device where the realtime section resides.
  -v           Verbose output.
  -c subopts   Change filesystem parameters - use xfs_admin.
  -o subopts   Override default behaviour, refer to man page.
  -t interval  Reporting interval in seconds.
  -d           Repair dangerously.
  -V           Reports version and exits.