[ClusterLabs] 2 nodes split brain with token timeout
Jean-Jacques Pons
jj.pons at arkadin.com
Mon Jul 22 11:54:03 EDT 2019
Hello everyone,
I'm having stability issue with a 2 nodes active/passive HA infrastructure (Zabbix VMs in this case).
Daily backup create a latency, slowing Corosync scheduling and triggering a token timeout. It frequently ends up on a split brain issue, where service is started on both nodes at the same time.
I did increase the token timeout to 4000 by updating corosync.conf, on both nodes, followed by the command "sudo corosync-cfgtool -R".
But this doesn't reflect in the log message ...
1st question : Why ?
2nd question : I find reference to increasing token_retransmits_before_loss_const. Should I ? To which value ?
Best regards.
JJ
NODE 2
Jul 22 13:30:52 FRPLZABPXY02 corosync[11552]: [MAIN ] Corosync main process was not scheduled for 9902.1504 ms (threshold is 800.0000 ms). Consider token timeout increase.
Jul 22 13:30:52 FRPLZABPXY02 corosync[11552]: [TOTEM ] A processor failed, forming new configuration.
Jul 22 13:31:03 FRPLZABPXY02 corosync[11552]: [TOTEM ] A new membership (10.XX.YY.1:5808) was formed. Members joined: 1 left: 1
Jul 22 13:31:03 FRPLZABPXY02 corosync[11552]: [TOTEM ] Failed to receive the leave message. failed: 1
Jul 22 13:31:03 FRPLZABPXY02 corosync[11552]: [QUORUM] Members[2]: 1 2
Jul 22 13:31:03 FRPLZABPXY02 corosync[11552]: [MAIN ] Completed service synchronization, ready to provide service.
NODE1
Jul 22 13:30:55 FRPLZABPXY01 corosync[1110]: [TOTEM ] A processor failed, forming new configuration.
Jul 22 13:30:56 FRPLZABPXY01 corosync[1110]: [TOTEM ] A new membership (10.XX.YY.1:5804) was formed. Members left: 2
Jul 22 13:30:56 FRPLZABPXY01 corosync[1110]: [TOTEM ] Failed to receive the leave message. failed: 2
Jul 22 13:30:56 FRPLZABPXY01 corosync[1110]: [QUORUM] Members[1]: 1
Jul 22 13:30:56 FRPLZABPXY01 corosync[1110]: [MAIN ] Completed service synchronization, ready to provide service.
Jul 22 13:31:03 FRPLZABPXY01 corosync[1110]: [TOTEM ] A new membership (10.XX.YY.1:5808) was formed. Members joined: 2
Jul 22 13:31:03 FRPLZABPXY01 corosync[1110]: [QUORUM] Members[2]: 1 2
Jul 22 13:31:03 FRPLZABPXY01 corosync[1110]: [MAIN ] Completed service synchronization, ready to provide service.
cat /etc/corosync/corosync.conf
totem {
version: 2
secauth: off
cluster_name: FRPLZABPXY
transport: udpu
totem: 4000
interface {
ringnumber: 0
bindnetaddr: 10.XX.YY.2
broadcast: yes
mcastport: 5405
}
}
nodelist {
node {
ring0_addr: 10.XX.YY.1
name: FRPLZABPXY01
nodeid: 1
}
node {
ring0_addr: 10.XX.YY.2
name: FRPLZABPXY02
nodeid: 2
}
}
quorum {
provider: corosync_votequorum
two_node: 1
}
logging {
to_logfile: yes
logfile: /var/log/cluster/corosync.log
to_syslog: yes
}
sudo corosync-cmapctl | grep -E "(.config.totem.|^totem.)"
runtime.config.totem.consensus (u32) = 1200
runtime.config.totem.downcheck (u32) = 1000
runtime.config.totem.fail_recv_const (u32) = 2500
runtime.config.totem.heartbeat_failures_allowed (u32) = 0
runtime.config.totem.hold (u32) = 180
runtime.config.totem.join (u32) = 50
runtime.config.totem.max_messages (u32) = 17
runtime.config.totem.max_network_delay (u32) = 50
runtime.config.totem.merge (u32) = 200
runtime.config.totem.miss_count_const (u32) = 5
runtime.config.totem.rrp_autorecovery_check_timeout (u32) = 1000
runtime.config.totem.rrp_problem_count_mcast_threshold (u32) = 100
runtime.config.totem.rrp_problem_count_threshold (u32) = 10
runtime.config.totem.rrp_problem_count_timeout (u32) = 2000
runtime.config.totem.rrp_token_expired_timeout (u32) = 238
runtime.config.totem.send_join (u32) = 0
runtime.config.totem.seqno_unchanged_const (u32) = 30
runtime.config.totem.token (u32) = 1000
runtime.config.totem.token_retransmit (u32) = 238
runtime.config.totem.token_retransmits_before_loss_const (u32) = 4
runtime.config.totem.window_size (u32) = 50
totem.cluster_name (str) = FRPLZABPXY
totem.interface.0.bindnetaddr (str) = 10.XX.YY.2
totem.interface.0.broadcast (str) = yes
totem.interface.0.mcastport (u16) = 5405
totem.secauth (str) = off
totem.totem (str) = 4000
totem.transport (str) = udpu
totem.version (u32) = 2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clusterlabs.org/pipermail/users/attachments/20190722/73dcdd30/attachment-0001.html>
More information about the Users
mailing list