2013年2月6日水曜日

postfix DB参照先の冗長化

postfixでルックアップテーブルとしてMySQLやPostgreSQLを指定した場合、クエリーの投げ先として複数ホストを指定する事で、参照先を冗長化できる。


<構成例>
relay_recipient_maps = proxy:mysql:/etc/postfix/mysql_relay_recipent_maps.cf
hosts = db01.example.jp db02.example.jp db03.example.jp
user = user01
password = password
dbname = mail
query = SELECT username FROM mailbox WHERE username='%s' AND status='active'


ただし、このように複数ホストを指定した場合に注意することがある。

それは、postfixは指定されたホストにランダムにクエリーをかけるので、どのホストにクエリーをかけても同じ答えが返ってくるようにすることです。

あたり前の話ですが、上記の例のように3台のホストを指定してあっても、実際のデータが1台にしか存在しない場合、データが存在しない他の2台のホストにクエリーがいってしまうと意図した結果がpostfixに返ってきません。
#認証で利用していたなら、認証失敗となってしまいます

0 件のコメント:

コメントを投稿