Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
I've just installed a drbd(0.7.21)/heartbeat setup for my ftp servers and I've
ran into a problem. When the primary (hostA) goes offline, the secondary
(hostB) promotes itself correctly and hostB now has a status of
0: cs:WFConnection st:Primary/Unknown ld:Consistent
ns:0 nr:56 dw:108 dr:265 al:0 bm:4 lo:0 pe:0 ua:0 ap:0
Now when hostA comes back online and tries to make a connection, hostB changes
its state to StandAlone. After doing a drbdadm adjust all on hostB, they
reestablish a connection. The status when hostA comes back online shows
HostA
0: cs:WFConnection st:Secondary/Unknown ld:Consistent
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
HostB
0: cs:StandAlone st:Primary/Unknown ld:Consistent
ns:0 nr:56 dw:120 dr:265 al:0 bm:4 lo:0 pe:0 ua:0 ap:0
dmesg shows the following output
HostA
drbd0: resync bitmap: bits=96644368 words=3020138
drbd0: size = 368 GB (386577472 KB)
drbd0: 28 KB marked out-of-sync by on disk bit-map.
drbd0: Found 6 transactions (324 active extents) in activity log.
drbd0: drbdsetup [3647]: cstate Unconfigured --> StandAlone
drbd0: drbdsetup [3661]: cstate StandAlone --> Unconnected
drbd0: drbd0_receiver [3662]: cstate Unconnected --> WFConnection
drbd0: drbd0_receiver [3662]: cstate WFConnection --> WFReportParams
drbd0: Handshake successful: DRBD Network Protocol version 74
drbd0: Connection established.
drbd0: I am(S): 1:00000002:00000001:00000013:00000009:00
drbd0: Peer(P): 1:00000002:00000001:00000012:0000000a:10
drbd0: drbd0_receiver [3662]: cstate WFReportParams --> WFBitMapS
drbd0: meta connection shut down by peer.
drbd0: drbd0_asender [3672]: cstate WFBitMapS --> NetworkFailure
drbd0: asender terminated
drbd0: sock_sendmsg returned -32
drbd0: drbd0_receiver [3662]: cstate NetworkFailure --> BrokenPipe
drbd0: short sent ReportBitMap size=4096 sent=1608
drbd0: Secondary/Unknown --> Secondary/Primary
drbd0: sock was shut down by peer
drbd0: drbd0_receiver [3662]: cstate BrokenPipe --> BrokenPipe
drbd0: short read expecting header on sock: r=0
drbd0: worker terminated
drbd0: drbd0_receiver [3662]: cstate BrokenPipe --> Unconnected
drbd0: Connection lost.
drbd0: drbd0_receiver [3662]: cstate Unconnected --> WFConnection
HostB
drbd0: drbd0_receiver [345]: cstate WFConnection --> WFReportParams
drbd0: Handshake successful: DRBD Network Protocol version 74
drbd0: Connection established.
drbd0: I am(P): 1:00000002:00000001:00000012:0000000a:10
drbd0: Peer(S): 1:00000002:00000001:00000013:00000009:00
drbd0: Current Primary shall become sync TARGET! Aborting to prevent data
corruption.
drbd0: drbd0_receiver [345]: cstate WFReportParams --> StandAlone
drbd0: error receiving ReportParams, l: 72!
drbd0: asender terminated
drbd0: worker terminated
drbd0: drbd0_receiver [345]: cstate StandAlone --> StandAlone
drbd0: Connection lost.
drbd0: receiver terminated
My drbd.conf on both servers are as follows:
resource ftp {
protocol C;
incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
startup { wfc-timeout 0; degr-wfc-timeout 120; }
disk { on-io-error detach; }
net { ko-count 0; on-disconnect reconnect; }
syncer { rate 10M; group 1; al-extents 257; }
on ftp {
device /dev/drbd0;
disk /dev/md2;
address 192.168.0.4:7788;
meta-disk internal;
}
on ftp2 {
device /dev/drbd0;
disk /dev/md2;
address 192.168.0.5:7788;
meta-disk internal;
}
}