Bug 504871
Summary: | Add 'cling by tags' alloc policy so mirrored LV legs are not extended onto devices in different datacentres | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Issue Tracker <tao> | |
Component: | lvm2 | Assignee: | Alasdair Kergon <agk> | |
Status: | CLOSED ERRATA | QA Contact: | Corey Marthaler <cmarthal> | |
Severity: | medium | Docs Contact: | ||
Priority: | medium | |||
Version: | 6.0 | CC: | agk, dwysocha, heinzm, iannis, jbrassow, jcapel, mbroz, prajnoha, prockai, snagar, tao | |
Target Milestone: | rc | Keywords: | FutureFeature, Triaged | |
Target Release: | --- | |||
Hardware: | All | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | lvm2-2.02.82-1.el6 | Doc Type: | Enhancement | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 687919 (view as bug list) | Environment: | ||
Last Closed: | 2011-05-19 14:25:26 UTC | Type: | --- | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | 433768 | |||
Bug Blocks: | 687919 |
Description
Issue Tracker
2009-06-09 20:15:21 UTC
Firstly we added '--alloc cling' which attempts to keep the allocations on the same PVs before looking on different ones. It attempts this by default before trying other allocation modes, but if you use this on the cmdline it will fail to proceed if it cannot allocate in this fashion. A pre-requisite for any solution is to tell LVM which PVs are in which datacentres. pvchange --addtag provides a mechanism for this - add tag A to PVs in datacentre A and tag B to ones in datacentre B. Then a solution would be for us to provide an extended 'cling' policy that checks for matching tags too. Since tags can be used for many different things, we should probably have an lvm.conf setting providing a list of tag patterns to match against for this purpose. So let's call this alloc policy cling_by_tags, insert it between ALLOC_CLING and ALLOC_NORMAL in the hierarchy, and have an lvm.conf pattern list metadata/cling_tags. A quick little coding exercise for someone:-) Technical pointers: _check_cling() can still be used, but add a parameter to switch to use a new function _is_same_tag() in place of _is_same_pv(). This function can work through the lvm.conf tag list one-by-one and check for a match against both PVs simultaneously. In _find_parallel_space() cling is set in both old and new cases, but when calling _check_cling, if ALLOC_CLING_BY_TAGS (or whatever better name we choose) is set this new parameter is set to invoke the new code. Then just to add it to cmdline, doc/example.conf and relevant man pages. Code committed upstream for 2.02.77. To test, divide the PVs into groups and use pvchange --addtag to add tags to them. Define allocation/cling_tag_list in lvm.conf. Create some LVs (striped or mirrored) that are split between the groups of PVs. Use vgchange --alloc cling to tell the allocator to consider only PVs with matching tags. Then check lvextend always allocates from the right tagged PVs. Use -vvvv to watch the allocator in action, or pvs --segments -v or lvs -o+devices to check the allocations that were made. See also bug 433768. (Some of the implementation details differ from the ideas in comment #5 and comment #6 .) [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 35.66g A /dev/sdc1 taft lvm2 a- 135.66g 35.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g B /dev/sde1 taft lvm2 a- 135.66g 135.66g C /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g A /dev/sdh1 taft lvm2 a- 135.66g 135.66g A [root@taft-03 ~]# lvcreate -m 1 -n mirror -L 100G --nosync taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) # The 1st extend works as expected, only pvs with similar tags are matched # with existing leg PVs [root@taft-03 ~]# lvextend -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Logical volume mirror successfully resized [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 200.00g mirror_mlog 50.10 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdg1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdd1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) # The 2nd extend adds PVs that have different tags as there is not enough # space with matching tags. Is this expected or is the cmd supposed to fail? [root@taft-03 ~]# lvextend -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 300.00 GiB Logical volume mirror successfully resized [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 300.00g mirror_mlog 33.84 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft Iwi-ao 300.00g /dev/sdb1(0) [mirror_mimage_0] taft Iwi-ao 300.00g /dev/sdg1(0) [mirror_mimage_0] taft Iwi-ao 300.00g /dev/sde1(0) [mirror_mimage_1] taft Iwi-ao 300.00g /dev/sdc1(0) [mirror_mimage_1] taft Iwi-ao 300.00g /dev/sdd1(0) [mirror_mimage_1] taft Iwi-ao 300.00g /dev/sdf1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) Here is a list of 9 cling/cling_by_tags cases that I tested and their results. I do not however know if the results are what's expected or not. Based on comment #19, further development for this feature is to be done for rhel6.2 (like adding lvconverts and lvcreates). ### Cases 1-7 were done with the following cling tag list in lvm.conf: cling_tag_list = [ "@A", "@B" ] ### Case 1. Mirror created w/ --alloc flag and enough PVs with tags for the extension to work [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 135.66g A /dev/sdc1 taft lvm2 a- 135.66g 135.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g B /dev/sde1 taft lvm2 a- 135.66g 135.66g C /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g A /dev/sdh1 taft lvm2 a- 135.66g 135.66g A [root@taft-03 ~]# lvcreate --alloc cling_by_tags -m 1 -n mirror -L 100G --nosync taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdh1(0) [root@taft-03 ~]# lvextend --alloc cling_by_tags -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Logical volume mirror successfully resized [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 200.00g mirror_mlog 50.12 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdg1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdd1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdh1(0) ### Case 2. Mirror created w/ --alloc flag and *not* enough PVs with tags for the extension to work [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 135.66g A /dev/sdc1 taft lvm2 a- 135.66g 135.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g C /dev/sde1 taft lvm2 a- 135.66g 135.66g C /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g C /dev/sdh1 taft lvm2 a- 135.66g 135.66g C [root@taft-03 ~]# lvcreate -m 1 -n mirror -L 100G --nosync --alloc cling taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdh1(0) [root@taft-03 ~]# lvextend --alloc cling -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Insufficient suitable allocatable extents for logical volume mirror: 32940 more required [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdh1(0) [root@taft-03 ~]# lvextend --alloc cling_by_tags -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Insufficient suitable allocatable extents for logical volume mirror: 32940 more required [root@taft-03 ~]# lvextend -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Insufficient suitable allocatable extents for logical volume mirror: 32940 more required ### Case 3. Mirror created w/o --alloc flag and *not* enough PVs with tags for the extension to work [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 135.66g A /dev/sdc1 taft lvm2 a- 135.66g 135.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g C /dev/sde1 taft lvm2 a- 135.66g 135.66g C /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g C /dev/sdh1 taft lvm2 a- 135.66g 135.66g C [root@taft-03 ~]# lvcreate -m 1 -n mirror --nosync -L 100G taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) [root@taft-03 ~]# lvextend -L +100G --alloc cling taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Insufficient suitable allocatable extents for logical volume mirror: 32940 more required [root@taft-03 ~]# lvextend -L +100G --alloc cling_by_tags taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Insufficient suitable allocatable extents for logical volume mirror: 32940 more required [root@taft-03 ~]# lvextend -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Logical volume mirror successfully resized [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 200.00g mirror_mlog 51.03 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdd1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sde1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) ### Case 4. Mirror created w/ --alloc flag and enough PVs with tags for the extension to work [root@taft-03 ~]# lvcreate --alloc cling -n mirror -L 100G --nosync -m 1 taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdh1(0) lv_home vg_taft03 -wi-ao 25.64g /dev/sda2(8269) lv_root vg_taft03 -wi-ao 32.30g /dev/sda2(0) lv_swap vg_taft03 -wi-ao 9.81g /dev/sda2(14832) [root@taft-03 ~]# lvextend -L +100G --alloc cling taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Insufficient suitable allocatable extents for logical volume mirror: 32940 more required [root@taft-03 ~]# lvextend -L +100G --alloc cling_by_tags taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Insufficient suitable allocatable extents for logical volume mirror: 32940 more required ### Case 5. Mirror created w/o --alloc flag and enough PVs with tags for the extension to work [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 135.66g A /dev/sdc1 taft lvm2 a- 135.66g 135.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g B /dev/sde1 taft lvm2 a- 135.66g 135.66g C /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g A /dev/sdh1 taft lvm2 a- 135.66g 135.66g A [root@taft-03 ~]# lvcreate -m 1 -n mirror --nosync -L 100G taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) ### Should this cling command have worked? [root@taft-03 ~]# lvextend --alloc cling -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Logical volume mirror successfully resized [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 200.00g mirror_mlog 50.16 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdg1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdd1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) ### Case 6. Simple creation w/ --alloc flag and enough PVs with tags for the creation to work [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 135.66g A /dev/sdc1 taft lvm2 a- 135.66g 135.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g C /dev/sde1 taft lvm2 a- 135.66g 135.66g B /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g A /dev/sdh1 taft lvm2 a- 135.66g 135.66g A [root@taft-03 ~]# lvcreate -m 1 --alloc cling -L 200G --nosync -n mirror taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created # Note that the PV tags were ignored [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 200.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft iwi-ao 200.00g /dev/sdd1(0) [mirror_mimage_1] taft iwi-ao 200.00g /dev/sde1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdc1(16470) [root@taft-03 ~]# vgchange -an taft 0 logical volume(s) in volume group "taft" now active [root@taft-03 ~]# lvremove taft Logical volume "mirror" successfully removed ### Case 7. Simple creation w/ --alloc flag and enough PVs with tags for the creation to work [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 135.66g A /dev/sdc1 taft lvm2 a- 135.66g 135.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g C /dev/sde1 taft lvm2 a- 135.66g 135.66g B /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g A /dev/sdh1 taft lvm2 a- 135.66g 135.66g A [root@taft-03 ~]# lvcreate -m 1 --alloc cling_by_tags -L 200G --nosync -n mirror taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created # Note that the PV tags were ignored [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 200.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft iwi-ao 200.00g /dev/sdd1(0) [mirror_mimage_1] taft iwi-ao 200.00g /dev/sde1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdc1(16470) ### Cases 8-9 were done with *no* cling tag list in lvm.conf: ### Case 8. Mirror created w/o --alloc flag and enough PVs with tags for the extension to work [root@taft-03 ~]# lvcreate -m 1 -n mirror --nosync -L 100G taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) # Should this have worked without matching tagged legs? [root@taft-03 ~]# lvextend --alloc cling_by_tags -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Logical volume mirror successfully resized [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwi-a- 200.00g mirror_mlog 50.05 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdd1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sde1(0) [mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0) [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 0 A /dev/sdc1 taft lvm2 a- 135.66g 0 B /dev/sdd1 taft lvm2 a- 135.66g 71.33g B /dev/sde1 taft lvm2 a- 135.66g 71.33g C /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g A /dev/sdh1 taft lvm2 a- 135.66g 135.66g A ### Case 9. Mirror created w/ --alloc flag and enough PVs with tags for the extension to work [root@taft-03 ~]# lvcreate -m 1 -n mirror --alloc cling --nosync -L 100G taft WARNING: New mirror won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 100.00g mirror_mlog 100.00 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0) [mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdh1(0) [root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1 PV VG Fmt Attr PSize PFree PV Tags /dev/sdb1 taft lvm2 a- 135.66g 35.66g A /dev/sdc1 taft lvm2 a- 135.66g 35.66g B /dev/sdd1 taft lvm2 a- 135.66g 135.66g B /dev/sde1 taft lvm2 a- 135.66g 135.66g C /dev/sdf1 taft lvm2 a- 135.66g 135.66g C /dev/sdg1 taft lvm2 a- 135.66g 135.66g A /dev/sdh1 taft lvm2 a- 135.66g 135.66g A # Should this have worked? [root@taft-03 ~]# lvextend --alloc cling -L +100G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 200.00 GiB Logical volume mirror successfully resized [root@taft-03 ~]# lvs -a -o +devices LV VG Attr LSize Log Copy% Devices mirror taft Mwl-a- 200.00g mirror_mlog 50.05 mirror_mimage_0(0),mirror_mimage_1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0) [mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdd1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0) [mirror_mimage_1] taft Iwi-ao 200.00g /dev/sde1(0) [mirror_mlog] taft lwl-ao 4.00m /dev/sdh1(0) An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-0772.html |