よくある問題

Quorum Diskを使用しない2ノード構成のクラスタで発生する問題

2ノード構成のクラスタでQuorum Diskを使用しない場合は、次のような問題が発生することがあります。

フェンスループ

chkconfigなどで、サーバ起動時にクラスタサービスの自動起動を設定している場合は、次のような問題が発生することがあります。

ハートビート切断によるノードに強制再起動が発生した際に、再起動後のノードでクラスタサービスが自動起動しますが、やはりハートビートの疎通が確認できないため相手のノードを強制再起動します。強制再起動された相手ノードは、再起動後に、同じ理由で、再び相手のノードを再起動します。結果的に、双方のノードが交互に強制再起動を繰り返しつづけることになります。

回避策として、サーバ起動時にクラスタサービスを自動起動しないようにするか、もしくは、そもそもハートビート切断が起こらないように、ハートビート・ネットワークの2重化を確実に行うことが必要です。

フェンスレース

ハートビート切断が起きると、両方のノードがお互いに相手ノードの強制再起動を試みます。基本的には、「早い者勝ち」で先に相手ノードの強制再起動に成功したノードが稼働を継続しますが、タイミングによっては、両方のノードが同時に再起動される場合があります。回避策としては、そもそもハートビート切断が起こらないように、ハートビート・ネットワークの2重化を確実に行うことが必要です。

共有ディスクに関連する問題

ディスクパス障害時のテイクオーバー失敗

共有ディスクへのパス障害が発生すると、一旦、ファイルシステムリソースの停止・起動が行われ、それでも起動に失敗するとサービスのテイクオーバーが発生します。この時、ファイルシステムリソースの停止処理の段階で失敗すると、サービスはfailed状態になって、テイクオーバーに失敗します。

この問題を回避するには、ファイルシステムリソースの定義(fsタグ)にオプションself_fence="1"を指定します。この場合、ファイルシステムリソースの停止(umount)に失敗するとノードは自発的に再起動を行い、サービスのテイクオーバーが発生します。

Quorum Disk使用時にマルチパスの切り替えでテイクオーバーが発生

共有ディスク接続にdmmpなどのマルチパスドライバを使用している場合、パスの切り替えが発生時にQuorum Diskがノード障害を誤検知してテイクオーバーが発生する場合があります。これは、Quorum Diskによる障害検知時間がパスの切り替え時間よりも短いことが原因です。切り替え時間の設定については、次のルールに従ってください。

    • ハートビートによる障害検知時間は、Quorum Diskによる障害検知時間の2倍以上に設定

    • Quorum Diskによる障害検知時間は、マルチパスの切り替え時間より長く設定

参考 : 設定のヒント