Exim балансировка нагрузки.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-09 17:33:31

Всем доброе время суток!
подошел к вопросу построения почтовой системы,а именно с балансировкой ввходящей и исходящей нагрузки.
то есть что хочется учидить в результате, Exim балансер , за нима стоят несоклько mta на которые совственно он и должен балансировать нагрузку. в связи с этим я не нашел такой функции у exim , посоветуйте если ли у него такие плишли и если нет то в какую сторону идти или может быть уйти в сторону postfix ?
совственно и изходящий потом то же самое баланчер и несколько сервером за ним....
Спасибо! :sorry:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim балансировка нагрузки.

Непрочитанное сообщение blade_007 » 2011-05-09 19:46:00

Чем балансировка с помощью днс не устраивает?

mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Re: Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-09 21:09:54

то есть просто прописать два mx c разным приоритетом? и где же там балансировка? если просто прописать 2 mx с разным приоритетом , учитывая это если пойдет большая нагрузка, то сначало нагнет первый по приоритету а потом второй, так как все письма изначально будут ломиться на первый в приоритете, и елси он не бобо то уже на второй. да и что касатеся исходящей балансировки?

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim балансировка нагрузки.

Непрочитанное сообщение blade_007 » 2011-05-09 21:37:12

Код: Выделить всё

domain.ru. IN MX 10 mx1.domain.ru.
domain.ru. IN MX 10 mx2.domain.ru.

mx1.domain.ru. IN A 1.1.1.1
mx2.domain.ru. IN A 2.2.2.2 
или

Код: Выделить всё

domain.ru. IN MX 10 mxs.domain.ru.
domain.ru. IN MX 20 mxb.domain.ru.

mxs.domain.ru. IN A 1.1.1.1
mxs.domain.ru. IN A 2.2.2.2 
mxb.domain.ru. IN A 31.31.31.31
mxb.domain.ru. IN A 32.32.32.32

mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Re: Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-09 21:50:10

http://ru.wikipedia.org/wiki/%D0%97%D0% ... 1%D1%8C_MX

Чтобы отправить электронную почту на определённый адрес, сервер-отправитель делает DNS-запрос, запрашивая MX-запись домена получателя электронного сообщения (то есть части адреса после символа «@»). В результате запроса возвращается список имён хостов почтовых серверов, принимающих входящую почту для данного домена, а также величину приоритета для каждого из хостов. Сервер-отправитель затем пытается установить SMTP-соединение с одним из этих хостов, начиная с того, у кого значение величины приоритета наименьшее, перебирая каждый из них, пока не удастся установить соединение хотя бы с одним из них. Если же имеется несколько хостов с одинаковыми приоритетами, то должны быть предприняты попытки установить соединение с каждым из них.

то есть каждое приходящее письмо будет долбиться на все сервера с одинаковым приоритетом! Если я правильно понял.
для себя пока нашел 2 более менее варианта, это HAproxy и nginx как балансеры.
ДНС изначально не балансер и не может выполнять такой функции. Если бы mail.ru например делало так , давно бы встало раком.
mailo@mailo-HP:~$ host -t mx mail.ru
mail.ru mail is handled by 10 mxs.mail.ru.
ваш вариант подходит скажем бля того что бы было 2 сервера mx один страховал первый, если вдруг он загнется но почту примет второй, но никак не балансировка нагрузки. ИМХО... если я не прав поправьте

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim балансировка нагрузки.

Непрочитанное сообщение blade_007 » 2011-05-09 22:03:43

Код: Выделить всё

host -t mx yandex.ru
yandex.ru mail is handled by 10 mx.yandex.ru.
host mx.yandex.ru
mx.yandex.ru has address 77.88.21.89
mx.yandex.ru has address 87.250.250.89
mx.yandex.ru has address 93.158.134.89
mx.yandex.ru has address 213.180.204.89
Клиент постучится на первый из X адресов, которые получил от днс-сервера. (Днс-сервер отдает обычно round-robin, балансируя нагрузку. Можно дополнительно уменьшить TTL для A записей. ) Mx-сервер примет письмо, в случае проблем клиент постучится на второй сервер., а не будет 'долбиться на все сервера с одинаковым приоритетом'. Ничего лишнего.

mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Re: Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-09 22:09:31

blade_007 писал(а):

Код: Выделить всё

host -t mx yandex.ru
yandex.ru mail is handled by 10 mx.yandex.ru.
host mx.yandex.ru
mx.yandex.ru has address 77.88.21.89
mx.yandex.ru has address 87.250.250.89
mx.yandex.ru has address 93.158.134.89
mx.yandex.ru has address 213.180.204.89
Клиент постучится на первый из X адресов, которые получил от днс-сервера. (Днс-сервер отдает обычно round-robin, балансируя нагрузку. Можно дополнительно уменьшить TTL для A записей. ) Mx-сервер примет письмо, в случае проблем клиент постучится на второй сервер., а не будет 'долбиться на все сервера с одинаковым приоритетом'. Ничего лишнего.

больше чем уверен это скорее всего балансеры yandex, а не реальные mx ;-)
рауд робин это костыль а не балансер, потом записи dns кешируются в вторичных, локальных, кеширующий и тд dns серверах! а это значит что в этом случае рауд робин не сможет работать корректно, потом если упал mx или несколько, как вы быстро выведите из нагрузки эти mx ? будите ждать пока все днс сервера не обновят запись из корневого днс сервера? ну вот никак меня пока не может это убедить.... опять же если ошибаюсь поправьте

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim балансировка нагрузки.

Непрочитанное сообщение blade_007 » 2011-05-09 22:14:19

Я не зря упомянул про TTL. Кроме того, я не собираюсь вас убеждать - я лишь высказал свое мнение.
"Больше, чем уверен" и "скорее всего" - две большие разницы.

mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Re: Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-09 22:24:32

ну хорошо, делаем TTL 1h , 1 час будут долбиться в нерабочи сервера, потом насколько увеличивается нагрузка на ДНС ?
я не прошу меня убедить, я в поиске нормального продакшин решения. пока мы обсуждаем только один вариант. Думаю было бы не плохо подключить
и еще несколько вариантов например HAproxy и Nginx. потом еще один минус DNS, это к примеру, клиенты что у тебя буду тпрописывать, на выбор smtp1-10 кому какой нравится? и где тогда тут будет балансировка? при настройке почтового ящика прописали у себя скажем mx3 ... он сдох... сразу маты в саппорт.. и сапоорт бежит перенастраивать клиенту на другой mx.....

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim балансировка нагрузки.

Непрочитанное сообщение blade_007 » 2011-05-09 22:37:45

См. еще раз пример яндекса. Прописывать клиенту надо адрес разрешаюшийся в 2,3,... адресов.
TTL можно поставить меньше часа, например, 15 минут.
Использовать Haproxy и nginx-smtp-proxy можно, тогда у вас будет единая точка отказа (если не указаны дополнительные mx с меньшим приоритетом), если нужно будет перегрузить балансировщик.

mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Re: Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-09 22:47:00

думаю что это всетаки балансеры, а не MX. ТТL в 15 мин сильно увеличит нагрузку на DNS.
далее failover исключается, тем что балансер будет в кластере так называемом, с 2 мя нодами скажем, и если умирает один второй берет на себя его роль, так что это мелочи. а вот в этом же случает, если у одной записи 10 адресов, ну получил клиент адрес с мертвым мх стукнулся туда.... и...
ну вот если у вас есть опят nginx тапример , расскажите как оно готовится и работает

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim балансировка нагрузки.

Непрочитанное сообщение blade_007 » 2011-05-10 19:50:22

> сильно увеличит нагрузку на DNS
для распределения нагрузки ДНС тоже кластер поставьте.

> балансер будет в кластере так называемом, с 2 мя нодам
Хотите кластер? Никто не против.
Встроенных стредств кластеризации у exim нет, как впрочем и у postfix.
Насчет балансировки нагрузки средствами nginx-smtp-proxy недавно интересовались http://forum.lissyara.su/viewtopic.php?f=20&t=32572, но сами понимаете... Что касается haproxy - он заточен для работы с http-бэкэндами (и здесь весьма неплох, в настройке прост, стабилен).
Задачу лучше чётче сформулировать, потом бить на части. Вообщем, делайте, спрашивайте, может в конце напишите статейку.

mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Re: Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-12 9:23:29

еще один минус ДНС, в то что балансировка может быть не равномерной из за кеширования, если скажем отправитель делает рассылку, получил от днс первым ип одного МТА и начнет на него хреначить 2) е то что пидоры могут например срать в один МТА, и тут ДНС как балансер никак не спасет.

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim балансировка нагрузки.

Непрочитанное сообщение blade_007 » 2011-05-12 9:38:17

1. уже понятно, что вы плохо думаете о балансировке с помощью днс. Не знаю связано ли это с религиозными взглядами или на основе большого опыта эксплуатирования.
2. для этого можно сделать ограничения как на уровне firewall, так и на уровне mail-сервера

mailo
ефрейтор
Сообщения: 52
Зарегистрирован: 2011-05-09 17:28:11

Re: Exim балансировка нагрузки.

Непрочитанное сообщение mailo » 2011-05-12 9:44:16

да я рассматривал такой вариант ограничение сессий через iptables, если это делать на уровне MTA но письма будут получать 421 код ошибки (временная ошибка ) и будут возвращаться к отправителю в очередь. если же это делать через iptables то удаленный MTA , будет думать что мой MTA недоступен и пытаться лукнуться на следующий по приоритету МТА, но опять же это не есть балансировка. а тема как помним была создана по созданию системы с балансировкой.