Всем доброго времени суток!
Обслуживая связку Пограничный сервер Postfix плюс Exchange 2016 я вдруг столкнулся с проблемой.Почтовый сервис не принимал письма снаружи. На внутреннюю жалоб не было или не доходили. Причем сначала начинались тормоза а потом и вовсе замерзал. Первым делом посмотрел свободное место на диске. На системном диске Exchange было больше 16Гб. По моему разумению этого было вполне достаточно.
Давайте разбираться
Раз почта не приходит снаружи, я начал первоначально грешить на Postfix. Но у него очередь на входе росла а на Exchange не пересылалась.
Изучая логи Postfix я увидел любопытные строки. А именно Insufficient system resources с путем до очереди сообщений Exchange. Причем при попытке отправки сообщения Exchange он ругался. Рестарт служб не помогал. Помогала ненадолго перезагрузка Exchange и все.
Поискав в интернете я нашел вот эту статью
http://winitpro.ru/index.php/2016/12/23/oshibka-exchange-452-4-3-1-insufficient-system-resources/
В результате выяснилась любопытная деталь.Так как сервер у меня был виртуальный, то добавить место на системный диск не составило труда. После чего все запустилось без проблем.
Причина возникновения ошибки – окончание свободного места на диске, на котором находятся очереди службы Exchange Hub Transport. Дело в том, что в Exchange есть специальный компонент мониторинга доступных ресурсов Back Pressure, который в том числе отслеживает свободное место на диске, на котором хранятся очереди транспортной службы Exchange.
При превышенной пороговых значений Exchange может:
порог Medium (90%) — перестать принимать по SMTP почту от внешних отправителей (почта от MAPI клиентов при этом обрабатывается)
порог High (99%) — обработка потока почты полностью прекращается
Примечание. 90% и 99% на самом деле приблизительные цифры, на самом деле есть формула расчета. Но на практике, достаточно ориентироваться на эти значения. Так на 40 Гб диске, на котором храниться транспортная очередь должно быть свободно минимум 4 Гб места.
Сама очередь живет тут
C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue
В принципе для решения данной проблемы нужно следить за состоянием системного диска и периодически освобождать место. У Exchange очень много места занимают логи IIS.
Так же можно перенести саму очередь на другой диск.
Приведу выдержку из статьи
Если же освободить место не удается, можно переместить каталог транспортной очереди Exchange на другой диск.
Путь к каталогу с очередью задается в конфигурационном файле $env:exchangeinstallpath\bin\EdgeTransport.exe.config следующими переменными:
<add key="QueueDatabasePath" value="C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\data\Queue" />
<add key="QueueDatabaseLoggingPath" value="C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\data\Queue" />
Достаточно указать новый путь до каталога с очередью, и перезапустите службу Microsoft Exchange Transport (Restart-Service MSExchangeTransport)и Exchange автоматически их создаст.
Примечание. Проверьте, что в новом каталоге появились файлы Mail.que, Trn.chk, Trn.log, Temp.edb и т.д. Файлы в старом каталоге можно удалить, т.к. они более не нужны.
Комментариев нет:
Отправить комментарий