这是我继承的设置,而且非常旧(运行 drbd 8.3)。我试过了drbdadm connect drbd0
,drbdadm primary -f drbd0
但一切都回来了Need access to UpToDate data
。
我想那是因为不一致。
[root@node-01 ~]# drbd-overview
0:drbd0 StandAlone Secondary/Unknown Inconsistent/Outdated r-----
1:drbd1 Connected Secondary/Secondary UpToDate/UpToDate C r-----
[root@node-02 ~]# drbd-overview
0:drbd0 WFConnection Secondary/Unknown Inconsistent/DUnknown C r-----
1:drbd1 Connected Secondary/Secondary UpToDate/UpToDate C r-----
我怎样才能解决这个问题,而不用核对它的数据?
当我做drbdadm connect drbd0
系统日志时说:
block drbd0: conn( StandAlone -> Unconnected )
block drbd0: Starting receiver thread (from drbd0_worker [6860])
block drbd0: receiver (re)started
block drbd0: conn( Unconnected -> WFConnection )
block drbd0: Handshake successful: Agreed network protocol version 96
block drbd0: conn( WFConnection -> WFReportParams )
block drbd0: Starting asender thread (from drbd0_receiver [21821])
block drbd0: data-integrity-alg: <not-used>
block drbd0: drbd_sync_handshake:
block drbd0: self AA586D9040BXXXX:7DF55F42BF95XXXX:7DF45F42BF95XXXX:DC31D449C727XXXX bits:416 flags:0
block drbd0: peer 7DF55F42BF9XXXX:0000000000000000:DC31D449C727EE27:DC30D449C727XXXX bits:416 flags:0
block drbd0: uuid_compare()=1 by rule 70
block drbd0: I shall become SyncSource, but I am inconsistent!
block drbd0: conn( WFReportParams -> Disconnecting )
block drbd0: error receiving ReportState, l: 4!
block drbd0: asender terminated
block drbd0: Terminating asender thread
block drbd0: Connection closed
block drbd0: conn( Disconnecting -> StandAlone )
block drbd0: receiver terminated
block drbd0: Terminating receiver thread
两个节点都没有数据,所以如果没有一些说服力
UpToDate
,DRBD 将无法运行。Primary
您需要强制一个节点进入主节点。您在哪个节点上运行以下命令应该成为
SyncSource
,因此请确保选择您认为具有良好数据的节点。drbdadm -- --overwrite-data-of-peer primary <resource>
如果您不确定,我会
disconnect
在两个节点上使用资源,因此它们都是StandAlone
,在一个节点上运行上述命令,将该节点提升为Primary
,然后检查数据。然后在另一个节点上重复。一旦你知道好的数据在哪里,你可以降级双方,并通过告诉裂脑受害者丢弃他的数据使用:drbdadm -- --discard-my-data connect <resource>
,并简单地连接裂脑幸存者:,以正确的方向解决裂脑问题drbdadm connect <resource>
。希望有帮助!