私は2つのノードを持っています:-patroni1:192.168.1.38-patroni2:192.168.1.39
および仮想IP:192.168.1.40
両方にHA-Proxyをインストールしています。
VIPがpatroni2に接続され、haproxyがpatroni2でアクティブ化されたときの私のPCステータスは次のとおりです
-----------
[root@patroni1 ~]# pcs status
Cluster name: haproxy_cluster
Stack: corosync
Current DC: patroni2 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
Last updated: Thu Nov 29 21:29:00 2018
Last change: Thu Nov 29 21:24:52 2018 by root via cibadmin on patroni1
2 nodes configured
4 resources configured
Online: [ patroni1 patroni2 ]
Full list of resources:
xen-fencing-patroni2 (stonith:fence_xenapi): Started patroni1
xen-fencing-patroni1 (stonith:fence_xenapi): Started patroni2
Resource Group: HAproxyGroup
haproxy (ocf::heartbeat:haproxy): Started patroni2
VIP (ocf::heartbeat:IPaddr2): Started patroni2
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
[root@patroni1 ~]# pcs resource show VIP
Resource: VIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: cidr_netmask=24 ip=192.168.1.40
Operations: monitor interval=1s (VIP-monitor-interval-1s)
start interval=0s timeout=20s (VIP-start-interval-0s)
stop interval=0s timeout=20s (VIP-stop-interval-0s)
[root@patroni1 ~]# pcs resource show haproxy
Resource: haproxy (class=ocf provider=heartbeat type=haproxy)
Attributes: binpath=/usr/sbin/haproxy conffile=/etc/haproxy/haproxy.cfg
Operations: monitor interval=10s (haproxy-monitor-interval-10s)
start interval=0s timeout=20s (haproxy-start-interval-0s)
stop interval=0s timeout=20s (haproxy-stop-interval-0s)
-----------
私の問題は、patroni2でhaproxyを手動で強制終了しても、フェンシングがトリガーされないことです。フェンシングは、patroni2を手動で停止または再起動した場合にのみトリガーされます。
これは、haproxyを手動で強制終了したときのPCのステータスです
------------
[root@patroni1 ~]# pcs status
Cluster name: haproxy_cluster
Stack: corosync
Current DC: patroni2 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
Last updated: Thu Nov 29 21:37:37 2018
Last change: Thu Nov 29 21:24:52 2018 by root via cibadmin on patroni1
2 nodes configured
4 resources configured
Online: [ patroni1 patroni2 ]
Full list of resources:
xen-fencing-patroni2 (stonith:fence_xenapi): Started patroni1
xen-fencing-patroni1 (stonith:fence_xenapi): Started patroni2
Resource Group: HAproxyGroup
haproxy (ocf::heartbeat:haproxy): Started patroni2
VIP (ocf::heartbeat:IPaddr2): Starting patroni2
Failed Actions:
* haproxy_monitor_10000 on patroni2 'not running' (7): call=38, status=complete, exitreason='',
last-rc-change='Thu Nov 29 21:37:36 2018', queued=0ms, exec=0ms
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
------------
HA-Proxyが応答しないときにフェンシングをトリガーする方法は?
よろしくお願いします-bino-
あなたが観察しているのは、期待される振る舞いです。リソースが停止したからといって、システムの電源を強制的に入れ直すことが最善の行動であるとは限りません。
HA-Proxyを手動で強制終了すると、Pacemakerはこのサービスが何らかの理由で実行されていないことを検出し、この失敗をログに記録します。haproxy_monitor_10000 on patroni2 'not running' [...]
。その後、クラスターはこのサービスを再開します。クラスターは、まったく同じpatroni2ノードで問題なくサービスが実行されていることを示しているため、これは正常に機能したと思います。
モニター操作の失敗は致命的とは見なされないため、STONITHアクションにエスカレートすることはありません。ただし、停止操作での障害は致命的な障害と見なされます。クラスターがリソースを停止できない場合、どのようにリソースを再起動またはフェイルオーバーできますか?ノードをフェンシングし、STONITHを介して電源を入れ直す。