はじめに
前回は、DRBDを使ってハードディスクのデータ共有を行うための設定について説明しました。今回は、それを使った具体的な構成事例として、メールサーバクラスタを取り上げます。
メールサーバクラスタの課題
メールは、ここ最近はコミュニケーションの手段として重大性を増しています。それを管理するメールサーバの重要性も、次第に高くなりつつあります。しかし、メールサーバを二重化するためには、次の2つの課題をクリアする必要があります。
サーバ間でのデータの引継ぎ
メールサーバでは、受け取ったメールをユーザが読むまでは、サーバ上にメールを保管しなければなりません。また、未送信のメールも確実に相手先に届くように管理する必要があります。
そのため、障害でサーバが待機系に切り替わっても、それまでに受け取ったメールを引き継ぐことができないと、役に立ちません。したがって、単純にサーバを二台並べて、負荷分散装置などを使う構成では、メールサーバの冗長化を実現したとは言えません。
ユーザ認証データの引継ぎ
通常のアクティブ・スタンバイ型のクラスタでは、システム部分は二重化されていません。そのため、各システムのユーザは別々のパスワードファイルで管理されています。
もし、システムユーザへメールを配送するようにメールサーバを設定すると、稼動系と待機系には毎回同じユーザとパスワードを登録していかなければなりません。これは、管理面では非常に面倒になってしまいます。
構成例
今回は、こうしたメールサーバクラスタの課題を踏まえたうえで、heartbeatを使ったクラスタシステムを構築する方法を解説します。
サーバ間でのデータの引継ぎは、前回解説したDRBDを使うことで解決します。
ユーザ認証データの引継ぎについては、LDAPサーバと連携するなど、様々な方法がありますが、今回はDRBD領域上に特別なユーザ認証ファイルを作成して管理する方法について解説します。