MD has the capability to do RAID10. This is not simply stacking one segment type upon another - it is an integrated system that allows for many RAID10-like permutations.
This bug is a feature request for LVM to support the most basic variant of RAID10 - striped 2-way mirrors.
Simply put, perform all the tests on a RAID10 LV that are performed on a RAID1 or RAID4/5/6 LV. This includes, but shouldn't be limited to:
1) Create RAID10 LV
2) Remove RAID10 LV
3) Resize RAID10 LV
4) Data consistency checking
5) Device failure testing
Adding QA ack for 6.4.
Devel will need to provide unit testing results however before this bug can be
ultimately verified by QA.
LVM test suite passes with the following changes made to test this new feature:
- creation of RAID10 LVs [lvcreate-raid.sh]
-- does not allow more than 2-way mirror
-- does allow more than 2-way stripe
- replacement of devices [lvconvert-raid.sh]
-- replacement of any single device succeeds (while in-sync)
-- replacement of more than 1 dev in a mirror group fails
-- replacement of 1 dev from each mirror group will succeed
- resize LV [lvresize-raid.sh]
-- extend LV
-- reduce LV
For consistency testing, I only made a file system on the LV, mounted it, and did kernel untars and removals.
Author: Jonathan Brassow <firstname.lastname@example.org>
Date: Fri Aug 24 15:34:19 2012 -0500
RAID: Add support for RAID10
This patch adds support for RAID10. It is not the default at this
stage. The user needs to specify '--type raid10' if they would like
RAID10 instead of stacked mirror over stripe.
Ran both black_bird and raid_sanity test for 3 iterations without issues.
I am marking this as verified even though there are some hickups with the whole mirrored stripe leg failuire of raid10 (which effectively kills raid10, as expected but could maybe be 'more graceful').
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.