9.12. フェンシングがランダムに発生する
ノードが無作為にフェンスされる場合は、以下の状況をチェックしてください。
- フェンスの根本的な原因は 常に トークンを紛失するノードです。これは、ノードがクラスターの残りと通信ができなくなり、ハートビートの送信を停止するという意味です。
- 指定されたトークンの間隔内にシステムがハートビートを返さない状況は、いずれもフェンスにつながります。デフォルトではトークンの間隔は 10 秒です。これを指定するには、任意の値 (ミリ秒単位) を
cluster.conf
ファイル内の totem タグのトークンパラメーターに追加します (例えば 30 秒の場合はtotem token="30000"
とセット)。 - ネットワークが健全で期待通りに機能していることを確認します。
- インターノード通信にクラスターが使用するインターフェースが 0、1、2 以外のボンディングモードを使用していないことを確認します (ボンディングモード 0 と 2 は Red Hat Enterprise Linux 6.4 よりサポートされています)。
- システムが「凍結」又はカーネルパニックを起こしていないかどうか判定する手段を取ります。
kdump
ユーティリティをセットアップして、フェンスの発生時にコアを取得するかどうか確認します。 - 誤ってフェンスに原因があるというような状況を作り出さないようにしてください。例えば、ストレージ障害が原因で quorum disk がノードを取り出す場合や、何らかの外部条件が理由で Oracle RAC のようなサードパーティ製品がノードを再起動するような場合です。多くの場合、そのような問題の特定にはメッセージログが非常に役立ちます。フェンス又はノードの再起動が発生すると常に、発生した時点からクラスター内の全ノードのメッセージログを検査することを標準的な作業として行ってください。
- 予定している時にシステムのハートビートの応答がない原因となるハードウェア欠陥がないか、システムを徹底的に検査します。