Debian
如何讓 DRBD 節點脫離連接狀態 StandAlone(和 WFConnection)?
我的 Debian 8.9 DRBD 8.4.3 設置不知何故進入了兩個節點無法再通過網路連接的狀態。他們應該複製一個資源
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
兩個節點可以通過 中引用的 IP 地址相互 ping 通
/etc/drbd.d/r1.res
,並netstat
表明兩者都在偵聽引用的埠。我怎樣才能(進一步診斷和)擺脫這種情況,以便兩個節點可以連接並再次通過 DRBD 複製?
順便說一句,在更高的抽象層次上,這個問題目前表現為
systemctl start drbd
從不退出,顯然是因為它被卡在了drbdadm wait-connect all
(如建議的那樣/lib/systemd/system/drbd.service
)。
這種情況顯然是由腦裂病例引起的。
我沒有註意到這一點,因為我只檢查了
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 primary r1 drbdadm connect r1