Tiered DRBD/LVM RAID6 won't mount/activate

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

bob_dvb

Active Member
Sep 7, 2018
214
116
43
Not quite London
www.orbit.me.uk
I have a QNAP NAS (TS-873), it has 7x4TB disks in a RAID6 with a warm spare (e.g. 7 disk raid) and it had a RAID1 NVMe SSD, but lost the riser card which means now, no more SSD.

If this was ZFS, then I'd know what I am doing but this is LVM with DRBD tiering, and despite all my googling, I can't figure out how to recover it. I really don't need it all back online, honestly I have almost everything backed up or what was hot on the cache can easily be discarded. But there are some files which should be cold on the RAID which my wife will want sooner or later, and I hadn't backed them up. So if someone can help future me stay out of trouble, I'd be grateful. The alternative is to use low level file recovery on the RAID, which at 18TB is going to take a very, very long time to scan!

The main issue is that, when I try to activate the volume it says it can't because, although the RAID6 is there, the RAID1 isn't. It says that /dev/md256 is missing and can't activate. The annoying thing is that I can't even see references to /dev/md256 in vgscan or vgdisplay! How am I supposed to detach the RAID1 if none of the commands can see it!

I'd post some output captures, but I have the machine on a testbench trying to see if it can do "testdisk" and find the ext4 fs to mount but so far it's not looking hopeful.

Does anyone have advice on how to "fix" a tiered LVM with DRBD and cache missing? I really don't care about what's hot on the cache, I just hope the fs doesn't need the cache to start.
 

rubylaser

Active Member
Jan 4, 2013
846
236
43
Michigan, USA
I don't have a QNAP NAS, so take this with a graing of salt. /dev/mdXXX references are to mdadm raid arrays. You view them like this...
Code:
cat /proc/mdstat
That should show you all of the RAID arrays that it can see. You can also take a look at more details on the array(s).
Code:
mdadm --detail --scan --verbose
If you can assemble the array(s) correctly, the LVM pvs should sit on top of that
Code:
mdadm --assemble --scan
If you can get the mdadm arrays working properly, then you should be able to do a vgscan or vgdisplay.