URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92813
[ Назад ]

Исходное сообщение
"проблема с большими файлами почты в /var/mail/"

Отправлено andlis , 26-Дек-11 12:47 
Наверняка проблема элементарная.. но тогда легче будет мне указать на пути решения :)) выгуглить не удалось.
Пользователи получают почту. Кто-то скачивает ее регулярно, кто-то нет. В последнем случае, если файл почты пользователя /var/mail/userX достигает определенного размера, пользователь не может больше обратиться к почте на сервере. При этом не выдается специфической ошибки, а сервер просто не принимает пароль. Картина одинаковая как при скачке почтовыми агентами, так и через web интерфейс.
Я точно не знаю какой размер файла критический, но вот сейчас такая проблема возникла с файлом в 135 Мб.
Буду очень признателен за указание пути поиска причин.

Содержание

Сообщения в этом обсуждении
"проблема с большими файлами почты в /var/mail/"
Отправлено PavelR , 26-Дек-11 12:57 
> Наверняка проблема элементарная.. но тогда легче будет мне указать на пути решения
> :)) выгуглить не удалось.
> Пользователи получают почту. Кто-то скачивает ее регулярно, кто-то нет. В последнем случае,
> если файл почты пользователя /var/mail/userX достигает определенного размера, пользователь
> не может больше обратиться к почте на сервере. При этом не
> выдается специфической ошибки, а сервер просто не принимает пароль. Картина одинаковая
> как при скачке почтовыми агентами, так и через web интерфейс.
> Я точно не знаю какой размер файла критический, но вот сейчас такая
> проблема возникла с файлом в 135 Мб.
> Буду очень признателен за указание пути поиска причин.

Используйте формат хранения почты Maildir.


"проблема с большими файлами почты в /var/mail/"
Отправлено Ajavrik , 27-Дек-11 09:37 

> Буду очень признателен за указание пути поиска причин.

Будем очень признательны за указание МТА.


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 27-Дек-11 10:23 
>> Буду очень признателен за указание пути поиска причин.
> Будем очень признательны за указание МТА.

Sendmail
Это важно? Мне показалось это общесистемная штуковина.. Например редактор MC также отказывается открывать именно все те файлы, которые не скачиваются из-за размера. Пишет file is too large


"проблема с большими файлами почты в /var/mail/"
Отправлено YuryD , 27-Дек-11 10:28 
>>> Буду очень признателен за указание пути поиска причин.
>> Будем очень признательны за указание МТА.
> Sendmail
> Это важно? Мне показалось это общесистемная штуковина..

Ограничиваете административно время хранения писем на сервере, ищете mpurge, и про крону запускаете его на очистку почтовых ящиков, с ключами или по дате, или по размеру...



"проблема с большими файлами почты в /var/mail/"
Отправлено Pahanivo , 27-Дек-11 10:32 
>>>> Буду очень признателен за указание пути поиска причин.
>>> Будем очень признательны за указание МТА.
>> Sendmail
>> Это важно? Мне показалось это общесистемная штуковина..
>  Ограничиваете административно время хранения писем на сервере, ищете mpurge, и про
> крону запускаете его на очистку почтовых ящиков, с ключами или по
> дате, или по размеру...

mailbox в принципе рудиментарный кривой формат ящика, особенно когда сильно увеличивается количество самих ящиков


"проблема с большими файлами почты в /var/mail/"
Отправлено YuryD , 27-Дек-11 10:37 

> mailbox в принципе рудиментарный кривой формат ящика, особенно когда сильно увеличивается
> количество самих ящиков

Согласен, но золотое правило буравчика гласит - "работает - не трожь"...


"проблема с большими файлами почты в /var/mail/"
Отправлено Дядя_Федор , 27-Дек-11 11:35 
>  Согласен, но золотое правило буравчика гласит - "работает - не трожь"...

Дык судя по первоначальному сообщению - как раз таки и не работает. :) Разве не так? Так что трогать придется.



"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 27-Дек-11 14:22 
>>>>> Буду очень признателен за указание пути поиска причин.
>>>> Будем очень признательны за указание МТА.
>>> Sendmail
>>> Это важно? Мне показалось это общесистемная штуковина..
>>  Ограничиваете административно время хранения писем на сервере, ищете mpurge, и про
>> крону запускаете его на очистку почтовых ящиков, с ключами или по
>> дате, или по размеру...
> mailbox в принципе рудиментарный кривой формат ящика, особенно когда сильно увеличивается
> количество самих ящиков

Я правильно понял, что все в основном пользуются форматом Maildir?


"проблема с большими файлами почты в /var/mail/"
Отправлено Дядя_Федор , 27-Дек-11 16:31 
> Я правильно понял, что все в основном пользуются форматом Maildir?

У любого из этих 2-х форматов есть свои плюсы и минусы. Но в общем случае при очень больших (как у Вас) ящиках - использование maildir - предпочтительнее. А что Вас, собственно, смущает? Есть утилитка для конвертирования mbox в maildir. Ну и естественно, нужно, чтобы LDA Ваш умел раскладывать приходящую почту в формате maildir, а pop3-сервер умел ее брать в том же формате. Если они собраны уже с поддержкой - надо в конфиге обоих это указать. И всего делов-то.



"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 27-Дек-11 17:05 
> - использование maildir - предпочтительнее. А что Вас, собственно, смущает? Есть

Нет, совершенно ничего не смущает. Просто интересуюсь мнениями, чтобы составить свое. Спасибо!


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 27-Дек-11 14:21 
>>>> Буду очень признателен за указание пути поиска причин.
>>> Будем очень признательны за указание МТА.
>> Sendmail
>> Это важно? Мне показалось это общесистемная штуковина..
>  Ограничиваете административно время хранения писем на сервере, ищете mpurge, и про
> крону запускаете его на очистку почтовых ящиков, с ключами или по
> дате, или по размеру...

не-не! это нельзя. я ж не деспот - я подневольный демократ :)))


"проблема с большими файлами почты в /var/mail/"
Отправлено YuryD , 27-Дек-11 14:25 
> не-не! это нельзя. я ж не деспот - я подневольный демократ :)))

Ну тогда ищите почтового клиента, который сможет прочитать unix mailbox в 100Мб без отвала по таймауту.


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 27-Дек-11 14:37 
>> не-не! это нельзя. я ж не деспот - я подневольный демократ :)))
>  Ну тогда ищите почтового клиента, который сможет прочитать unix mailbox в
> 100Мб без отвала по таймауту.

Вы думаете в этом проблема?? Это довольно странно, так как веб-интерфейс (правда не я его писал) дает один в один тот же результат, что и почтовые клиенты. А стоит он там же где и почтовик, вряд ли там появляется таймаут из-за времени обращения.. Да, и пароль сервер переспрашивает вообще без замедления. Или я что-то не понимаю?


"проблема с большими файлами почты в /var/mail/"
Отправлено YuryD , 27-Дек-11 15:39 
> Вы думаете в этом проблема?? Это довольно странно, так как веб-интерфейс (правда
> не я его писал) дает один в один тот же результат,
> что и почтовые клиенты. А стоит он там же где и
> почтовик, вряд ли там появляется таймаут из-за времени обращения.. Да, и
> пароль сервер переспрашивает вообще без замедления. Или я что-то не понимаю?

Для начала - unix mailbox это просто текстовый файл. при типичном pop3-диалоге авторизация идет быстро, ибо она этого файла не касается вообще. а дальше клиент издает команду list для вывода списка всех сообщений в ящике, Pop3-демон при этом будет читать весь этот файл от начала до конца....


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 27-Дек-11 17:08 
>  Для начала - unix mailbox это просто текстовый файл. при типичном
> pop3-диалоге авторизация идет быстро, ибо она этого файла не касается вообще.
> а дальше клиент издает команду list для вывода списка всех сообщений
> в ящике, Pop3-демон при этом будет читать весь этот файл от
> начала до конца....

Ага.. интересный ход.. то есть после команды list судя по результату pop3-демон сбрасывает сессию глядя на размер файла? Это легко проверить. Спасибо! займусь в этом направлении :)) вдруг поможет.


"проблема с большими файлами почты в /var/mail/"
Отправлено Дядя_Федор , 27-Дек-11 17:55 
> Ага.. интересный ход.. то есть после команды list судя по результату pop3-демон
> сбрасывает сессию глядя на размер файла? Это легко проверить. Спасибо! займусь
> в этом направлении :)) вдруг поможет.

Да Вы руками подключитесь к 110 порту (телнетом) и сымитируйте POP3-сессию. И увидите результаты. Ну вот так, например:
1. telnet IP 110
2. USER username
3. PASS password
4. LIST - тут увидите список сообщений в почтовом ящике. Не в подробном виде, а просто в виде 1,2 и т.д.
Если совсем уж интересно - почитайте соответствующий RFC.


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 27-Дек-11 18:41 
>  Да Вы руками подключитесь к 110 порту (телнетом) и сымитируйте POP3-сессию.
> И увидите результаты. Ну вот так, например:
> 1. telnet IP 110
> 2. USER username
> 3. PASS password
> 4. LIST - тут увидите список сообщений в почтовом ящике. Не в
> подробном виде, а просто в виде 1,2 и т.д.
> Если совсем уж интересно - почитайте соответствующий RFC.

:))))))) Спасибо :)) это все я справлюсь :))


"проблема с большими файлами почты в /var/mail/"
Отправлено YuryD , 28-Дек-11 07:44 

> Ага.. интересный ход.. то есть после команды list судя по результату pop3-демон
> сбрасывает сессию глядя на размер файла? Это легко проверить. Спасибо! займусь

Да не демон сбрасывает, а клиент отваливается по таймауту, ибо он истекает до того, пока демон прочитает весь файл. У некоторых pop3-клиентов есть возможность настраивать таймауты...


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 28-Дек-11 08:01 
>> Ага.. интересный ход.. то есть после команды list судя по результату pop3-демон
>> сбрасывает сессию глядя на размер файла? Это легко проверить. Спасибо! займусь
>  Да не демон сбрасывает, а клиент отваливается по таймауту, ибо он
> истекает до того, пока демон прочитает весь файл. У некоторых pop3-клиентов
> есть возможность настраивать таймауты...

Нет-нет, клиент здесь не при чем. Я же говорю - а) весь процесс от ввода пароля до отлупа занимает сотую долю секунды б) самописный клиент установленный там же ведет себя также. таймаут в нем не прописан.
Я вчера не добрался до компа (НГ все-таки :)))) доберусь - напишу кто и в какой стадии сесии ее обваливает.


"проблема с большими файлами почты в /var/mail/"
Отправлено YuryD , 28-Дек-11 08:06 
> Нет-нет, клиент здесь не при чем. Я же говорю - а) весь
> процесс от ввода пароля до отлупа занимает сотую долю секунды б)
> самописный клиент установленный там же ведет себя также. таймаут в нем

логи почитайте :) если предыдущая сессия зависла на сервере, то ящик будет блокирован до таймаута сессии сервера, а в логах mailbox is busy -  соотв авторизация клиента не пройдет моментально...


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 28-Дек-11 08:24 
>  логи почитайте :) если предыдущая сессия зависла на сервере, то ящик
> будет блокирован до таймаута сессии сервера, а в логах mailbox is
> busy -  соотв авторизация клиента не пройдет моментально...

ок, спасибо. Вечером доберусь - отрапортую.


"проблема с большими файлами почты в /var/mail/"
Отправлено Дядя_Федор , 28-Дек-11 08:38 
> ок, спасибо. Вечером доберусь - отрапортую.

Попутно совет. Уже чисто организационный. Ввиду вот такой сложившейся ситуации настоятельно советую сходить к кому-то из руководства (ну, начальнику ИТ отдела, например - я не знаю вашу структуру) рассказать о сложившейся ситуации и попросить довести до всех сотрудников, что хранить почту на сервере вечно - это неправильный подход. Ну и, например, каждому лично довести, что почту необходимо скачивать на СВОЙ компьютер, а не переваливать ответственность за ее хранение на администратора почтового сервера. Ну вот где-то так. :) И вообще крайне недурно было бы ввести квоты на почтовые ящики. Это уже чисто техническая сторона вопроса.



"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 28-Дек-11 08:58 
>  Попутно совет. Уже чисто организационный. Ввиду вот такой сложившейся ситуации настоятельно
> советую сходить к кому-то из руководства (ну, начальнику ИТ отдела, например
> - я не знаю вашу структуру) рассказать о сложившейся ситуации и
> попросить довести до всех сотрудников, что хранить почту на сервере вечно
> - это неправильный подход. Ну и, например, каждому лично довести, что
> почту необходимо скачивать на СВОЙ компьютер, а не переваливать ответственность за
> ее хранение на администратора почтового сервера. Ну вот где-то так. :)
> И вообще крайне недурно было бы ввести квоты на почтовые ящики.
> Это уже чисто техническая сторона вопроса.

Спасибо за совет. Все немного сложнее. Это научная организация. Каждый персонаж - творческая личность, а иногда и сумасшедший с точки зрения снаружи. Насилие над личностью ни к чему не приведет, точнее не приводит. Корпоративной машины (слава богу) нет. Ну я начальник этого "отдела" :) Ну ходил я лет 5, махал руками. Пару раз проводил жесткий курс треннинга (скрывал из зоны видимости файл почты целиком). Самые строптивые перешли на мэйл.ру. Но проблема не исчезла (сразу замечу - это бывает очень редко, раз в год максимум, поэтому мне лет 10 было лень об этом думать). На сегодняшний день никто не хранит почту вечно. Но иногда кто-нибудь присылает на почту пару файлов по 50 мб и до свидания! А избежать этого организационно уже нельзя. Такая вот специфика..


"проблема с большими файлами почты в /var/mail/"
Отправлено YuryD , 28-Дек-11 09:19 
Но иногда кто-нибудь присылает на почту пару файлов по 50
> мб и до свидания! А избежать этого организационно уже нельзя. Такая
> вот специфика..

У всех mta есть maxmessagesize. Давным-давно он был 2Мб примерно у всех. Поставьте его в разумных пределах, и никто не сможет отправить-получить письма большего объема. Квоты - ну не советую...


"проблема с большими файлами почты в /var/mail/"
Отправлено PavelR , 28-Дек-11 10:46 

> хранить почту на сервере вечно  - это неправильный подход.
> почту необходимо скачивать на СВОЙ компьютер, а не переваливать ответственность за
> ее хранение на администратора почтового сервера.

нее, в корне не согласен. Пусть на сервере хранится, тогда её сбэкапить можно, и ты полностью независим от состояния рабочей станции. Пусть там с ней что угодно будет.


> И вообще крайне недурно было бы ввести квоты на почтовые ящики.
> Это уже чисто техническая сторона вопроса.

Квоты - это уже по ситуации. Диски нонче не сильно дорогие, но чистить ящики тем не менее надо. "хранить почту на сервере вечно", но не всю, а только реально нужную, вот это пользователям надо донести. Может быть и простимулировать их квотированием...



"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 28-Дек-11 16:13 
Рапортую.

Сессия pop3
+OK
USER userX
+OK
PASS passwdX
-ERR
Connection closed

Операция заняла менее 0.4 сек (время за которое человеческий глаз успевает заметить смену изображения)

лог
popa3d[]: Authentication passed for userX
popa3d[]: Failed or refused to load /var/mail/userX

Забил последнюю фразу в гугль и о чудо человеческой мысли, наконец нашел море дискуссий на эту тему! Дело в моем поп демоне, а я его так любил....
Всем большое спасибо за дискуссию!


"проблема с большими файлами почты в /var/mail/"
Отправлено DeadLoco , 28-Дек-11 21:24 
> Всем большое спасибо за дискуссию!

В общем, вам правильно посоветовали - переходить с мейлбоксов на мейлдиры, и с попы3д - на довекот. Сейчас у меня случаются ящики по 6-7 ГБ размером, в которых лежит по 100к+ писем, причем письма иногда бывают больше 100М :)


"проблема с большими файлами почты в /var/mail/"
Отправлено andlis , 29-Дек-11 16:31 
> В общем, вам правильно посоветовали - переходить с мейлбоксов на мейлдиры, и
> с попы3д - на довекот. Сейчас у меня случаются ящики по
> 6-7 ГБ размером, в которых лежит по 100к+ писем, причем письма
> иногда бывают больше 100М :)

:))) Ну у всех свои пристрастия :))
Я решил проблему перекомпиляцией popa3d. Процесс занял 10 минут. Надеюсь, попа прослужит мне еще несколько лет.
Для устранения проблемы нужно в файле params.h изменить настройки, касающиеся ограничения размера рабочего файла. Там три настройки, непосредственно к моей проблеме имела отношение:
MAX_MAILBOX_OPEN_BYTES


"проблема с большими файлами почты в /var/mail/"
Отправлено DeadLoco , 03-Янв-12 02:41 
> :))) Ну у всех свои пристрастия :))

Тут уже даже дело не в пристрастиях, а в прогрессе.

Во-первых, ЛДА в мейлбокс сам по себе морально устарел - мейлдир гораздо функциональнее. Одна разница в накладных расходах на удаление письма должна заставить задуматься.
Во-вторых, морально устарел ЛДА средствами МТА - он был оправдан (и, местами, оправдан до сих пор) на старых системах, где почта используется, в основном, для системных уведомлений мылом. Если же у нас поддерживаются почтовые домены с ящиками для юзеров, делать ЛДА из МТА чревато головняком с пермишнами при ПОП/ИМАП.
В-третьих, тот же довекот, который умеет как ПОП/ИМАП, так и ЛДА, имеет в комплекте массу полезнейшего функционала - квоты, сортировки, вакации, экспирации, уведомления по событиям, аудит и прочая.

В общем, хоть я и сам начинал со связки сендмейл+попа3д, но сейчас считаю, что возня с ней - это уже далеко за гранью принципа "работает - не трогай".


"проблема с большими файлами почты в /var/mail/"
Отправлено Дядя_Федор , 04-Янв-12 12:45 
> :))) Ну у всех свои пристрастия :))
> Я решил проблему перекомпиляцией popa3d. Процесс занял 10 минут. Надеюсь, попа прослужит
> мне еще несколько лет.
> Для устранения проблемы нужно в файле params.h изменить настройки, касающиеся ограничения
> размера рабочего файла. Там три настройки, непосредственно к моей проблеме имела
> отношение:
> MAX_MAILBOX_OPEN_BYTES

На всякий случай замечу, что в popa3d есть поддержка и мейлбокс и мейлдир. То есть - его можно скомпилировать или так, или так. Это на будущее - если вдруг захотите.