Назад | Перейти на главную страницу

Postfix решает, что недостаточно места на диске

КОНЕЧНЫЙ РЕЗУЛЬТАТ

Я исправил эту проблему, изменив размер xvda раздел от 700 МБ до 10 ГБ. Для этого я использовал панель управления 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.

Причина, по которой вы показываете много места, заключается в том, что ваше изображение линода имеет размер 956 МБ, а в вашем аккаунте всего 20 ГБ. Следовательно, ваш фактический сервер имеет размер всего 956 МБ (что дает вам доступное в настоящее время 6,9 МБ). Чтобы решить эту проблему, выключите свой экземпляр линода, измените размер изображения, чтобы использовать большую часть вашей учетной записи (предложите использовать все это, если у вас нет других изображений, которые вам нужно запустить).

Ваш корневой каталог заполнен, и это проблема. Вы можете сделать несколько вещей прямо сейчас. Во-первых, запустите apt-get clean all. Это удалит все загруженные пакеты, находящиеся в файловой системе. Далее делаем следующее:

cd /var/log
du -hs

Это покажет, сколько места используется для журналов. Если это важно, введите du -hs *. Это покажет, сколько места занимает каждый каталог в / var / log. Найдите тот, который занимает больше всего места. Введите его (cd, где - имя проблемного каталога. Введите ls -lh и посмотрите размеры файлов для каждого. Если файлы заканчиваются на .gz, вы можете просто удалить их (rm) или если есть файл, большой, но не оканчивающийся на .gz, и проблема с содержимым вас не волнует:

> <filename>

Опять же, где имя проблемного файла. Это должно вернуть вас к работе, и я почти уверен, что вы найдете свою проблему в / var / log.

Хорошо, я вижу проблему, хотя не уверен, где остальная часть указанного дискового пространства. Эта строка:

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

говорит, что ваша корневая файловая система имеет размер всего 679 МБ, из которых у вас есть только 6,9 МБ (сумма, указанная в сообщении об ошибке).

/var/spool/postfix находится в этой файловой системе (как и все остальное). Так что, если у вас должно быть 20 ГБ, значит, ваш диск не был правильно разбит на разделы. Если это ваш собственный сервер, запустите fdisk -l /dev/xvda. Это должно показать вам таблицу разделов. Если это размещенная услуга, поговорите со своим провайдером.