Linux

伺服器已滿的 Linux Debian 主分區 (/),如何為其騰出空間

  • July 21, 2013

如何安全地釋放根文件系統上的一些空間?

df說:

Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              9.7G  9.2G     0 100% /
tmpfs                 3.9G     0  3.9G   0% /lib/init/rw
udev                   10M  244K  9.8M   3% /dev
tmpfs                 3.9G  620K  3.9G   1% /dev/shm
/dev/md3              1.8T  327G  1.4T  19% /home

======================================================================

du給我:

root@sbs691:/# ls | xargs du -hs
5.8M    bin
13M     boot
244K    dev
8.0K    dotdeb.gpg
8.1M    etc
281G    home
17M     lib
3.7M    lib32
0       lib64
16K     lost+found
8.0K    media
4.0K    mnt
157M    opt
du: cannot access `proc/31735/task/31735/fd/4': No such file or directory
du: cannot access `proc/31735/task/31735/fdinfo/4': No such file or directory
du: cannot access `proc/31735/fd/4': No such file or directory
du: cannot access `proc/31735/fdinfo/4': No such file or directory
0       proc
41M     root
4.0K    run
14M     sbin
4.0K    selinux
4.0K    srv
0       sys
129M    tmp
2.2G    usr
431M    var

=====================================================

在第 1 條評論後du更新/var

root@sbs691:/var# ls | xargs du -hs
4.8M    backups
149M    cache
4.0K    games
265M    lib
4.0K    local
12K     lock
14M     log
4.0K    mail
4.0K    opt
200K    run
24K     spool
4.0K    tmp
16K     www

現在通過重新啟動nginx暫時解決了問題

service nginx restart

重啟後

root@sbs691:/# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              9.7G  6.0G  3.3G  65% /
tmpfs                 3.9G     0  3.9G   0% /lib/init/rw
udev                   10M  244K  9.8M   3% /dev
tmpfs                 3.9G  620K  3.9G   1% /dev/shm
/dev/md3              1.8T  339G  1.4T  20% /home

您可能有一個文件已被刪除,但正在被寫入它的守護程序保持打開狀態(通過 fd)。看看輸出

lsof +L1

這將列出這些文件。當您知道該文件時,您只需要找出哪個守護程序,然後告訴它重新啟動或重新打開它的日誌文件。


從評論中:原來 OP 已經刪除了 /var 中的文件,並且沒有重新啟動正在寫入文件的守護程序(特別是 nginx)。

最快的(並且有點駭人聽聞)的方法是將伺服器啟動到救援媒體並移動/var甚至可能/usr/home文件系統並將其符號連結回來。

正確的 (TM) 方法是以合理的方式調整分區大小,但由於您使用軟體 RAID,這並不容易或快速。

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