Postfix 认为磁盘空间不足

Postfix 认为磁盘空间不足

最后结果

我通过将xvda分区大小从 700MB 调整为 10GB 解决了这个问题。我使用 Linode 的控制面板来执行此操作,其中包括关闭 VPS、运行调整大小操作,然后重新启动它。非常感谢所有提供见解和解决方案的人;它们都很有帮助。

原始问题

我正在运行 Postfix 作为我的 MTA,它随机决定停止接受传入的电子邮件:

Sep 14 07:50:26 zulu postfix/smtpd[27946]: warning: not enough free space in mail queue: 6832128 bytes < 1.5*message size limit

在我的postconf

message_size_limit = 10240000
queue_minfree = 25000000

发送到我的系统的所有邮件均被拒绝452 4.3.1 Insufficient system storage

我对分区和相关的魔法知之甚少,我只知道 Postfix 似乎告诉我它没有空间,而事实上我的系统有足够的空间:

最后,Postfix 仍然向我的帐户发送失败通知postmaster@,所以我真的很茫然。

编辑

root@zulu:/# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda             679M  644M  6.9M  99% /
tmpfs                 249M     0  249M   0% /lib/init/rw
udev                   10M  112K  9.9M   2% /dev
tmpfs                 249M     0  249M   0% /dev/shm

据我所知,邮件队列存储在 中/var/spool/postfix。我不完全确定如何确定这是否正确,但似乎是正确的:

root@zulu:/var/spool/postfix# ls -al
total 84
drwxr-xr-x 21 root    root     4096 Sep  6 13:58 .
drwxr-xr-x  4 root    root     4096 Sep  6 06:55 ..
drwx------  2 postfix root     4096 Sep 14 08:37 active
drwx------  2 postfix root     4096 Sep 13 13:19 bounce
drwx------  2 postfix root     4096 Sep  6 06:55 corrupt
drwx------  3 postfix root     4096 Sep 12 06:13 defer
drwx------  3 postfix root     4096 Sep 12 06:13 deferred
drwxr-xr-x  2 root    root     4096 May  4 17:30 dev
drwxr-xr-x  3 root    root     4096 Sep 14 07:37 etc
drwx------  2 postfix root     4096 Sep  6 06:55 flush
drwx------  2 postfix root     4096 Sep  6 06:55 hold
drwx------  2 postfix root     4096 Sep 14 08:37 incoming
drwxr-xr-x  2 root    root     4096 Sep 14 07:37 lib
drwx-wx--T  2 postfix postdrop 4096 Sep  8 21:41 maildrop
drwxr-xr-x  2 root    root     4096 Sep 12 06:13 pid
drwx------  2 postfix root     4096 Sep 14 07:37 private
drwx--s---  2 postfix postdrop 4096 Sep 14 07:37 public
drwx------  2 postfix root     4096 Sep  6 06:55 saved
drwx------  2 postfix root     4096 Sep  6 06:55 trace
drwxr-xr-x  3 root    root     4096 Sep  6 06:55 usr
drwxr-xr-x  3 root    root     4096 Sep  6 13:58 var

fdisk:

root@zulu:/# fdisk -l /dev/xvda

Disk /dev/xvda: 734 MB, 734003200 bytes
255 heads, 63 sectors/track, 89 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda doesn't contain a valid partition table

我应该注意到这是一个 Linode VPS。

答案1

您显示大量空间的原因是您的 linode 映像大小为 956mb,而您的帐户总共有 20gb。因此,您的实际服务器大小只有 956mb(目前可用空间为 6.9mb)。要解决此问题,请关闭您的 linode 实例,调整映像大小以使用更多帐户空间(建议全部使用,除非您需要运行其他映像)。

答案2

问题在于您的根目录已满。您可以立即执行以下几项操作。首先,运行 apt-get clean all。这将删除文件系统上所有已下载的软件包。接下来,执行以下操作:

cd /var/log
du -hs

这将显示日志使用了多少空间。如果空间很大,请继续执行 du -hs *。这将显示 /var/log 中每个目录使用了多少空间。查找使用空间最多的目录。输入它(cd,其中是问题目录的名称)。执行 ls -lh 并查看每个文件的大小。如果文件以 .gz 结尾,那么您可以直接删除它们(rm),或者如果有一个文件很大但不以 .gz 结尾,并且您不关心内容问题:

> <filename>

再次,问题文件的名称在哪里。这应该可以让你重新运行,我相当有信心你会在 /var/log 中找到你的问题。

答案3

好的,我明白问题所在,尽管我不确定报告的剩余磁盘空间在哪里。此行:

/dev/xvda             679M  644M  6.9M  99% /

说你的根文件系统只有 679MB 大小,其中只有 6.9MB 可用(错误消息中报告的数量)。

/var/spool/postfix位于该文件系统中(其他所有内容也是如此)。因此,如果您应该有 20GB 可用空间,则您的磁盘尚未正确分区。如果是您自己的服务器,请运行fdisk -l /dev/xvda。这应该会显示分区表。如果是托管服务,请咨询您的提供商。

相关内容