В настоящее время я тестирую в лаборатории настройку балансировки избыточности и нагрузки, при которой проверки работоспособности Keepalived подтверждают, что Postfix работает на двух серверах.
Хотя Keepalived работает хорошо, отличное время конвергенции и так далее, в диалоге SMTP он не уходит далеко, он выполняет HELO, проверяет, получает ли он ответ, и все.
Учитывая сложность Postfix, он может давать сбой на различных этапах диалогового окна протокола. Можно ли было бы сказать Postfix, что он должен аварийно завершиться как можно скорее, возможно, до HELO в диалоговом окне. Конечно, я уверен, что мы не рассмотрим каждый сценарий, но в некоторых случаях Postfix может сразу сказать: я не смогу обрабатывать вашу почту, уходите.
Например, если у него есть какие-либо проблемы с ресурсами (раздел заполнен, невозможно выполнить форк и т. Д.).
У кого-нибудь есть идеи, как настроить Postfix, чтобы он действовал таким образом?
Спасибо и привет,
Postfix - это программное обеспечение, устойчивое к ошибкам. Он пытается восстановиться после внутренних ошибок, и обычно сам мастер не умирает. Таким образом, одиночная ошибка / предупреждение не считается триггером завершения, и вместо этого Postfix продолжит работу.
Если вы хотите завершить работу Postfix при первой ошибке / предупреждении, вы должны сделать это вне Postfix. Просмотрите файл журнала, чтобы увидеть предупреждение, которое вас интересует, а затем выполните «постфиксную остановку». В этом случае дальнейшая попытка подключения невозможна, и даже приветствие сервера на порту 25 невозможно. Обратите внимание, что единственный способ повторно активировать систему Postfix - это запустить ее снова вручную.
Но тогда сценарий оказывается контрпродуктивным. Ваша цель - иметь (два) работающих Postfix, но вы охотно убиваете одного. Второй может быть перегружен и тоже погибнет. Позвольте Postfix восстановиться и отслеживать экземпляры postfix, подсчитывая предупреждения журнала вместо неудачных фиктивных SMTP-соединений.
Если вы не отслеживаете журналы, вы также не можете идентифицировать ошибки, такие как разрешение DNS, увеличение очередей, истощение соединения, ...