Monday, July 07, 2008

mdadm buggy

Well, just had a rather nasty experience.

After rebooting my computer, because I put a new fan in it, as it started up, I saw it fail to start /dev/md4 and /dev/md5 raid0 devices. This then resulted in not being able to start any volumes within my other volume group. Nasty!. So, of course /storage could not be mounted.


After some careful investigation, /proc/mdstat showed that /dev/md4 only had once device, (hda8), and not hdb8. It showed md4 as inactive.
and dmesg shows:

md: array md4 already has disks!
md: array md5 already has disks!

Very strange. Becuase it show have shown sometime like this:

md4: setting max_sectors to 128, segment boundary to 32767
raid0: looking at hda8
raid0: comparing hda8(49150720) with hda8(49150720)
raid0: END
raid0: ==> UNIQUE
raid0: 1 zones
raid0: looking at hdb8
raid0: comparing hdb8(49150720) with hda8(49150720)
raid0: EQUAL
raid0: FINAL 1 zones
raid0: done.
raid0 : md_size is 98301440 blocks.
raid0 : conf->hash_spacing is 98301440 blocks.
raid0 : nb_zone is 1.
raid0 : Allocating 8 bytes for hash.

lvs showed that it could not find all the physical volumes to start the “other” volume group.

So, I stopped the device:
mdadm -S /dev/md4
Then reassembled it, using:
mdadm -A /dev/md4 /dev/hda8 /dev/hdb8

This then started fine, and showed it as clean.

So, an
lvchange -a /dev/other/storage
had me back in business.

No comments: