Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hello all!
I am trying to get DRDB running on two machines, each running Gentoo
2008.0 (server) with 2.6.25-gentoo-r7 kernel.
first issue I was faced to was
'unknown symbol crypto_alloc_base'
(and some others which I don't remember) when loading the drbd module. I
quickly fixed it by adding all crypto* items as modules in the kernel,
as well as those found in the netfilter section. my question is the
following: which options are _required_ for the drbd module to load
properly? it seems only the 'cn' module gets loaded...
and now comes the real question:
I followed the instructions on
http://gentoo-wiki.com/HOWTO_Heartbeat_and_DRBD and
http://www.drbd.org/docs/install/ but after starting the initial sync I
cannot mount the drbd drives on the Secondary host:
back2 / # mount /mnt/drbd
mount: block device /dev/drbd0 is write-protected, mounting read-only
mount: Wrong medium type
if I check the status, this is what I get:
back2 ~ # cat /proc/drbd
version: 8.0.13 (api:86/proto:86)
GIT-hash: ee3ad77563d2e87171a3da17cc002ddfd1677dbe build by root at back2,
2008-09-08 21:10:42
0: cs:Connected st:Secondary/Primary ds:UpToDate/UpToDate C r---
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
resync: used:0/61 hits:0 misses:0 starving:0 dirty:0 changed:0
act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0
1: cs:SyncTarget st:Secondary/Primary ds:Inconsistent/UpToDate C r---
ns:0 nr:946928 dw:946928 dr:0 al:0 bm:57 lo:0 pe:0 ua:0 ap:0
[>....................] sync'ed: 0.9% (101491/102403)M
finish: 81:11:34 speed: 320 (328) K/sec
resync: used:0/61 hits:64458 misses:59 starving:0 dirty:0
changed:59
act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0
back1 ~ # drbdadm state all
Primary/Secondary
Primary/Secondary
back1 ~ # drbdadm cstate all
Connected
SyncSource
back2 / # drbdadm state all
Secondary/Primary
Secondary/Primary
back2 / # drbdadm cstate all
Connected
SyncTarget
I can issue a `drbdadm down drbd0` command on the secondary host, but
not on the Primary (even after is has been downed on the secondary): I
get this:
output of dmesg for 'back2' (secondary):
drbd0: peer( Primary -> Unknown ) conn( Connected -> Disconnecting )
pdsk( UpToDate -> DUnknown )
drbd0: Writing meta data super block now.
drbd0: short read expecting header on sock: r=-512
drbd0: asender terminated
drbd0: Terminating asender thread
drbd0: tl_clear()
drbd0: Connection closed
drbd0: conn( Disconnecting -> StandAlone )
drbd0: receiver terminated
drbd0: Terminating receiver thread
drbd0: disk( UpToDate -> Diskless )
drbd0: drbd_bm_resize called with capacity == 0
drbd0: worker terminated
drbd0: Terminating worker thread
back1 ~ # drbdadm down drbd0
/dev/drbd0: State change failed: (-12) Device is held open by someone
Command 'drbdsetup /dev/drbd0 down' terminated with exit code 11
drbdsetup exited with code 11
dmesg:
drbd0: State change failed: Device is held open by someone
drbd0: state = { cs:WFConnection st:Primary/Unknown
ds:UpToDate/DUnknown r--- }
drbd0: wanted = { cs:WFConnection st:Secondary/Unknown
ds:UpToDate/DUnknown r--- }
#####
a clue on what I could be missing?
Good evening to you all
David