无需重新启动主机即可更新磁盘可用大小

无需重新启动主机即可更新磁盘可用大小

我使用带有 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

但是当我使用 du 检查时它显示了正确的大小

-bash-3.00$ sudo du -sh /var/
 179M   /var/

您可以看到 df 输出显示 /var 分区已使用 3.6Gb,但 du 显示它只有 179Mb。

现在的问题是sync或partprobe都没有更新信息。但重启主机肯定可以解决问题。但由于这是生产服务器,我无法重新启动它。有什么方法可以在不重新启动主机的情况下手动更新磁盘信息?

答案1

当文件被删除/删除/取消链接时,如果任何进程仍将其保持打开状态,则仅删除该文件的目录条目,而不是文件的数据。当文件被所有进程完全关闭时,数据将返回到可用空间池。这是一项功能,因为您可以通过这种方式拥有匿名文件。

要查看文件系统上是否有任何打开的已删除文件,请运行以下命令之一,/mount/point安装点在哪里(/var在您的情况下):

lsof +L1 /mount/point

关于打开的未链接文件的文章应该有助于进一步解释这一点。

相关内容