我想考虑一下目前我们的主动 – 被动群集(DRBD,Pacemaker,Corosync,PostgreSQL)发生的情况,
操作系统:Ubuntu服务器14.04 x64 DRBD:8.4起搏器:1.1.10 Corosync:2.3.3 PostgreSQL:9.3
这是一个问题:当小学生倒下时,中学被选为主要的。 问题出现在重新介绍以前的小学的时候,它直接进入了一个裂脑的情况,而应该成为一个二级代替。 以下是详细的事件顺序和相应的日志:
1 – A下降
2 – B成为主要
3- A重新开始 – > SPLIT BRAIN(我们推测在这种情况下,故障转移可以自动完成)
来自A的LOGS:
Jan 28 16:15:11 node1 kernel: [ 538.025422] block drbd0: helper command: /sbin/drbdadm initial-split-brain minor-0 Jan 28 16:15:11 node1 kernel: [ 538.026185] block drbd0: helper command: /sbin/drbdadm initial-split-brain minor-0 exit code 0 (0x0) Jan 28 16:15:11 node1 kernel: [ 538.026194] block drbd0: Split-Brain detected but unresolved, dropping connection!
DRBD状态:
service drbd status drbd driver loaded OK; device status: version: 8.4.3 (api:1/proto:86-101) srcversion: F97798065516C94BE0F27DC m:res cs ro ds p mounted fstype 0:pg StandAlone Secondary/Unknown Consistent/DUnknown r-----
AFAIS似乎DRBD打破了这个节点的状态。
我的问题是:
1-我的假设是正确的,在事件3,返回节点可以自动联合到集群?
2-如果可以做的话,请告诉我。
1-我的假设是正确的,在事件3,返回节点可以自动联合到集群?
是的,这可以做到。 除非在资源configuration中告知DRBD,否则DRBD不应自行进入主节点; 检查在资源configuration中没有设置'startup {become-primary-on}'定义。
2-如果可以做的话,请告诉我。
检查下列情况是否属实:
一个。 'drbd'未设置为在启动时启动(RHEL中的'chkconfig drbd off',Debian中的'update-rc.d drbd disable')。
湾 DRBD不应该被configuration成自己成为主要的(如上所述)。
DRBD用户指南有一个关于configurationDRBD与Pacemaker一起使用的部分,如果我上面的回答没有做到这一点,可能会有所帮助: https : //drbd.linbit.com/users-guide/ch-pacemaker.html