我正面临着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’文件时)