[ClusterLabs] Corosync unable to reach consensus for membership

Jan Friesse jfriesse at redhat.com
Tue Apr 30 07:56:28 EDT 2019


Prasad,

> Hello :
> 
> I have a 3 node corosync and pacemaker cluster and the nodes are:
> Online: [ SG-azfw2-189 SG-azfw2-190 SG-azfw2-191 ]
> 
> Full list of resources:
> 
>   Master/Slave Set: ms_mysql [p_mysql]
>       Masters: [ SG-azfw2-189 ]
>       Slaves: [ SG-azfw2-190 SG-azfw2-191 ]
> 
> For my network partition test, I created a firewall rule on Node
> SG-azfw2-190   to block all incoming udp traffic from node SG-azfw2-189
> /sbin/iptables -I  INPUT -p udp -s 172.19.0.13 -j DROP

Please block both input and output. Corosync isn't able to handle 
byzantine faults.

Honza

> 
> I dont think corosync is correctly detecting the partition as I am getting
> different membership information from different nodes.
> On node  SG-azfw2-189, I still see the members as:
> 
> Online: [ SG-azfw2-189 SG-azfw2-190 SG-azfw2-191 ]
> 
> Full list of resources:
> 
>   Master/Slave Set: ms_mysql [p_mysql]
>       Masters: [ SG-azfw2-189 ]
>       Slaves: [ SG-azfw2-190 SG-azfw2-191 ]
> 
> whereas, on the node SG-azfw2-190, I see membership as
> 
> Online: [ SG-azfw2-190 SG-azfw2-191 ]
> OFFLINE: [ SG-azfw2-189 ]
> 
> Full list of resources:
> 
>   Master/Slave Set: ms_mysql [p_mysql]
>       Slaves: [ SG-azfw2-190 SG-azfw2-191 ]
>       Stopped: [ SG-azfw2-189 ]
> 
> I expected that on node SG-azfw2-189, it should have detected that other 2
> nodes have left. In the corosync logs for this node, I continuously see the
> below messages:
> Apr 30 11:00:03 corosync [TOTEM ] entering GATHER state from 4.
> Apr 30 11:00:03 corosync [TOTEM ] Creating commit token because I am the
> rep.
> Apr 30 11:00:03 corosync [MAIN  ] Storing new sequence id for ring 2e64
> Apr 30 11:00:03 corosync [TOTEM ] entering COMMIT state.
> Apr 30 11:00:33 corosync [TOTEM ] The token was lost in the COMMIT state.
> Apr 30 11:00:33 corosync [TOTEM ] entering GATHER state from 4.
> Apr 30 11:00:33 corosync [TOTEM ] Creating commit token because I am the
> rep.
> Apr 30 11:00:33 corosync [MAIN  ] Storing new sequence id for ring 2e68
> Apr 30 11:00:33 corosync [TOTEM ] entering COMMIT state.
> Apr 30 11:01:03 corosync [TOTEM ] The token was lost in the COMMIT state.
> 
> On the other nodes - I see messages like
>   notice: pcmk_peer_update: Transitional membership event on ring 11888:
> memb=2, new=0, lost=0
> Apr 30 11:06:10 corosync [pcmk  ] info: pcmk_peer_update: memb:
> SG-azfw2-190 301994924
> Apr 30 11:06:10 corosync [pcmk  ] info: pcmk_peer_update: memb:
> SG-azfw2-191 603984812
> Apr 30 11:06:10 corosync [TOTEM ] waiting_trans_ack changed to 1
> Apr 30 11:06:10 corosync [pcmk  ] notice: pcmk_peer_update: Stable
> membership event on ring 11888: memb=2, new=0, lost=0
> Apr 30 11:06:10 corosync [pcmk  ] info: pcmk_peer_update: MEMB:
> SG-azfw2-190 301994924
> Apr 30 11:06:10 corosync [pcmk  ] info: pcmk_peer_update: MEMB:
> SG-azfw2-191 603984812
> Apr 30 11:06:10 corosync [SYNC  ] This node is within the primary component
> and will provide service.
> Apr 30 11:06:10 corosync [TOTEM ] entering OPERATIONAL state.
> 
> Can the corosync experts please guide me on probable root cause for this or
> ways to debug this further ? Help much appreciated.
> 
> corosync version: 1.4.8.
> pacemaker version:  1.1.14-8.el6_8.1
> 
> Thanks!
> 
> 
> 
> _______________________________________________
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users
> 
> ClusterLabs home: https://www.clusterlabs.org/
> 



More information about the Users mailing list