Что такое queue file write error



ошибки «queue file write error» в Postfix

Постоянно на postmaster’а сыплются такие сообщения:

Количество ошибок примерно пропорционально количеству входящих писем.
В логах пока ничего не нашёл. Есть предположение, что дело в каком-то таймауте, клиент не успевает передать тело письма.

> Error: queue file write error

тут скорее проблема в том что невозможно письмо в спул записать. смотри нет ли ошибок по винту, не переполнен ли раздел и т.д

Я по началу тоже так думал. Но проблем с записью на диск точно нет. Места достаточно.
Сообщение не обязательно буквально отражает суть.

это в виндах. в никсах обычно очень даже отражает.
сам-то телнетом можешь отправить письмо на ящик на этом сервере?

ls -l /var/spool/postfix/
df -i /var/spool/postfix/
df -sh /var/spool/postfix/

И mail.log покажите.

Ошибка возникает далеко не при каждой отправке, скорее при каких-то единичных из множества.

В логе ничего релевантного не находил, по крайней мере именно в такой формулировке, с которой приходят письма.

Вот что-то похожее на решение. По крайней мере, человек говорит, что у него работает:
http://forum.parallels.com/showpost.php?p=358647&postcount=35

Там же упоминалось про smtpd_proxy_timeout, который может быть причиной ошибки, в случае малого значения.
# postconf smtpd_proxy_timeout

В логе ничего релевантного не находил, по крайней мере именно в такой формулировке, с которой приходят письма.

Формулировка в логе может быть другая. Надо смотреть по времени. Ещё желательно посмотреть в логи всяких антиспам-, антивирус-фильтров.

Источник

Ошибка Postfix — connect to mysql server: Too many connections

Столкнулся с необычной ошибкой во время работы postfix. Ошибка не сложная, но первые признаки этой ошибки странные и вызывают вопросы. Это мешает быстро разобраться в ситуации. Расскажу обо всем подробно.

Началось все с того, что иногда я стал на почту получать вот такие оповещения:

Первое что пришло в голову, когда увидел такое сообщение — что-то с файловой системой или с диском. Ошибка на тему невозможности записи очереди на это намекает. Все внимательно проверил на севере, ошибок с диском не заметил.

Подобные сообщения приходили не часто, сервер при этом нормально работал, мониторинг никаких проблем не видел, тестовые письма пролетали. Когда подобные ошибки стали появляться все чаще, начал разбираться подробнее.

Сервер достаточно нагруженный, поэтому его maillog читать неудобно, но пришлось. В логе обнаружил следующие предупреждения:

Тут стало все понятно. Срабатывает ограничение mysql сервера на количество параллельных запросов. Причем ошибка возникает не постоянно, а время от времени, скорее всего во время всплесков нагрузки. У меня mysql сервер это отдельная машина. Идем на этот сервер, заходим в консоль mysql и проверяем параметр max_connections. Если вы его не трогали, то по-умолчанию он будет равен 100.

Проверяем это в консоли mysql:

Я уже изменил на 200, поэтому у меня такое значение. Сделал я это следующей командой mysql:

Параметр применяется сразу же, без перезагрузки. Чтобы после перезапуска сервера, значение осталось равным 200, добавляем в my.cnf в секцию [mysqld] следующий парметр.

Для того, чтобы посмотреть количество текущих соединений, используйте следующую команду в mysql консоли:

Дальше длинный список подключений в состоянии sleep. Почему они спят и остаются висеть я не знаю. С этим как раз надо разобраться. Если кто-то знает, прошу подсказать. Пока нет времени более подробно разбираться.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Проверьте себя на вступительном тесте и смотрите подробнее программу по ссылке.

Источник

Postfix in Plesk: Out: 451 4.3.0 Error: queue file write error

Mattias Geniar, August 02, 2011

Follow me on Twitter as @mattiasgeniar

As the administrator of a Linux server running the Plesk Controlpanel, you may receive e-mails like this if you’re running Plesk 9.x.

Disk space & mailbox quota

Check if you still have sufficient disk space on the server, and if the mailquota of the user that is supposed to receive this mail has not been reached.

Читайте также:  Error 1720 problem with windows installer package

Check the disk usage.

And see the total mailbox quota of that user.

If the disk is either full, or the user has reached its quota, the same error message can occur.

Command time limit exceeded

There’s a few things you can check to troubleshoot it. First, see if any of the following messages are found in the /usr/local/psa/var/log/maillog logfile.

If you see those messages, do a search for the ID found in the spawn[ID] in the logs. See the underlined above.

If you get the above message, with command time limit exceeded, there’s a known fix from Parallels in KB #6074. The default timeout from Postfix is 30 seconds, but that may be insufficient when you’re retrieving large mails with attachments from slow hosts.

File permissions on postfix-queue

Check the file permissions on the postfix-queue file, they should be similar to this.

If you run a 32-bit linux, the file will be in the lib directory instead of lib64.

Adjust the file permissions accordingly.

Nameservers in /etc/resolv.conf

The same problem can occur the nameservers in your /etc/resolv.conf are invalid, causing all DNS lookups to take extremely long and thus causing a timeout in the Postfix services.

Check each nameserver listed there, and see if they respond as you would expect them to.

If the response takes more than 30 seconds, consider removing that nameserver.

Disabling anti-spam routing Postfix

If you’re still experiencing the problem, go into /etc/postfix/master.cf and search for the line beginning with “smtp inet”, usually at the very top.

And change that to

And restart your Postfix.

This effectively disables anti-spam (regardless of what your Plesk may say), to be able to exclude that as the source of the problems.

Источник

[SOLVED] 451 4.3.0 Error: queue file write error

New Member

I keep getting a large number of «451 4.3.0 Error: queue file write error» in logs and also mail notification about it.

I’ve received over 700 of them for just past day, this is for about 30,000 total emails received for the day.

It always happens with a reject/timeout to proxy:

Sep 20 00:12:06 franklin-pmg1 postfix/smtpd[31176]: connect from mta107b.pmx1.epsl1.com[142.54.244.107]
Sep 20 00:12:06 franklin-pmg1 postfix/smtpd[31176]: Anonymous TLS connection established from mta107b.pmx1.epsl1.com[142.54.244.107]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Sep 20 00:12:08 franklin-pmg1 postfix/smtpd[31176]: NOQUEUE: client=mta107b.pmx1.epsl1.com[142.54.244.107]
Sep 20 00:13:48 franklin-pmg1 postfix/smtpd[31176]: warning: timeout talking to proxy 127.0.0.1:10024
Sep 20 00:13:48 franklin-pmg1 postfix/smtpd[31176]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 20 00:13:53 franklin-pmg1 postfix/smtpd[31176]: disconnect from mta107b.pmx1.epsl1.com[142.54.244.107] ehlo=2 starttls=1 mail=1 rcpt=1 data=0/1 quit=1 commands=6/7

And then it is delivered successfully few minutes later:

Sep 20 00:17:09 franklin-pmg1 postfix/smtpd[31387]: connect from localhost[127.0.0.1]
Sep 20 00:17:09 franklin-pmg1 postfix/smtpd[31387]: 86795143AA: client=localhost[127.0.0.1], orig_client=mta107b.pmx1.epsl1.com[142.54.244.107]
Sep 20 00:17:09 franklin-pmg1 postfix/cleanup[31388]: 86795143AA: message-id=
Sep 20 00:17:09 franklin-pmg1 postfix/qmgr[694]: 86795143AA: from= , size=65874, nrcpt=1 (queue active)
Sep 20 00:17:09 franklin-pmg1 postfix/smtpd[31387]: disconnect from localhost[127.0.0.1] ehlo=1 xforward=1 mail=1 rcpt=1 data=1 commands=5
Sep 20 00:17:10 franklin-pmg1 postfix/smtp[31389]: 86795143AA: to= , relay=host.domain.com[2602:ffb8::#:#:#:#]:25, delay=0.5, delays=0.03/0.04/0.08/0.35, dsn=2.0.0, status=sent (250 ok 1600575430 qp 3724)
Sep 20 00:17:10 franklin-pmg1 postfix/qmgr[694]: 86795143AA: removed

pmg-smtp-filter is running just fine

I’ve tried to increase number of pmg-smtp-filter processes to the following:

> $max_servers = $pmg_cfg->get(‘mail’, ‘max_filters’) + 100;
> $min_servers = 50;
> $min_spare_servers = 25;
> $max_spare_servers = 100;
> $max_requests = 1000;

but that didn’t seem to have any effect.

Any idea what is happening or why? I’ve searched the past forum posts and seems it happens to others, but no one really resolved it as to why it happens.

hata_ph

Well-Known Member
New Member

There are no errors starting pmg-smtp-filter and it is running:

ps -ef |grep pmg-smtp-filter
root 16109 1 0 05:59 ? 00:00:05 /usr/bin/perl /usr/bin/pmg-smtp-filter
root 16145 16109 0 05:59 ? 00:00:01 pmg-smtp-filter child
root 16146 16109 0 05:59 ? 00:00:01 pmg-smtp-filter child

Читайте также:  Net minecraftforge fml common loaderexceptionmodcrash caught exception from bspkrscore

I’ve restarted it:

Sep 24 05:59:42 franklin-pmg1 systemd[1]: Stopping Proxmox SMTP Filter Daemon.
Sep 24 05:59:43 franklin-pmg1 pmg-smtp-filter[651]: 2020/09/24-05:59:43 Server closing!
Sep 24 05:59:43 franklin-pmg1 systemd[1]: pmg-smtp-filter.service: Succeeded.
Sep 24 05:59:43 franklin-pmg1 systemd[1]: Stopped Proxmox SMTP Filter Daemon.
Sep 24 05:59:43 franklin-pmg1 systemd[1]: Starting Proxmox SMTP Filter Daemon.
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: Process Backgrounded
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: 2020/09/24-05:59:45 main (type Net::Server: reFork) starting! pid(16109)
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: Binding to TCP port 10023 on host 127.0.0.1 with IPv4
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: Binding to TCP port 10024 on host 127.0.0.1 with IPv4
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: Group Not Defined. Defaulting to EGID ‘0’
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: User Not Defined. Defaulting to EUID ‘0’
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: Setting up serialization via flock
Sep 24 05:59:45 franklin-pmg1 pmg-smtp-filter[16109]: Filter daemon (re)started (max. 40 processes)
Sep 24 05:59:45 franklin-pmg1 systemd[1]: Started Proxmox SMTP Filter Daemon.
Sep 24 05:59:50 franklin-pmg1 pmg-smtp-filter[16109]: WARNING: Use of uninitialized value in numeric lt (

Stoiko Ivanov

Proxmox Staff Member

Best regards,
Stoiko

Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation

New Member

pmgversion -v
proxmox-mailgateway-container: 6.2-1 (API: 6.2-5/05a7829e, running kernel: 5.4.55-1-pve)
pmg-api: 6.2-5
pmg-gui: 2.2-2
clamav-daemon: 0.102.4+dfsg-0+deb10u1
libarchive-perl: 3.3.3-1
libjs-extjs: 6.0.1-10
libjs-framework7: 4.4.7-1
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.2-2
libpve-http-server-perl: 3.0-6
libxdgmime-perl: 0.01-5
lvm2: not correctly installed
pmg-docs: 6.2-2
pmg-log-tracker: 2.1.7-1
postgresql-11: 11.7-0+deb10u1
proxmox-mini-journalreader: 1.1-1
proxmox-spamassassin: 3.4.4-2
proxmox-widget-toolkit: 2.2-12
pve-xtermjs: 4.3.0-1

I’ve made Bayes and AWL use Redis for backend. Which is Spamassassin recommended backend for Bayes.

I can disable Bayes and AWL and test to see if still happens.

And I’ve also followed some suggestions from «Advancing Proxmox Mail Gateway» tutorial such as adding DCC and Pyzor and updated KAM rules.

Stoiko Ivanov

Proxmox Staff Member

Best regards,
Stoiko

Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation

New Member

No errors from Redis.

bayes_store_module Mail::SpamAssassin::BayesStore::Redis
bayes_sql_dsn server=127.0.0.1:6379;database=0
use_bayes_rules 1
bayes_auto_learn 1
bayes_learn_to_journal 0
bayes_auto_expire 1
bayes_token_ttl 30d
bayes_seen_ttl 14d

auto_whitelist_factory Mail::SpamAssassin::RedisAddrList
auto_whitelist_redis_server 127.0.0.1:6379
auto_whitelist_redis_prefix awl_
auto_whitelist_redis_expire 5184000

Need to install Mail::SpamAssassin::RedisAddrList through cpan (prefer_external_tar should be turned off in /root/.cpan/CPAN/MyConfig.pm)

Stoiko Ivanov

Proxmox Staff Member

Best regards,
Stoiko

Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation

New Member

Switching from Redis Bayes and AWL to the default file based store did stop the «451 4.3.0 Error: queue file write error» errors so far.

You’re right, it’s not needed to be installed through cpan, though if you try it, it will say it’s already installed.

With the default settings, is the file based bayes/awl store maintained somehow to prevent it from growing indefinitely?

Is bayes/awl recommended for busy server?

Stoiko Ivanov

Proxmox Staff Member

any messages from pmg-smtp-filter around the time when the queue-file write error was reported?

Haven’t looked it up explicitly, but have never heard of a case where the size of the db’s grew so large that it became a problem — I would suggest you try to stick with the file/berkeley-db and keep an eye on the size for a while

In my experience both tend to lead to more false positives than help detection — however my experience is partially based on giving support on our various channels, where people report that the detection rate is not good — so it is probably a bit biased — performancewise I would assume it should not be too expensive.

I hope this helps!

Best regards,
Stoiko

Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation

New Member

There were number of warnings, but the times didn’t exactly match the times of the queue error:

grep «queue fi» /var/log/mail.log |grep «Sep 24 07:34»
Sep 24 07:34:01 franklin-pmg1 postfix/smtpd[26758]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:03 franklin-pmg1 postfix/smtpd[26765]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:05 franklin-pmg1 postfix/smtpd[26003]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:05 franklin-pmg1 postfix/smtpd[26846]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:06 franklin-pmg1 postfix/smtpd[26822]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:09 franklin-pmg1 postfix/smtpd[26158]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:14 franklin-pmg1 postfix/smtpd[26804]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:16 franklin-pmg1 postfix/smtpd[26800]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=
Sep 24 07:34:57 franklin-pmg1 postfix/smtpd[26699]: proxy-reject: END-OF-MESSAGE: 451 4.3.0 Error: queue file write error; from= to= proto=ESMTP helo=

Читайте также:  Error reporting не работает

grep pmg-smtp-filter /var/log/syslog |grep «Sep 24 07:34» |grep WARNING
Sep 24 07:34:00 franklin-pmg1 pmg-smtp-filter[25984]: WARNING: bayes: db_seen corrupt: value=’1′ for 293c3cf6f091d1521aa97f403cfd60ff47c54699@sa_generated, ignored at /usr/share/perl5/Mail/SpamAssassin/Plugin/Bayes.pm line 424, line 2978.
Sep 24 07:34:02 franklin-pmg1 pmg-smtp-filter[25911]: WARNING: bayes: db_seen corrupt: value=’1′ for cd2a57f183572e4a09755c4397134fd860a1da8c@sa_generated, ignored at /usr/share/perl5/Mail/SpamAssassin/Plugin/Bayes.pm line 424, line 1305.
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_20 test, skipping:#012#011(Can’t use string («1») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3010.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_60 test, skipping:#012#011(Can’t use string («611») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3011.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_95 test, skipping:#012#011(Can’t use string («1») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3012.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_50 test, skipping:#012#011(Can’t use string («9») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3013.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_999 test, skipping:#012#011(Can’t use string («1») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3014.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_99 test, skipping:#012#011(Can’t use string («18») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3015.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_80 test, skipping:#012#011(Can’t use string («1») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3016.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_05 test, skipping:#012#011(Can’t use string («1347») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3017.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_00 test, skipping:#012#011(Can’t use string («1») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3018.#012)
Sep 24 07:34:09 franklin-pmg1 pmg-smtp-filter[25904]: WARNING: rules: failed to run BAYES_40 test, skipping:#012#011(Can’t use string («50») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 3019.#012)
Sep 24 07:34:16 franklin-pmg1 pmg-smtp-filter[25913]: WARNING: rules: failed to run BAYES_20 test, skipping:#012#011(Can’t use string («1») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 1141.#012)
Sep 24 07:34:16 franklin-pmg1 pmg-smtp-filter[25913]: WARNING: rules: failed to run BAYES_60 test, skipping:#012#011(Can’t use string («188») as an ARRAY ref while «strict refs» in use at /usr/share/perl5/Mail/SpamAssassin/BayesStore/Redis.pm line 592, line 1142.#012)

In my experience both tend to lead to more false positives than help detection — however my experience is partially based on giving support on our various channels, where people report that the detection rate is not good — so it is probably a bit biased — performancewise I would assume it should not be too expensive.

Источник

Оцените статью
toolgir.ru
Adblock
detector