Pacemaker クローンリソースのスティッキネス

Pacemaker クローンリソースのスティッキネス

3 つのノードからなる小さなクラスターをセットアップしました。IPaddr2 (または Percona の IPaddr3) VIP を作成し、正常に動作しました。当初、次のディストリビューションがありました。

Full List of Resources:
  * Clone Set: ClusterIP-clone [ClusterIP] (unique):
    * ClusterIP:0       (ocf::percona:IPaddr3):  Started node1
    * ClusterIP:1       (ocf::percona:IPaddr3):  Started node2
    * ClusterIP:2       (ocf::percona:IPaddr3):  Started node3

次に、node2 を再起動すると、pacemaker がそれを取得して node2 のトラフィックを node1 に割り当てるため、分散は次のように変わります。

Full List of Resources:
  * Clone Set: ClusterIP-clone [ClusterIP] (unique):
    * ClusterIP:0       (ocf::percona:IPaddr3):  Started node1
    * ClusterIP:1       (ocf::percona:IPaddr3):  Started node1
    * ClusterIP:2       (ocf::percona:IPaddr3):  Started node3

ここで、node2 が再起動しても、クローンされたリソースの resource-stickiness=1 のため何も起こりません。しかし、ClusterIP の resource-stickiness=0 を設定すると、分布は次のように変わります。

Full List of Resources:
  * Clone Set: ClusterIP-clone [ClusterIP] (unique):
    * ClusterIP:0       (ocf::percona:IPaddr3):  Started node2
    * ClusterIP:1       (ocf::percona:IPaddr3):  Started node1
    * ClusterIP:2       (ocf::percona:IPaddr3):  Started node3

そのため、現在は「node1、node2、node3」ではなく「node2、node1、node3」となっており、これにより、node2 は 2 番目の顧客グループ宛ての IP パケットを処理せず、代わりに 1 番目の顧客グループにサービスを提供するため、すべての顧客が基盤サーバーから切断されます。これにより、TCP が切断され、その後再接続されます。

ClusterIP:0 は node1 を優先し、ClusterIP:1 は node2 を優先し、ClusterIP:2 は node 3 を優先するように指定する方法はありますか? これはクローンされたリソースなので、これを実現する方法が見つかりませんでした。ありがとうございます。

関連情報