Tom*_*ime 6 ubuntu ext4 lvm df
我正面临 .s 报告的 fs 空间错误的问题df
。
我们谈论的是裸机 Ubuntu 14.04 服务器,/
分区由 LVM 管理。
报告df
的大小与 fs 超级块报告的大小不同。还从du -skh
(在与/
分区相关的目录上)计算大小证明df
显示的结果不正确。
这是报道的内容df
:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-lv_root 20G 16G 2.8G 86% /
Run Code Online (Sandbox Code Playgroud)
这是超级块报告的内容(3616906*4096/1024**2=14128 MB free)
:
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
Run Code Online (Sandbox Code Playgroud)
我做了一个 strace fordf
并发现它使用statfs
系统调用来获取有关特定 fs 的信息(962132*4096/1024**2=3758 MB free)
:
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
Run Code Online (Sandbox Code Playgroud)
可能是statfs
它获取 fs 信息的方式或方式的问题。
为了解决它,我尝试重新挂载/
分区 ( mount / -orw,remount
),但没有帮助。
我的问题 - 如何在df
不重新启动或干扰此服务器正常运行的情况下修复信息?
聚苯乙烯
lsof +L1 | grep deleted
)为了那些遇到同样问题的人:
我通过发布解决了这个问题unmount /dev/mapper/rootvg-lv_root
。它给了我一个错误,但df
报告正确后。
看起来umount
刷新了一些内部结构。
希望它可以帮助某人。