Postfix decides that it does not have enough disk space

6

FINAL RESULT

I fixed this problem by resizing my xvda partition from 700MB to 10GB. I used Linode’s control panel to do that, which involved shutting down the VPS, running the resize operation, and then booting it back up. Many thanks to everyone who provided insights and solutions; they were all instrumental and helpful.

ORIGINAL QUESTION

I’m running Postfix as my MTA, and it has randomly decided to stop accepting incoming email:

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

In my postconf:

message_size_limit = 10240000
queue_minfree = 25000000

All mail to my system is being rejected with 452 4.3.1 Insufficient system storage.

I know little to nothing about partitions and related magic, I only know that Postfix is seemingly telling me that it has no space, when in fact my system has plenty of space:

Finally, Postfix is still delivering the failure notices to my postmaster@ account, so I’m really quite at a loss.

EDIT

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

As far as I know, the mail queue is stored in /var/spool/postfix. I’m not entirely sure how to determine if that is correct, but it seems correct:

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

I should probably note that this is a Linode VPS.

postfix
debian-squeeze
asked on Server Fault Sep 14, 2011 by Abraham Vegh • edited Feb 28, 2020 by Glorfindel

3 Answers

7

The reason your showing lots of space is because your linode image is 956mb in size, and you have 20gb in total on your account. Hence, your actual server is only 956mb in size (giving you 6.9mb currently avilable). To solve- shutdown your linode instance, resize the image to use more of your account (suggest using it all, unless you have other images you need to run).

answered on Server Fault Sep 14, 2011 by AliGibbs
4

Your root directory is full which is the issue. There are a few things you can do right away. One, run an apt-get clean all. This will delete any downloaded packages sitting on the file system. Next, do the following:

cd /var/log
du -hs

This will show how much space is being used for logs. If it is significant, go ahead and issue du -hs *. This will show how much space each directory in /var/log is using. Look for one that is using the most space. Enter it (cd where is the name of the problem directory. Issue a ls -lh and look at the file sizes for each. If the files end with .gz then you can simply delete them (rm ) or if there is a file that is large but not ending in .gz and you don't care about the contents issue:

> <filename>

Again, where is the name of the problem file. This should get you back to running and I am fairly confident you'll find your issue in /var/log.

answered on Server Fault Sep 14, 2011 by Dustin • edited Sep 14, 2011 by Dustin
3

Ok, I can see the problem, though I'm not sure where the rest of that reported disk space is. This line:

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

says that your root filesystem is only 679MB in size, of which you only have 6.9MB free, (the amount reported in the error message).

/var/spool/postfix is in that filesystem (as is everything else). So if you're supposed to have 20GB available, then your disk hasn't been partitioned properly. If it's your own server, run fdisk -l /dev/xvda. That should show you the partition table. If it's a hosted service, talk to your provider.

answered on Server Fault Sep 14, 2011 by SmallClanger

User contributions licensed under CC BY-SA 3.0