Схема: как реализовать "вторичный" почтовый сервак?

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Fast_Deer
мл. сержант
Сообщения: 131
Зарегистрирован: 2013-01-09 10:56:34

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение Fast_Deer » 2020-01-27 2:26:46

Здравствуйте!
Собственно, интересует сабж: сама схема реализации (по феншую).
Вводные данные: есть почтовый сервак c dovecot+postfix+USB HDD (в качестве хранения почтовых ящиков). Есть желание поднять запасной сервер, на случай если основной будет вырублен и при этом доступ к почте и ящикам должен быть. Как это можно реализовать?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение snorlov » 2020-01-27 9:53:13

Понятие "основной сервер вырублен" стремное... Может быть все что угодно, а так в принципе, вам нужны только база mysql, до почтовые ящики, ну и конфиги exim/divecot/mysql, хотя все зависит от реализации, при этом помнить, что надо и о dns'е позаботиться...

Аватара пользователя
Fast_Deer
мл. сержант
Сообщения: 131
Зарегистрирован: 2013-01-09 10:56:34

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение Fast_Deer » 2020-01-27 22:10:55

snorlov писал(а):
2020-01-27 9:53:13
Понятие "основной сервер вырублен" стремное
Увы, но такое тоже бывает: иногда вырубаю принудительно на профилактику и вот в это время нужна работа второго сервака, чтоб к нему был доступ как извне так и от своих клиентов (чтоб почта работала)
Забыл уточнить: полная связка postfix + dovecot + LDAP (в качестве базы аккаунтов на отдельном серваке) + USB HDD (в качестве хранения почтовых ящиков). С DNS'ом проблем нет: стоит собственный.
Поднять на другом серваке связку postfix + dovecot проблема не большая, а вот что делать с ящиками - тут затык (как их синхронизировать?).
На крупных почтовых серверах встречаются DNS записи типа mx1.domain.com и mx2.domain.com. То есть там как то реализовывается схема запасным почтовым серваком, причем для пользователей все прозрачно - для них есть только один серв mail.domain.com

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение snorlov » 2020-01-28 1:12:21

дык вы все равно сервак будете тормозить, вот и заберете ящики, то биш USB-устройство, которое и воткнете в другой сервак, а потом обратный финт, вообще поставьте схд, не обязательно промышленную, подключите ее как хочется, по nfs например, и положите на нее базу mysql и почтовые ящики, вырубили основной сервак, запустили на вторичнике mysql, exim, dovecot...

Аватара пользователя
Fast_Deer
мл. сержант
Сообщения: 131
Зарегистрирован: 2013-01-09 10:56:34

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение Fast_Deer » 2020-01-28 4:51:33

Спасибою буду думать в этом направлении

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение xM » 2020-02-05 23:31:36

То, что вам надо, реализуется cинхронизацией данных master - master на всех уровнях.
На выходе у вас получится два сервера с идентичным набором данных каждый из которых может выполнять работу другого и, по восстановлении его работоспособности, синхронизировать новые данные.
Я такое делал на базе связки Exim - Dovecot - MySQL в среде FreeBSD.
IT voodoo blog https://kostikov.co

Аватара пользователя
Fast_Deer
мл. сержант
Сообщения: 131
Зарегистрирован: 2013-01-09 10:56:34

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение Fast_Deer » 2020-02-08 14:30:45

А на базе чего это реализуется? Подробности можно?

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение xM » 2020-02-08 17:13:27

Fast_Deer писал(а):
2020-02-08 14:30:45
А на базе чего это реализуется? Подробности можно?
На базе встроенных механизмов в вышеупомянутых серверах.
В Dovecot это dsync, а в MySQL это репликация. Всё это подробно задокументировано и особенных сложностей не вызывает.
IT voodoo blog https://kostikov.co

Аватара пользователя
Fast_Deer
мл. сержант
Сообщения: 131
Зарегистрирован: 2013-01-09 10:56:34

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение Fast_Deer » 2020-02-12 7:36:25

Спасибо. Теперь я знаю "куда копать". Будем разбираться

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение Demis » 2020-02-17 12:11:31

По поводу доступности "основной почтовой программы/хранилища" в относительно простом варианте ребята все верно пишут.
Обратите внимание, что:
Fast_Deer писал(а):
2020-01-27 22:10:55
На крупных почтовых серверах встречаются DNS записи типа mx1.domain.com и mx2.domain.com. То есть там как то реализовывается схема запасным почтовым серваком, причем для пользователей все прозрачно - для них есть только один серв mail.domain.com
Это только лишь создание запасных "точек входа" для MTA.
Т.е. чтобы письмо на домен было вообще получено/принято "из вне".
Иначе говоря, если не работает один сервак, приедет через другой принимающий.
С которыми тоже можно поиграть.
Например, отлавливая "большеразмерные" сообщения и перекидывая их прием на отдельный сервак (и часто другой канал связи), чтобы не грузить основную очередь из быстрых, коротких, сообщений.
Многие "крупняки" так поступают.

На самом MTA сообщения хранятся, по дефолту, 48 часов.
Это на случай если "основная почтовая программа/хранилище" не доступна в силу каких-то причин.
После возврата в строй которой письма разгребаются по таймингам очереди, либо принудительно по SMTP команде ETRN mydomen.com, что требует подстройки под реалии.

Крупняки не много проще поступают (но на начальном этапе сложнее, т.к. требует програмно-технического построения).
Приведу примерную аналогию.
Если понятно как работает RAID5, то это не вызовет проблем понимания.
Когда вылетает диск из пула в рейде, мы просто вынимаем битый диск и вставляем чистый новый. Проходит ресинк и рейд живой. Нет потери данных, нет необходимости останавливать хранилище.

Так-же и с почтовиками. Только за техническую единицу хранения в пуле нужно принимать уже не диск, а железку в целом, сервер. Из которых и состоит пул. Вылет одного из них никак не влияет на потерю данных или доступность.

Аватара пользователя
Fast_Deer
мл. сержант
Сообщения: 131
Зарегистрирован: 2013-01-09 10:56:34

Схема: как реализовать "вторичный" почтовый сервак?

Непрочитанное сообщение Fast_Deer » 2020-02-17 23:19:56

Спасибо за разъяснения
Но у меня почта не нагруженная. От слова "совсем". Но вот доступность этой почты очень нужна даже если серв остановлен на профилактику....
Поднять и настроить 2 одинаковых серва с postfix + dovecot не проблема. Проблема была именно с синхрой инфы, но это мне уже объяснили - буду копать.