服务器上没有更多磁盘空间

服务器上没有更多磁盘空间

在我们的一台服务器上执行了一些错误的 php 代码后,它试图打开一个不存在的文件,结果我们得到了巨大的 apache 日志文件,这些文件尚未配置为轮换。我们只是删除了这些日志文件。之后我们发现我们的磁盘并没有真正清理干净。DF-H显示以下内容

Filesystem              Size  Used Avail Use% Mounted on
/dev/sda1                18G   16G  1.1G  94% /
udev                    999M   12K  999M   1% /dev
tmpfs                   403M  848K  402M   1% /run
none                    5.0M     0  5.0M   0% /run/lock
none                   1007M   72K 1007M   1% /run/shm
/dev/mapper/vg_ftp-ftp  9.9G  5.3G  4.2G  56% /mnt/local/ftp

Inode 似乎也不错

Filesystem              Inodes  IUsed   IFree IUse% Mounted on
/dev/sda1              1168128 227009  941119   20% /
udev                    215094    442  214652    1% /dev
tmpfs                   219463    384  219079    1% /run
none                    219463      6  219457    1% /run/lock
none                    219463      3  219460    1% /run/shm
/dev/mapper/vg_ftp-ftp  655360   1553  653807    1% /mnt/local/ftp

在调查后北卡罗莱纳大学我们仍然找不到空间消失的地方。后来我们认为是打开的文件处理程序仍然存在,所以我们做了lsof | grep 已删除它给了我们一些文件,包括/sbin/mountall这有点吓人。

mountall    287          root  txt       REG        8,1     120404       9334 /sbin/mountall (deleted)
mysqld      615         mysql    4u      REG        8,1          0        416 /tmp/iba1fEnV (deleted)
mysqld      615         mysql    5u      REG        8,1          0        899 /tmp/ibcxXlJG (deleted)
mysqld      615         mysql    6u      REG        8,1          0        900 /tmp/ibdby44r (deleted)
mysqld      615         mysql    7u      REG        8,1          0        901 /tmp/ibYaPXvd (deleted)
mysqld      615         mysql   11u      REG        8,1          0        986 /tmp/ibS9XlvZ (deleted)
ntpd       1231           ntp    3r      REG        8,1        481       1427 /etc/network/interfaces~ (deleted)

我们正在努力避免重启。有人知道这可能是从哪里来的吗,或者我们还可以检查什么来找到缺失的空间?

答案1

您删除的文件仍将打开,Apache 将写入该文件。您需要重新启动 Apache 以允许它创建新文件。正常重新启动应该可以解决问题

apachctl -k graceful

或者

apache2ctl -k graceful  

或者你的发行版使用的任何版本。

答案2

sync也试过运行吗?它通常每隔几分钟至少自动执行一次,但谁知道呢。

另外,您究竟是如何调查的du?也许其中一些文件被旋转到其他目录中的某个地方,而您没有注意到它们尚未被删除?

您也可以尝试运行find / -size +10000000c来查找大于 10MB 的文件。

相关内容