I'm having a very similar issue when I upgraded to a newer kernel. With the
older kernels I can still boot, but I think that is actually a bug. On the
old kernel, dmesg shows:

[  244.454698] md/raid:mdX: device dm-88 operational as raid disk 3
[  244.454810] md/raid:mdX: device dm-86 operational as raid disk 2
[  244.454914] md/raid:mdX: device dm-84 operational as raid disk 1
[  244.455043] md/raid:mdX: device dm-82 operational as raid disk 0
[  244.455977] md/raid:mdX: allocated 0kB
[  244.456192] md/raid:mdX: raid level 5 active with 4 out of 4 devices,
algorithm 2
[  244.456358] RAID conf printout:
[  244.456362]  --- level:5 rd:4 wd:4
[  244.456366]  disk 0, o:1, dev:dm-82
[  244.456369]  disk 1, o:1, dev:dm-84
[  244.456373]  disk 2, o:1, dev:dm-86
[  244.456377]  disk 3, o:1, dev:dm-88
[  244.458568] mdX: invalid bitmap file superblock: bad magic
[  244.458705] created bitmap (2 pages) for device mdX
[  244.476629] mdX: bitmap initialized from disk: read 1 pages, set 0 of
2736 bits

The bitmap knows the superblock is invalid, but because of a bug simply
just let's the devices assemble and it "works." However, in newer versions
of the kernel this is "fixed," so if there is an invalid superblock, it
won't allow the devices to assemble and that is why booting (or assembling)
fails. Running an old kernel (3.16-3-amd64 #1 SMP Debian 3.16.5-1
(2014-10-10) x86_64 GNU/Linux because it's the only way to get my system to
boot):


lvcreate -i 3 -L4G --type raid5 -n testlv /dev/mylvm
# wait a minute
vgchange -a n mylvm/testln
vgchange -a n mylvm/testln

Doing that shows me the error about the invalid superblock. On some level,
everything just works, so is the check necessary on lvm logical volumes
with type raid? I think the check in the kernel to stop it on invalid
superblocks was introduced here:
https://github.com/torvalds/linux/commit/f7357273198adc86fe11c2a7be8a0816f44103bb

Reply via email to