While going through a DRBD howto a coworker made, I came across the following problem. On a freshly created DRBD block device, mkfs bails out with the following message:
mkfs.ext3 /dev/drbd0 mke2fs 1.39 (29-May-2006) mkfs.ext3: Wrong medium type while trying to determine filesystem size
The DRBD block device you’re trying to access is configured to act as a Secondary device, which means it cannot be accessed to be read ot to be written to.
The state of your device is kept in
cat /proc/drbd version: 8.3.2 (api:88/proto:86-90) GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by email@example.com, 2009-08-29 14:07:55 0: cs:SyncSource ro:Secondary/Secondary ds:UpToDate/Inconsistent B r---- ns:10159548 nr:0 dw:0 dr:10167296 al:0 bm:620 lo:11 pe:5 ua:253 ap:0 ep:1 wo:b oos:202535316 [>....................] sync'ed: 4.8% (197788/207708)M finish: 0:57:20 speed: 58,832 (54,620) K/sec
ro:Secondary/Secondary tells you what both nodes are set to.
Another way to check the state of the block device is with the
drbdadm state drbd0 Secondary/Secondary
Switch the DRBD block device to Primary using
drbdadm primary drbd0
This shouldn’t generate any output if it doesn’t encounter any errors. If you get an error message about multiple primaries:
Multiple primaries not allowed by config
Then you already have a running master in your setup, you only need to switch machines, since you are currently working on the wrong one.