我的Debian 8.9 DRBD 8.4.3设置已经进入了一个状态,两个节点不能再通过networking连接了。 他们应该复制单个资源r1 ,但是在drbdadm down r1; drbadm up r1之后drbdadm down r1; drbadm up r1 在两个节点上drbdadm down r1; drbadm up r1 ,它们的/proc/drbd描述的情况如下:
在第一个节点(连接状态是WFConnection或StandAlone ):
1: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r----- ns:0 nr:0 dw:0 dr:912 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:20
在第二个节点上:
1: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown r----- ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:48
两个节点可以通过/etc/drbd.d/r1.res引用的IP地址相互ping /etc/drbd.d/r1.res ,而netstat显示两个节点都在引用的端口上侦听。
我怎么能(进一步诊断和)摆脱这种情况,使两个节点可以成为连接和复制DRBD再次?
顺便说一句,在更高的抽象层面上,这个问题目前体现在systemctl start drbd永远不会退出,显然是因为它卡在drbdadm wait-connect all (如/lib/systemd/system/drbd.servicebuild议)。
这种情况显然是由一起脑裂引起的。
我没有注意到这一点,因为我只检查了最近的日记条目drbd.service ( sudo journalctl -u drbd ),但问题显然是在其他内核日志和稍早( sudo journalctl | grep Split-Brain )中报告的。
这样,手动解决裂脑(如这里或这里所述 )也解决了麻烦的情况如下。
对于裂脑受害者(假设DRBD资源是r1 ):
drbdadm disconnect r1 drbdadm secondary r1 drbdadm connect --discard-my-data r1
关于裂脑幸存者:
drbdadm disconnect r1 drbdadm primary r1 drbdadm connect r1