web-dev-qa-db-ja.com

corosync / pacemaker / fencing-2ノードのパッシブ/アクティブクラスター

私はペースメーカー/コロシンクを使用してクラスター2ノードを構成していますが、それについていくつか質問があります(そして多分ベストプラクティス:専門家になるのは遠いです)

**OS:** redhat 7.6

I configurated the cluster with those properties

 - **stonith-enabled:** true

 - **symmetric-cluster:** true (even if is default value i think)


and added in corosync.conf

 - **wait_for_all:** 0 (i want a Node be able to start/work even if his twin is KO)

 - **two_nodes:** 1


Considering the fencing:

- Using ILO of blade HP (ILO1 for Node1, ILO2 for Node2)

I read that it was sometimes a good practice to prevent a node suicide, so added constraints 

- ILO1-fence can't locate in node1 

- ILO2-fence can't locate on node2

私が抱えている問題は次のとおりです、Node1がシャットダウンしているときにNode2を起動すると発生します:

  • pacemaker/corosyncはNode1でILO2-fenceを開始できません(もちろん、Node 1がダウンしています)ため、他のリソースを開始しないでください。そのため、すべてのクラスターが機能していません> :[

私は自分の構成に何かを見落としているのか、またはそのようなクラスターがどのように機能するのかをよく理解していないのかと思っています。

Node2が起動することを期待しているので、クラスターはNode1がKOであると認識し、リソースを起動してNode2がそれ自体で動作するようにします。

しかし、本当です。ILO2フェンスはNode1にしか配置できないため(自殺を回避するための制約のため)、このリソースは常に失敗します...(これらの「自殺防止」制約なしで試行すると、Node2にサービス障害がある場合) 、その後、起動直後にシャットダウンしますが、これは不要です)

私はいくつかのリターンと啓発を感謝します:)

ありがとうございました :)

4
drkzs

たとえば、クラスターに4票(2ノードと2 ILOフェンス)があるとします。 > 2(3)がアクセス可能であれば、クラスターを実行できます。 ILO2はnode1のみで構成されているため、node1がダウンしている場合、クォーラムは失われます。 ILOフェンシングの使用は推奨されません。

「STONITHデバイスを選択する際によくある間違いは、それが制御するノードと電力を共有するリモート電源スイッチ(多くのオンボードIPMIコントローラーなど)を使用することです。そのような場合に電源障害が発生すると、クラスターはノードが本当にオフラインであるか、アクティブでネットワーク障害が発生しているかどうかを確認してください。そうすることで、クラスターはすべてのリソースを停止して、スプリットブレインの状況を回避します。」 リンク

2ノードクラスタには2つのオプションがあります。

1)1つの外部フェンシングデバイス(監視ノード、VSAまたはSMB2/3ファイル共有を投票)を使用します。

2)2ノードクラスター用に開発されたソリューションを使用します(Hyper-V/VMware + Datacore または StarWind など)。

7
batistuta09