ubuntu – df报告文件系统的可用空间不正确(ext4)

我正面临着df报告的错误fs空间问题.

我们谈论的是裸机Ubuntu 14.04服务器,其中/分区由LVM管理.

df报告的大小与fs super-block报告的大小不同.另外从du -skh(与/ partition相关的目录)计算大小证明df显示的结果不正确.

这是df报道的:

Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-lv_root   20G   16G  2.8G  86% /

这是超级块报告(3616906 * 4096/1024 ** 2 = 14128 MB免费):

Last mounted on:          /
Filesystem magic number:  0xEF53
Filesystem state:         clean
Filesystem OS type:       Linux
Inode count:              1290240
Block count:              5242880 << exactly 20 GB
Reserved block count:     227170
Free blocks:              3616906 << around 14 GB free
Free inodes:              1201391
First block:              0
Block size:               4096
Fragment size:            4096

我为df做了一个strace,发现它使用statfs系统调用来获取有关特定fs的信息(962132 * 4096/1024 ** 2 = 3758 MB免费):

statfs("/", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=5129119, f_bfree=**962132**, f_bavail=730866, f_files=1290240, f_ffree=1091851, f_fsid={-456623966, 1549023591}, f_namelen=255, f_frsize=4096}) = 0

可能是statfs的问题或者它如何获取fs信息的方式.

为了解决它我试图重新安装/分区(mount / -orw,remount),但它没有帮助.

我的问题 – 如何在不重启或干扰此服务器正常运行的情况下修复df信息?

附:

>进程暂停没有fd(lsof L1 | grep已删除)
>我知道853 MB是为UID 0的用户保留的
>这不是挂载点屏蔽问题(在挂载点目录中挂载fs’clide’文件时)

为了坚持同样问题的人们:

我通过发出unmount / dev / mapper / rootvg-lv_root解决了这个问题.它给了我一个错误,但在df报告正确后.

看起来像umount刷新了一些内部结构.

希望它可以帮到某人.