STONITH (Shoot the Other Node in the Head) は、クラスター内のノードの電源をリモートでオフにするためのフェンシング手法です。LifeKeeper は、外部の電源スイッチ制御、IPMI 対応のマザーボード制御、ハイパーバイザーが提供する電源機能、クラウドベンダーのツールを使用して、クラスター内の他のノードの電源をオフにすることで、STONITH 機能を提供します。各 STONITH メソッドを使用すると、クラスターソフトウェアは、停止したように見えるクラスターノードの電源をオフにして、異常なノードが共有データにアクセスしたり破損したりしないようにします。

各環境でのSTONITHの設定方法

以下の環境でのSTONITHの設定例を掲載しています。

STONITHの一般的なテスト

STONITHはコミュニケーションパスが切断されるとアクティブになります。

コミュニケーションパスの切断をシミュレートするには、iptablesまたはfirewalldコマンドを実行して STONITH構成ファイルをテストします。

Iptables

# iptables -A INPUT -p tcp --destination-port 7365 -j DROP

Firewalld

ファイアーウォールには2つのオプションがあります。

オプション1 - ファイアーウォールを起動して無効にします。

  1. # systemctl disable firewalld
  2. # systemctl start firewalld

オプション2 - ファイアーウォールがすでに設定されている場合。
このオプションは、ポート81、82、1024、7365が開いている場合に使用します。

  1. ポートリストから7365を削除します。
    # firewall-cmd --zone=public --remove-port=7365/tcp
  1. 再起動を実行します。
  1. ファイアウォールがまだ起動していない場合は起動します。
    # systemctl start firewalld
  1. システムが再起動します。再起動が完了したら、次のコマンドで7365を再度追加します。
    # firewall-cmd --zone=public --add-port=7365/tcp

期待される動作

LifeKeeper がノードとの通信障害を検出すると、そのノードの電源がオフになり、フェールオーバーが発生します。問題が修復されたら、ノードの電源を手動でオンにする必要があります。

STONITHの削除

  1. /opt/LifeKeeper/events/prefailover の下にあるすべてのフォルダーを削除します。
    # rm -r /opt/LifeKeeper/events/prefailover/*
  1. /opt/LifeKeeper/config/stonith.conf にある設定ファイルを削除します。
    # rm /opt/LifeKeeper/config/stonith.conf

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信