Bug 1394043

Summary: [RFE] LVM RAID: Implement RAID duplication
Product: [Community] LVM and device-mapper Reporter: Jonathan Earl Brassow <jbrassow>
Component: lvm2Assignee: Heinz Mauelshagen <heinzm>
lvm2 sub component: Mirroring and RAID QA Contact: cluster-qe <cluster-qe>
Status: NEW --- Docs Contact:
Severity: unspecified    
Priority: unspecified CC: agk, heinzm, jbrassow, msnitzer, pasik, prajnoha, zkabelac
Version: unspecifiedKeywords: FutureFeature, Improvement
Target Milestone: ---Flags: rule-engine: lvm-technical-solution?
rule-engine: lvm-test-coverage?
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1482608 (view as bug list) Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1394039, 1411727    

Description Jonathan Earl Brassow 2016-11-10 21:34:59 UTC
RAID duplicate allows users to create a RAID1 logical volume where the underlying images maintain the same (or alternative characteristics).  For example, a user who has a RAID5 LV can use LV duplication to create a RAID1 LV composed of the original RAID5 LV and a duplicate LV.  (Before this feature, you could only add linear RAID1 images to linear LVs.)  Additionally, the user could switch the RAID type - start with RAID5 LV and make the second leg RAID6.  You could even add a thrid leg that was RAID10.  It is then possible to "unduplicate" and keep all the images (aka copy LVs) you wish.  This can be used to have RAID1 across geographically distinct sites containing RAID5 LVs.  It can be a nice way to change the layout of your storage without performing it in place.  It can also be used as a much more advanced 'pvmove'.  There are many uses.

Comment 1 Heinz Mauelshagen 2016-11-16 17:54:09 UTC
Correction:
"unduplicate" keeps just one fully synchronized, selectable SubLV
(say, a raid6 SubLV) as the top-level LV, thus removing the raid1 on top.

It is possible to split off any duplicating SubLV though.

Also you can track one duplicating SubLV similar to the existing,
flat raid1 feature using linear LVs as SubLVs with
"lvconvert ..splitmirrors 1 --trackchanges ...".