[linux-lvm] Bypassing LVM Restrictions - RAID6 With Less Than 5 Disks

John Stoffel john at stoffel.org
Mon May 2 00:36:26 UTC 2022

Alex> I have 4 disks that I’d really like to put into a RAID6. I know
Alex> about RAID10, but it wouldn’t work well for me for several
Alex> reasons.

Can you explain those reasons?  In general, RAID10 gives you only 50%
capacity, but much improved performance over RAID5/6 in terms of
read/write performance.

But if you want to be able to handle the failure of any two disks in
your RAID6, then I can understand your decision.

Alex> Buying another disk would also be a waste of money because I
Alex> don’t need 3-disks-worth of usable capacity.

That's fair. 

Alex> I know there was a question regarding this a few years ago, and
Alex> the consensus was to not natively support that configuration. I
Alex> can respect that (although I would urge you to reconsider), but
Alex> I’d still like to do it on my machine.

I would instead build your RAID6 using MD, and then layer LVM on top
of it.  It works, it's solid and it runs really well.  

Alex> So far I’ve tried removing the restrictions from the source code
Alex> and recompiling (I don’t know C, but I’m familiar with general
Alex> code syntax). I’ve slowly gotten further in the lvconvert
Alex> process, but there seems to be many similar checks throughout
Alex> the code.

If you don't know the code, then you're not going to get working RAID6
up and running any time soon.  

Alex> I’m hoping someone could point me in the right direction towards
Alex> achieving this goal. If I successfully bypass the user-space
Alex> tool restrictions, will the rest of LVM likely work with my
Alex> desired config? Would you be willing to allow the --force option
Alex> to bypass the restrictions that are not strictly necessary, even
Alex> at the expense of expected stability? Is there anything else you
Alex> could suggest?

I really can only suggest you setup RAID6 using the MD raid tools
(mdadm) and then create your LVM PVs, VGs and LVs on top of that.  It
really works well.

Yes, you now need to have another tool to manage another layer, but
since the MD system is well tested, reliable and just works, then I
would go with it as the base.

If you can copy all your data onto a single disk, then you could
simple create a RAID5 on your other three disks, create a PV on the
/dev/md0, then add the PV into your VG and do a lvmove to copy your
data onto the RAID5, all without downtime.

Once it's moved over, you remove the final disk, then grow the MD
array from RAID5 to RAID6, again online.

The details aren't hard, but you do have to be careful.


More information about the linux-lvm mailing list