Rhel
在不重新啟動主機的情況下更新磁碟可用大小
我使用 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
這篇關於打開的、未連結的文件的文章應該有助於進一步解釋這一點。