heartbeatクラスタには、次のような設定ファイルが必要です。
heartbeatがR1対応で実行されているか、 CRM モードで実行されているかに応じて、追加の設定ファイルが必要になります。詳細は、「heartbeat R1スタイルのクラスタでDRBDを使用する」および 「heartbeat CRM対応クラスタでDRBDを使用する」を参照してください。
autojoin none mcast bond0 239.0.0.43 694 1 0 bcast eth2 warntime 5 deadtime 15 initdead 60 keepalive 2 node alice node bob
autojoinをnoneに設定すると、クラスタノードの自動検出が無効になります。この場合は、nodeオプションを使用して、明示的にクラスタノードを指定する必要があります。ノードの数が固定のクラスタ(R1スタイルのheartbeatクラスタ)の場合は、これによりクラスタの起動が高速になります。
この例では、bond0がクラスタの共有ネットワークのインタフェースで、 eth2が両ノード間のDRBDレプリケーション専用のインタフェースです。したがって、マルチキャストハートビートをbond0に使うことは適切です。同様に、eth2 は共有ネットワークでないため、ブロードキャストも適切な選択といえます。
次のオプションでノード障害の検出に関わるパラメータを設定します。これらのオプションで、対向ノードが動作していない可能性があるという警告を出すまでの時間(warntime)、対向ノードが動作していないと確定するまでの時間(deadtime)、およびクラスタ起動時に別のノードがチェックインするまで heartbeatが待機する最大時間(initdead)を指定します。 keepalive は、 heartbeatがキープアライブパケットを送信する間隔を指定します。これらのオプションはすべて秒単位で指定します。
nodeオプションでクラスタメンバを指定します。このオプションの値は、uname -nで指定したクラスタノードのホスト名と正確に同一である必要があります。
crmオプションを指定しない場合は、 CRMが無効になり、クラスタはR1対応モードで動作 します。構成にcrm yesと記述すると、 heartbeatはCRMモードで動作します。
/etc/ha.d/authkeysには、クラスタノードの相互認証に使用する事前共有秘密鍵を指定します。これはrootだけが読み取り可能で、形式は次のようになります。
authnumnumalgorithmsecret
numは1から始まる簡単なキーインデックスです。通常は、authkeysファイルに記述されるキーは1つだけです。
algorithmは使用される署名アルゴリズムです。 md5またはsha1を使用できます。 crcは簡単な巡回冗長検査で、安全ではないため使用しないでください。
secretが実際の認証キーです。
次のシェルハックを使用して、生成された秘密鍵からauthkeysファイルを作成できます。
( echo -ne "auth 1\n1 sha1 "; \ dd if=/dev/urandom bs=512 count=1 | openssl md5 ) \ > /etc/ha.d/authkeys chmod 0600 /etc/ha.d/authkeys