我有配置了DRBD资源的高可用性集群。
Master/Slave Set: RVClone01 [RV_data01]
Masters: [ rvpcmk01-cr ]
Slaves: [ rvpcmk02-cr ]我执行一个测试,断开在DRBD网络接口之间连接的一个网络适配器(例如,关闭网络适配器)。现在,集群显示状态显示一切正常,,但运行“DRBD -”时的状态显示在主服务器中:
[root@rvpcmk01 ~]# drbd-overview
0:drbd0/0 WFConnection Primary/Unknown UpToDate/DUnknown /opt ext4 30G 13G 16G 45%在辅助服务器中:
[root@rvpcmk02 ~]# drbd-overview
0:drbd0/0 StandAlone Secondary/Unknown UpToDate/DUnknown现在我有几个问题: 1.为什么集群不知道DRBD的问题? 2.为什么当我将网络适配器向下向上连接并连接回DRBD之间的连接时,DRBD没有处理这个故障并在连接正常时同步回DRBD。3.我在本文中看到了一篇关于“解决DRBD拆分-大脑”- https://www.hastexo.com/resources/hints-and-kinks/solve-drbd-split-brain-4-steps/的文章,它解释了如何克服断开连接和重新合并DRBD的问题。但是我怎么知道这种问题的存在?
我希望我能清楚地解释我的情况,并提供足够的关于我所拥有的和需要什么的信息.
发布于 2017-03-30 22:58:49
1)你没有在起搏器或DRBD中使用栅栏/STONITH设备,这就是为什么当您拔掉DRBD正在使用的网络接口时,什么也不会发生。这不是一种不需要在DRBD中定义围栏策略,也不需要在起搏器内定义STONITH设备就能对之做出反应的场景。
( 2)你很可能只使用一个环来进行Cor产通信(和DRBD设备一样),这将导致第二代提升到小学(在DRBD中引入一个分裂的大脑),直到集群通信被重新连接并意识到他们有两个主设备,将一个降为二级。同样,击剑/STONITH将防止/处理这一问题。
3)您可以在DRBD配置中设置拆分大脑通知处理程序。
将STONITH/F击剑设备安装到Pac怪机中后,可以将以下定义添加到DRBD配置中,以“修复”问题中提到的所有问题:
resource <resource>
handlers {
split-brain "/usr/lib/drbd/notify-split-brain.sh root";
fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
...
}
disk {
fencing resource-and-stonith;
...
}
...
}在Pac怪人中设置栅栏/STONITH有点太依赖您的硬件/软件了,我无法为您的集群提供设置该设置的指针。这应该会让您指向正确的方向:fencing.html
希望这能帮上忙!
https://stackoverflow.com/questions/43121677
复制相似问题