LINUX.ORG.RU
ФорумAdmin

Резервное копирование входящей и исходящей почты в режиме master - slave

 , ,


0

1

Всем привет. Есть сервер в связке Exim + Dovecot + cPanel. на нем куча кастомеров с почтой. И нужно сделать real time backup solution для почты.

Как пока вижу сам процесс.

Делается дополнительный сервер, и для каждого ящика создаются папки. И когда на основной сервер приходит почта или уходит, она автоматически должна дуюлироваться на резервном сервере. В основном сервере exim.conf прописано:

backup:
  driver = manualroute
  domains = !+local_domains
  require_files = "+/var/cpanel/domain_keys/private/${sender_address_domain}"
  # Exclude null sender messages from relaying via the smarthost
  condition = ${if or {{!eq{$sender_address}{}} {!eq{$sender_host_address}{}}}}
  transport = remote_smtp
  route_list = $domain 255.255.255.255::587
  unseen = true
remote_smtp:
 driver = smtp
 hosts_require_tls = *
 interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
 helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}{$primary_hostname}}
 dkim_domain = $sender_address_domain
 dkim_selector = default
 dkim_private_key = "/var/cpanel/domain_keys/private/${dkim_domain}"
 dkim_canon = relaxed
 headers_add = X-AuthUser: ${if match {$authenticated_id}{.*@.*}\
 {$authenticated_id} {${if match {$authenticated_id}{.+}\
 {$authenticated_id@$primary_hostname}{$authenticated_id}}}}
 #hosts_require_auth = *

Но на данный момент есть проблема — почта с бекап-сервера уходит, но не сохраняется. Как организавать бекап-сервер так, что б он был просто как хранилище для ящиков, куда приходят входящие и отправленные письма? Так сказать принцип работы master - slave. На резервном сервере установлен exim. И как правильно пересылать входящую почту, етот блок не работает корректно:

redir_b:
  driver = manualroute
  domains = *
  transport = remote_smtp
  route_list = * 255.255.255.255::587
  unseen
P.S. IP адреса изменены :)

Единственное правильное решение это кластерищация хранилища, которое подключается к бекендам аля довекотам овер нфс,искази,фибру или прикладные распределенные фс. Все остальное адские костыли и однажды вы чтото потеряете.

anonymous
()
Ответ на: комментарий от anonymous

кластерищация хранилища

Не хранилища, а сервиса smtp. Короче, делаешь кластер из двух нод, master/slave. Сторадж с почтой синхронизируешь через drdb это и будет тебе реальное время и дополнительная надежность. При отказе одной ноды, exim автоматически поднимется на другой.

Bobby_
()

Dovecot не знаю, но копайте в сторону репликации для него. Exim как MTA тут совсем не причем.

anc ★★★★★
()
Ответ на: комментарий от Bobby_

Сторадж с почтой синхронизируешь через drdb это и будет тебе реальное время и дополнительная надежность.

То да, но на дисках, кроме почты, куча разного говна. А выборочно DRDB не синхронизирует.

KERNEL_PANIC ★★★
() автор топика
Ответ на: комментарий от KERNEL_PANIC

Сделай lvm том под почту. Зачем все держать в одной куче?

Bobby_
()
Ответ на: комментарий от anc

Dovecot не знаю, но копайте в сторону репликации для него.

Поддерживаю. Довекот использовал мало, потому про его репликацию ничего не знаю (и скорее всего он её не умеет). Делал репликацию на CyrusIMAP.

MumiyTroll ★★★
()
Ответ на: комментарий от MumiyTroll

и скорее всего он её не умеет

Интересно, откуда такое мнение? Я как-то наоборот предполагаю, что там все должно быть, и с кучей мануалов «для чайников» в нагрузку.

CyrusIMAP

Привет коллегам. Я сам использую цирус. Даже murder осилил, но правда не надолго пригодился.
Однако время от времени подумываю а не свинтить ли на dovecot. Народ вроде хвалит, куча документации и т.д. и т.п. Останавливает - «работает не трогай».

anc ★★★★★
()
Ответ на: комментарий от anc

Интересно, откуда такое мнение?

Я ж там написал - использовал, хоть и мало. Ушел на цирроз из-за дурной реализации ACL и ещё более дурной реализации shared mailbox. Ещё была проблема с производительностью из-за формата хранилища (maildir без индексов).

И вообще, несмотря на родословную цирроза, именно довекот создаёт (создавал) ощущение студенческой под(д)елки.

Впрочем, это было довольно давно - вероятно с тех пор довекот и стал лучше, но «осадочек остался». Так что я за цирроз.

MumiyTroll ★★★
()

Я делал через postfix+procmail - входящие и исходящие письма складывались одному пользователю в папки YYYY/MM/DD

Если сами ящики реплицировать, то dbmail + репликация базы данных тоже работает, но тут надо хорошо соображать в БД и желательно не использовать mysql.

sergej ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.