Назад | Перейти на главную страницу

Отказоустойчивость SMTP / IMAP, параметры файловой системы?

Учитывая два хоста, на которых запущены службы SMTP и IMAP, как лучше всего сделать их избыточными, чтобы один мог легко взять на себя управление, если другой выйдет из строя?

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

Rsync обязательно потеряет почту, если только это не будет вызвано чем-то вроде fanotify или inotify. И даже тогда я даже не хочу думать о дисковом вводе / выводе для этой установки.

Что вы ищете, так это DRBD для синхронизации файловых систем. http://www.drbd.org/ . Он включен в ядро ​​Linux с версии 2.6.33.

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

Тщательно проверьте все возможности и варианты. Чтобы упростить задачу, я бы использовал второй как полу-холодный резерв. Все SMTP и IMAP будут на одном сервере с распределенной файловой системой (DRBD) на другой сервер. В случае возникновения чрезвычайной ситуации вы отключаете первый, переключаете IP-адреса на другой и перезапускаете другой. В этом случае проще управлять доступом к хранилищу почтового ящика, нет параллелизма и, следовательно, несогласованности.

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

Подведем итог: проблема заключается в одновременном доступе к хранилищу. Решите эту проблему, и у вас будет отказоустойчивость / высокая доступность / балансировка нагрузки.