The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта)
Изначальное сообщение [ Отслеживать ]

"Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от a4t3rburn3r (ok) on 31-Янв-18, 19:41 
Добрый день коллеги.

Случилась у меня на рабочем сервере неожиданная проблема, вчера 30-го все работало отлично, но сегодня 31-го сервер попросту перестал отдавать содержимое ящика клиенту.

Структура следующая:
1. релей ubuntu 14.04 dovecot + postfix + amavis
2. основной сервер ubuntu 14.04 dovecot + postfix (к нему все за почтой и подключаются)
3. веб морда ubuntu 14.04 roundcube на отдельном сервере
4. авторизация на отдельном ldap сервере тоже ubuntu 14.04
5. почтовые ящики лежат на qnap-е который монтируется на сервера по nfs

Все было отлично до сегодняшнего дня, почта приходила и уходила. Сегодня веб морда авторизует пользователей, но не может показать содержимое почтового ящика. Тоже самое в клиенте - outlook, thunderbird - авторизация проходит, но клиент висит и по таймауту пишет что сервере не ответил. При этом используя openssl я могу зайти на сервер из командной строки, и после авторизации он доооолго думает (минуты 2) и пускает на сервер, командой LIST я могу получить список писем. При этом почта превосходно уходит (можно из почтового клиента произвести отправку). Так же почта приходит - я вижу ее в самих ящиках на сервере как новую, но отправителю из вне приходит сообщение от сервера:

This is the mail system at host mail.my.domain.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
                   The mail system
<user@my.domain> (expanded from <user@my2.domain>): Command time
    limit exceeded: "/usr/lib/dovecot/deliver"

Единственное что я нашел в логах - сегодня в 2:43 массово посыпались сообщения на основном сервере:

Jan 31 02:43:03 mail postfix/pipe[15106]: warning: pipe_command_read: read time limit exceeded
Jan 31 02:43:03 mail postfix/pipe[15106]: 5F64E60552: to=<recipient_bcc+recipient_bcc+user@my3.domain>, relay=dovecot, delay=1000, delays=0.04/0.02/0/1000, dsn=5.3.0, status=bounced (Command time limit exceeded: "/usr/lib/dovecot/deliver")

Весь лог забит этим, но такие сообщения только на основном сервере, на релее такого нет. До этого такого не было. По логам авторизация проходит успешно, сервер видит ящики, технически все работает (сервера я перезагружал), раскатывал из бэкапов 100% рабочие, конфигурация серверов не менялась вообще, никто ничего не трогал, но основной сервер не отдает содержимое ящиков. Нужна срочная помощь - уже не знаю куда смотреть.

PS нагрузки на сервера нет - процессор не нагружен, память тоже. Дисковая подсистема так же в порядке - хранилище примонтировано и работает нормально.

PSS создается впечатление что дело не в конфигурации сервера а в контенте, такое чувcтсво что dovecot что то не может прочитать или отдать и висит. Т.к. развернутый из бэкапа сервер, который полностью работал - показывает туже картину.

Спасибо.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +1 +/
Сообщение от eRIC (ok) on 31-Янв-18, 21:46 
>Jan 31 02:43:03 mail postfix/pipe[15106]: warning: pipe_command_read: read time limit exceeded
>Jan 31 02:43:03 mail postfix/pipe[15106]: 5F64E60552: to=<recipient_bcc+recipient_bcc+user@my3.domain>, relay=dovecot, delay=1000, delays=0.04/0.02/0/1000, dsn=5.3.0, status=bounced (Command time limit exceeded: "/usr/lib/dovecot/deliver")

проблема в том что не отрабатывает команда, по времени выполняется очень долго:
mailbox_command = /usr/lib/dovecot/deliver куда еще передаются параметры

command_time_limit = возможно увеличить чтобы понять

возможно также посмотреть master.cf на наличие этой команды.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от a4t3rburn3r (ok) on 31-Янв-18, 22:02 
Проблема оказалась в хранилище, но я еще не знаю куда точно копать. Я отключил NAS, и вместо него создал локальные каталоги на серверах - все взлетело с пол пинка.
Проверил сеть на хранилище, скорость дисковой подсистемы - все в норме.
Есть подозрение что в файловой структуре либо ошибка либо что то как то лежит, и dovecot его не может считать, от этого виснет. Более точно отпишу, когда пойму что именно там происходит.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от eRIC (ok) on 31-Янв-18, 22:06 
тоже вариант о котором подумал, тогда индексы или кешы Dovecot файлов полетели. версия Dovecot какая?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от a4t3rburn3r (ok) on 31-Янв-18, 23:09 
> тоже вариант о котором подумал, тогда индексы или кешы Dovecot файлов полетели.
> версия Dovecot какая?

2.2.9

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +1 +/
Сообщение от eRIC (ok) on 01-Фев-18, 10:16 
> 2.2.9

староватая однако

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от a4t3rburn3r (ok) on 01-Фев-18, 10:44 
>> 2.2.9
> староватая однако

Ну что в комплекте с убунтой шло, то и есть.
Проблему в общем решил. Заключалась она в хранилище, по каким то причинам хранилище требовало проверку файловой системы, хотя ни сбоев в его работе, ни сбоев  питания не было. При этом само хранилище было примонтировано и сохраняло данные. После проверки ничего не заработало, однако хранилище самостоятельно начало какую-то очистку, видать были какие-то зарезервированные данные. Через 40 минут очистки оно освободило порядка 1,7 ТБ места (я так и не понял откуда). После этого все взлетело на ура. Так что какой-то баг в прошивке. Пока работает так, но решено обновить прошивку, и заменить все жесткие диски на новые WD GOLD.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от Alex_hha on 01-Фев-18, 13:35 
> Проблему в общем решил. Заключалась она в хранилище, по каким то причинам
> хранилище требовало проверку файловой системы, хотя ни сбоев в его работе,
> ни сбоев  питания не было.

а что за фс используется на qnap?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от universite (ok) on 01-Фев-18, 15:19 
>> Проблему в общем решил. Заключалась она в хранилище, по каким то причинам
>> хранилище требовало проверку файловой системы, хотя ни сбоев в его работе,
>> ни сбоев  питания не было.
> а что за фс используется на qnap?

Судя по симптомам - ext3

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от Alex_hha on 01-Фев-18, 17:57 
> по каким то причинам хранилище требовало проверку файловой системы, хотя ни сбоев в его работе, ни сбоев  питания не было.
> Судя по симптомам - ext3

скорее всего при создании фс был выставлен интервал проверки фс, более точно можно глянуть в выводе dumpe2fs /dev/sdХ. Поменять можно через tune2fs -i/-c. Если не изменяет память на CentOS по дефолту выставляется 180 дней или 40 монтирований, но лучше конечно не выключать такие проверки


It is strongly recommended that either -c (mount-count-dependent) or -i (time-
dependent) checking be enabled to force periodic full  e2fsck(8)  checking  of
the  filesystem.   Failure  to do so may lead to filesystem corruption (due to
bad disks, cables, memory, or kernel bugs) going unnoticed, ultimately result‐
ing in data loss or corruption.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от a4t3rburn3r (ok) on 01-Фев-18, 18:18 
>> Проблему в общем решил. Заключалась она в хранилище, по каким то причинам
>> хранилище требовало проверку файловой системы, хотя ни сбоев в его работе,
>> ни сбоев  питания не было.
> а что за фс используется на qnap?

Собственная модификация линукса:
[~] # uname -a
Linux CORVUS 3.4.6 #1 SMP Fri May 22 04:41:50 CST 2015 x86_64 unknown
[~] # cat /etc/issue

Welcome to TS-869U-RP(192.168.100.31), QNAP Systems, Inc.

[~] #

ФС - ext4
/dev/mapper/cachedev1 on /share/CACHEDEV1_DATA type ext4 (rw,usrjquota=aquota.user,jqfmt=vfsv0,user_xattr,data=ordered,delalloc,acl)

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от eRIC (ok) on 06-Фев-18, 16:59 

> Через 40 минут очистки оно освободило порядка 1,7 ТБ места (я
> так и не понял откуда). После этого все взлетело на ура.

это получается задание обслуживания на QNAP отработало чтобы столько места освободить? очень интересно что он освободил...


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

13. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +2 +/
Сообщение от a4t3rburn3r (ok) on 06-Фев-18, 19:21 
>> Через 40 минут очистки оно освободило порядка 1,7 ТБ места (я
>> так и не понял откуда). После этого все взлетело на ура.
> это получается задание обслуживания на QNAP отработало чтобы столько места освободить?
> очень интересно что он освободил...

Нет задания не было. Я проверял. Это похоже связано со способом организации дискового пространства. По сути в qnap-е используется 3 способа выделения дискового пространства - что то типа провизионинга:
1. толстое - когда из дисков создается пул, внутри пула том, который занимает все доступное пространство пула сразу. При этом томом можно манипулировать, например увеличить его.
2. тонкое - так же как в п.1. но том не сразу занимает все пространство а "растет" по мере заполнения
3. просто тупо собрать диски в массив определенного типа заняв все пространство дисков томом.

3-й способ классический и самый производительный касательно работы дисковой подсистемы. 2 - самый гибкий, но показывает хуже результаты по производительности. 3- где-то по середине. Кто то создал 2 -й тип (мне структура досталась в наследство чуть больше года назад - естественно без четкой документации - лишь вики с о статьями описывающими некоторые хэндмейд аспекты). Хотя зачем не понятно - в хранилище все корзины уже заняты. Т.е. добавлять диски некуда. Я думаю именно с этим и была связана процедура очистки. Потому что зайдя на хранилище, ОС хранилища утверждала что из 5 ТБ занято 4,5 ТБ, из них данные 3 ТБ и порядка 1,5 ТБ какой-то кеш. После проверки пула, она автоматически запустил процедуру очистки этого кеша. В тоже время, на серверах примонтированные каталоги NFS показывали четко порядка 3ТБ занятого пространства. Т.е. хранилище само создало какой-то кеш и использовало его для чего-то при этом не уведомляло конечное устройство о реальном состоянии пула. Я так глубоко не разбирался в работе qnap-ов. Для меня схема должна быть максимально надежной, а значит максимально простой - если есть хранилище которое использует дисковый массив и раздает его по NFS, то именно это оно и должно делать: создать RAID массив из дисков указаного типа, отслеживать его состояние и отдавать по соответсвующему протоколу. Что оно там кешировало, зачем и как, я без понятия, тем более в хранилище нет никаких флеш или ссд модулей, да и памяти как кот наплакал - 2GB (в принципе много то и не надо - это же не ZFS).

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от eRIC (ok) on 06-Фев-18, 23:13 
благодарю за развернутый ответ 😀
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Dovecot перестал отдавать содержимое ящика по POP3 и IMAP"  +/
Сообщение от a4t3rburn3r (ok) on 07-Фев-18, 11:07 
> благодарю за развернутый ответ 😀

Да незачто. И да, вся эта канитель работает на базе lvm который раскручен поверх mdadm массива. Жестко =)

[~] # pvdisplay
  --- Physical volume ---
  PV Name               /dev/md1
  VG Name               vg1
  PV Size               5.43 TiB / not usable 1.31 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              1423505
  Free PE               0
  Allocated PE          1423505
  PV UUID               NojlOd-UojT-CnI5-Pq2P-0DmG-l8Fc-wbILij

[~] # mdadm -D /dev/md1
/dev/md1:
        Version : 1.0
  Creation Time : Tue Dec 17 12:01:01 2013
     Raid Level : raid5
     Array Size : 5830678848 (5560.57 GiB 5970.62 GB)
  Used Dev Size : 1943559616 (1853.52 GiB 1990.21 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Wed Feb  7 13:21:46 2018
          State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           Name : 1
           UUID : e4b17bf7:0cdacee0:4f023187:0a9def79
         Events : 6362

    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync   /dev/sda3
       1       8       19        1      active sync   /dev/sdb3
       2       8       35        2      active sync   /dev/sdc3
       3       8       51        3      active sync   /dev/sdd3

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру