私は現在Debian6を実行しているサーバーを持っており、postfix
とdovecot
がメールを処理しています。このサーバーは多くのドメインとユーザーの電子メールをホストしているので、ユーザーと転送、および関連するすべてのバッキングストアとしてMySQLを使用しています。
現在、このサーバーは、サービスを提供するすべてのドメインのMX
レコードにリストされている唯一のサーバーです。優先度の低いDNSにリストされるセカンダリサーバーを作成したいので(たとえば、現在のプライマリサーバーは優先度5、セカンダリは優先度10になります)、プライマリサーバーを再起動する必要がある場合、またはそれ以外の場合は使用不可にすると、セカンダリサーバーは電子メールを受信し、プライマリサーバーが復旧するまで保持します。復旧すると、保留中の電子メールがプライマリサーバーに配信されます。
バックアップ送信サーバーとして機能するためにセカンダリサーバーは必要ありません。ユーザーはセカンダリサーバーを表示する必要はなく、プライマリサーバーがダウンしても受信メールが失われることはなく、プライマリが復旧するまで送受信できません。
どうすればこれを行うことができますか?私はすでにそれらの管理に精通しているので、彼らがこのタスクを処理できるのであれば、同じソフトウェアを使用したいと思います。
PostfixをプライマリおよびセカンダリMXとしてセットアップする方法に関する完全なドキュメントがあります。ガイドに従ってください: http://www.postfix.org/STANDARD_CONFIGURATION_README.html#backup
プライマリが利用できない場合、外部メールサーバーはメールをキューに入れ、最大5日間配信を再試行します。ほとんどのスパマーが最初にセカンダリに配信するため、追加のMXを設定していません。多くの場合、このサーバーはプライマリほど良好に維持されていません。
summa summarum:多くの作業、少ない利益。世界があなたのメールをキューに入れましょう!
keepalived
やheartbeat
などの利用可能なHAソリューションの1つを使用する必要があります。このパッケージは、サーバーの1つにVIPを割り当てます。もう1つのサーバーはアイドル状態になります。
次に、DNS MXレコードに仮想IP(VIP)を設定する必要があります。
プライマリサーバー(VIPを保持している)がダウンすると、他のサーバーはVIPを取得し、電子メールを送受信できるようになります。ユーザーは、IP移行期間を除いてこれにまったく気付かないはずです。 2つのノード間(数秒)。
考慮すべき1つのポイントは、電子メールディレクトリの同期です。 2つのサーバー間で電子メールディレクトリを同期して、2つのサーバー間で切り替えが発生したときに電子メールが失われないようにするメカニズムが必要です。
バックアップMXはほとんど役に立たないが、他のサーバーのキューイングポリシーで中継したくないので、それでも使用しているが、クライアントのすべての電子メールトランスポートを制御している。ただし、MXホストが見つからない場合、メールは配信不能として返送されるため、最も重要なことはDNSサーバーをバックアップすることです。セカンダリMXサーバーのセットアップは非常に簡単です。接尾辞とトランスポートマップ(ルート)を使用するだけです。
通常、この種のシナリオでは、実際のメールサーバーの前にスパムフィルターボックスを配置し、実際のサーバーがダウンしたときにメールをキューに入れます。また、メールサーバーからスパムフィルタリングをオフロードするという追加の利点もあります。