Kan*_*han 24 partition rhel lvm disk-usage deleted-files
我使用带有 LVM2 的 RHEL4。有时即使在删除超过 GB 的大文件后,使用该df
命令时分区大小也不会更新。
-bash-3.00$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/sys-root 3.9G 1.4G 2.3G 39% /
/dev/cciss/c0d0p1 251M 19M 219M 8% /boot
/dev/mapper/sys-home 250G 125G 113G 53% /home
/dev/mapper/sys-tmp 3.9G 41M 3.7G 2% /tmp
/dev/mapper/sys-var 3.9G 3.6G 98M 98% /var
Run Code Online (Sandbox Code Playgroud)
但是当我使用 du 检查时,它显示了正确的大小
-bash-3.00$ sudo du -sh /var/
179M /var/
Run Code Online (Sandbox Code Playgroud)
您可以在那里看到 df 输出显示 /var 分区使用了 3.6Gb,但 du 显示它只有 179Mb。
现在的问题是 sync 或 partprobe 都没有更新信息。但肯定重启主机会解决这个问题。但由于这是一台生产服务器,我无法重新启动它。有什么方法可以在不重新启动主机的情况下手动更新磁盘信息?
小智 30
当一个文件被移除/删除/取消链接时,如果它仍然被任何进程保持打开状态,那么只会删除文件的目录条目,而不是文件的数据。当所有进程完全关闭文件时,数据将返回到空闲空间池。这是一项功能,因为您可以通过这种方式获得匿名文件。
要查看文件系统上是否有任何打开的已删除文件,请运行以下命令之一,/mount/point
挂载点/var
在哪里(在您的情况下):
lsof +L1 /mount/point
Run Code Online (Sandbox Code Playgroud)
这条开放的,无关联的文件应有助于解释这一些。