Доброго времени суток! После недавних проблем с постфиксом, из-за которых почта не ходила в течении трех часов, родилась идея поднять постфикс на втором сервере, с таким условием, что: оба сервера будут использовать свою базу данных, но иформация в них должна заноситься одновременно, при конфигурировании из постфиксадмина; на обоих серверах возможно локальное хранение почты. Разруливает всю почту сервер номер один, а второй бездействует, но только до тех пор пока не упадет первый сервер. Если это произошло, то что-то(или кто-то) должно говорить клиентам и другим серверам, что надо использовать сервер номер два. Может кто-то натыкался на мануал или знает как сделать. Подскажите пожалуйста.
http://www.freesource.info/wiki/Dokumentacija/Postfix/BackupMX
Насколько я понимаю два сервера в одной локалке(или что-то вроде того - типа имеют более одного интерефейса для подключения в сеть - неважно какую). Тогда можно смотреть либо в сторону MX либо всторону MX + transport_mapОбъяснюсь(для второго варианта). Поднимаешьдва сервака
111.111.111.111(ip1)-server1-(ip2)222.222.222.222
111.111.111.222(ip1)-server2-(ip2)222.222.222.333server1_ip1 MX 5
server2_ip1 mx 10
тогда в транспорте записываешь подобное, на втором сервереserver1_ip smtp:server1_ip2
тогда почта свалившаяся в случае падения доступа по первому МХ на вторичный будет пытаться перепрпавиться по transport_map на первичный через второй канал (локальную сеть, etc)
>тогда в транспорте записываешь подобное, на втором сервере
>
>server1_ip smtp:server1_ip2
>
>тогда почта свалившаяся в случае падения доступа по первому МХ на вторичный
>будет пытаться перепрпавиться по transport_map на первичный через второй канал (локальную
>сеть, etc)
В итоге, если первый недоступен, второй будет пытаться доставить ему сообщения в течение maximal_queue_lifetime (default: 5d). Если за это время первый не поднимется, то отправителю уйдет NDR. А локальный получатель так и не получит это письмо.
>В итоге, если первый недоступен, второй будет пытаться доставить ему сообщения в
>течение maximal_queue_lifetime (default: 5d). Если за это время первый не поднимется,
>то отправителю уйдет NDR. А локальный получатель так и не получит
>это письмо.нет в мире совершенства, потом, если сервер полностью умер, то ему вообще будет сие пофиг. Под умер понимаю обрубление всех каналов с сервака. А так, если хотя бы один живет из двух интерфейсов, то, либо почта честно доставиться по первому интерфейсу, либо со второго MX по второму интерфейсу. Чем плохой вариант?
>нет в мире совершенства, потом, если сервер полностью умер, то ему вообще
>будет сие пофиг. Под умер понимаю обрубление всех каналов с сервака.
Это Вы так понимаете, а человек явно написал "пока не упадет первый сервер".
>А так, если хотя бы один живет из двух интерфейсов, то,
>либо почта честно доставиться по первому интерфейсу, либо со второго MX
>по второму интерфейсу. Чем плохой вариант?
Плохой тем, что не решает поставленной задачи. Требуется на время простоя первого сервера не только принимать письма из вне на втором, но и доставлять их локальным клиентам в ящики. Если Вы пытаетесь решить задачу Backup MX, то не нужно фантазий. Все уже придумано до нас.
http://www.postfix.org/STANDARD_CONFIGURATION_README.html#ba...
Это читал. Но мой вариант, для случая локалк очень хорошо подходит. КОгда первый MX упал (тоесть пропал линк, сам сервер живой и из локалки доступен), второй МХ с живым линком получает письмо и через transport_map пересылает через внутреннюю сеть на первый.
ТОбишь я такую задачу уже однажды решал, очень даже живучее решение.
А уж если совсем умер сервер. ТОгда кластер, резервирование каналов. Но полностью уберечься от точек отказа все равно ведь не удасться, хоть одна да будет.
потом, если уж совсем критично, то может есть смысл посмотреть в сторону heartbeat? отказоустойчевого кластера?
Спасибо за советы, но это все немного не то. Нужно чтобы почта продолжала ходить, чтобы не случилось=) По поводу обрубания каналов: на моей трехгодичной памяти работы с этим серваком канал пропал один раз - в этом году во время пожара. В течении пяти минут был переведен на Макомнет и все опять заработало.
Насчет отказоустойчевого кластера. Думалось, что есть решения помимо этого. Так как поднять сейчас это на машинах, которые работают болбше пяти лет независимо друг от друга, мне представляется сложной задачей. Тем более раньше дела с этим не имел. Толковые ссылочки не подкинете?
http://www.opennet.me/docs/RUS/ha_cluster/
Спасибо. Буду разбираться.
main.cf =
relayhost = 10.10.10.1