Linux

回收“df”表示應該可用的空間

  • January 30, 2014

我在 Rackspace 的一個 CloudServers 上託管了一個 linux 伺服器,它顯示我沒有可用空間,但也顯示我在根分區上沒有使用 12GB。該伺服器的唯一工作是每晚通過 rsync 從另一台伺服器對文件進行 rsync 並保持這些文件的緊急備份。

我找到了一個目錄,其中包含一些不需要的備份文件,因此刪除了這些文件,這就是我未使用的 12GB 的原因。刪除文件會縮小“已使用”空間,但不會為“可用”空間提供任何內容。

lsof並沒有表明它持有任何東西,並df -i說我有很多空閒的 inode。

我也多次重啟了這個伺服器,問題仍然存在。我什至重新啟動到救援模式並在fsck設備上執行並沒有看到任何明顯的錯誤:

root@RESCUE-nightly-snapshot:~# fsck /dev/xvdb1
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/xvdb1: recovering journal
Setting free inodes count to 20630768 (was 20630766)
Setting free blocks count to 2845985 (was 2755815)
/dev/xvdb1: clean, 340752/20971520 files, 81040087/83886072 blocks
root@RESCUE-nightly-snapshot:~#

所以我有點卡住了,因為普通使用者無法創建任何新文件,而 syslog 使用者無法附加到任何日誌文件。

最後,文件系統是 ext3,我腦子裡有東西在說,也許日記有什麼奇怪的地方。我不知道這個空間是否可以被期刊佔用,或者如何判斷。

我將不勝感激有關如何重新獲得這個應該被釋放的空間的任何提示。

root@nightly-snapshot:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      315G  303G     0 100% /
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           1.6G  244K  1.6G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
overflow        1.0M     0  1.0M   0% /tmp
/dev/md0        5.0T  4.2T  593G  88% /mnt/raid
root@nightly-snapshot:~# df -i
Filesystem        Inodes    IUsed     IFree IUse% Mounted on
/dev/xvda1      20971520   340750  20630770    2% /
udev             1016188      422   1015766    1% /dev
tmpfs            1018170      319   1017851    1% /run
none             1018170        3   1018167    1% /run/lock
none             1018170        1   1018169    1% /run/shm
overflow         1018170        1   1018169    1% /tmp
/dev/md0       167772160 12607068 155165092    8% /mnt/raid
root@nightly-snapshot:~#
root@nightly-snapshot:~# lsof | grep -i deleted
root@nightly-snapshot:~#

這個空間有可能是為 root 使用者保留的。請檢查為 root 保留了多少空間,其中:

tune2fs -l /dev/xvda1

這將為您提供為 root 使用者保留的塊計數,將其乘以塊大小,您將獲得保留空間的大小(以字節為單位)。

您可以修改保留空間:tune2fs -m 1 /dev/xvda1後面的數字-m是應保留的磁碟空間百分比。在本例中為 1%。

引用自:https://serverfault.com/questions/570862