Remains of this dominion no shadow, sound, or sight... - February 22nd, 2006

Feb. 22nd, 2006

10:52 pm - exim в heartbeat кластере

Довелось поставить кластер для работы почтовым сервером. Решил написать пару-тройку заметок.

Коротко с системе

OS - Debian 3.1

Диковые разделы с данными (почтовые ящики и базы mySQL) зеркалируются DRBD.

Кластер - heartbeat.

MTA - exim. Принимает почту для нескольких доменов и раскладывает в почтовые ящики.

Учётные записи почтовых пользователей в MySQL. Системные аккаунты не используются.

IMAP сервер - courier. Авторизация через MySQL.

Почтовые ящики в формате maildir.

exim

Запускать exim задачей heartbeat не стал, пусть работает одновременно на обеих машинах.

Логика доставки сообщения exim'ом следующая.

Если машина является главной в кластере, то есть раздел DRBD является primary,
файловая система смонтирована, и поднят основной IP, то cообщение доставляется локально.

Если машина не является главной, то exim пытается отправить сообщение на основную машину.
Если доставить не удалось, сообщение замораживается.

Это делается в первом роутере.

# Глобальная конфигурация

# ...

domainlist local_domains = @ : lsearch;/etc/exim4/local_domains

CLUSTER_MASTER_IP = 1.2.3.4

IS_CLUSTER_MASTER = ${run{/bin/sh /etc/ha.d/resource.d/IPaddr2 CLUSTER_MASTER_IP status}{running}{}}

# ...

begin routers

route_to_master:
  driver = manualroute
  transport = remote_smtp
  domains = +local_domains
  condition = ${if eq{IS_CLUSTER_MASTER}{running}{no}{yes}}
  route_list = * CLUSTER_MASTER_IP
  no_more

(Оставить комментарий)
Previous day (Calendar) Next day