Rhel

在不重新啟動主機的情況下更新磁碟可用大小

  • November 27, 2016

我使用 RHEL4 和 LVM2。df有時即使在刪除超過 GB 的大文件後,使用該命令時分區大小也不會更新。

-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 都沒有更新資訊。但肯定重新啟動主機會解決問題。但由於這是生產伺服器,我無法重新啟動它。有什麼方法可以在不重新啟動主機的情況下手動更新磁碟資訊?

當一個文件被刪除/刪除/取消連結時,如果它仍然被任何程序保持打開,那麼只有文件的目錄條目被刪除,而不是文件的數據。當文件被所有程序完全關閉時,數據將返回到可用空間池。這是一項功能,因為您可以通過這種方式擁有匿名文件。

要查看文件系統上是否有任何打開的已刪除文件,請執行以下命令之一,/mount/point掛載點在哪裡(/var在您的情況下):

lsof +L1 /mount/point

這篇關於打開的、未連結的文件的文章應該有助於進一步解釋這一點。

引用自:https://unix.stackexchange.com/questions/61069