Bug 1624083
| Summary: | RAID TAKEOVER: direct conversions have been replaced with interim raid5_n step | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Corey Marthaler <cmarthal> |
| Component: | lvm2 | Assignee: | Heinz Mauelshagen <heinzm> |
| lvm2 sub component: | Mirroring and RAID | QA Contact: | cluster-qe <cluster-qe> |
| Status: | CLOSED ERRATA | Docs Contact: | |
| Severity: | medium | ||
| Priority: | unspecified | CC: | agk, heinzm, jbrassow, mcsontos, msnitzer, prajnoha, rhandlin, zkabelac |
| Version: | 7.6 | Keywords: | Regression |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | lvm2-2.02.180-8.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-10-30 11:03:51 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Corey Marthaler
2018-08-30 21:24:11 UTC
Like I suspected, this behavior changed just since the last lvm build. 180-5 did not have this new behavior which point to this being a regression. # RHEL7.6 3.10.0-939.el7.x86_64 lvm2-2.02.180-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 lvm2-libs-2.02.180-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 lvm2-cluster-2.02.180-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 lvm2-lockd-2.02.180-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 lvm2-python-boom-0.9-9.el7 BUILT: Fri Aug 24 08:52:54 CDT 2018 cmirror-2.02.180-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 device-mapper-1.02.149-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 device-mapper-libs-1.02.149-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 device-mapper-event-1.02.149-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 device-mapper-event-libs-1.02.149-5.el7 BUILT: Tue Aug 21 11:29:37 CDT 2018 device-mapper-persistent-data-0.7.3-3.el7 BUILT: Tue Nov 14 05:07:18 CST 2017 ### Striped -> raid4 [root@mckinley-03 ~]# lvcreate -ay --type striped -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@mckinley-03 ~]# lvs -a -o +devices,segtype LV VG Attr LSize Cpy%Sync Convert Devices Type takeover VG -wi-a----- 2.75g /dev/mapper/mpathb1(0),/dev/mapper/mpathc1(0),/dev/mapper/mpathd1(0) striped [root@mckinley-03 ~]# lvconvert --force --yes --type raid4 VG/takeover Using default stripesize 64.00 KiB. Logical volume VG/takeover successfully converted. ot@mckinley-03 ~]# lvs -a -o +devices,segtype LV VG Attr LSize Cpy%Sync Convert Devices Type takeover VG rwi-a-r--- 2.75g 100.00 takeover_rimage_0(0),takeover_rimage_1(0),takeover_rimage_2(0),takeover_rimage_3(0) raid4 [takeover_rimage_0] VG iwi-aor--- 940.00m /dev/mapper/mpathe1(1) linear [takeover_rimage_1] VG iwi-aor--- 940.00m /dev/mapper/mpathb1(0) linear [takeover_rimage_2] VG iwi-aor--- 940.00m /dev/mapper/mpathc1(0) linear [takeover_rimage_3] VG iwi-aor--- 940.00m /dev/mapper/mpathd1(0) linear [takeover_rmeta_0] VG ewi-aor--- 4.00m /dev/mapper/mpathe1(0) linear [takeover_rmeta_1] VG ewi-aor--- 4.00m /dev/mapper/mpathb1(235) linear [takeover_rmeta_2] VG ewi-aor--- 4.00m /dev/mapper/mpathc1(235) linear [takeover_rmeta_3] VG ewi-aor--- 4.00m /dev/mapper/mpathd1(235) linear ### Raid4 -> raid0_meta [root@mckinley-03 ~]# lvcreate -ay --type raid4 -i 2 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Logical volume "takeover" created. [root@mckinley-03 ~]# lvs -a -o +devices,segtype LV VG Attr LSize Cpy%Sync Convert Devices Type takeover VG rwi-a-r--- 2.75g 100.00 takeover_rimage_0(0),takeover_rimage_1(0),takeover_rimage_2(0) raid4 [takeover_rimage_0] VG iwi-aor--- <1.38g /dev/mapper/mpathb1(1) linear [takeover_rimage_1] VG iwi-aor--- <1.38g /dev/mapper/mpathc1(1) linear [takeover_rimage_2] VG iwi-aor--- <1.38g /dev/mapper/mpathd1(1) linear [takeover_rmeta_0] VG ewi-aor--- 4.00m /dev/mapper/mpathb1(0) linear [takeover_rmeta_1] VG ewi-aor--- 4.00m /dev/mapper/mpathc1(0) linear [takeover_rmeta_2] VG ewi-aor--- 4.00m /dev/mapper/mpathd1(0) linear [root@mckinley-03 ~]# lvconvert --force --yes --type raid0_meta VG/takeover Using default stripesize 64.00 KiB. Logical volume VG/takeover successfully converted. [root@mckinley-03 ~]# lvs -a -o +devices,segtype LV VG Attr LSize Cpy%Sync Convert Devices Type takeover VG rwi-a-r--- 2.75g takeover_rimage_0(0),takeover_rimage_1(0) raid0_meta [takeover_rimage_0] VG iwi-aor--- <1.38g /dev/mapper/mpathc1(1) linear [takeover_rimage_1] VG iwi-aor--- <1.38g /dev/mapper/mpathd1(1) linear [takeover_rmeta_0] VG ewi-aor--- 4.00m /dev/mapper/mpathc1(0) linear [takeover_rmeta_1] VG ewi-aor--- 4.00m /dev/mapper/mpathd1(0) linear Three additional conversions that are affected by this: FROM:raid0_meta TO:raid4 FROM:raid4 TO:striped FROM:raid4 TO:raid0 Regression introduced with lvm2 upstream commit e83c4f07ca4a84808178d5d22cba655e5e370cd8. Fixed with upstream commit 22a13043683a5647e8cc4e3aead911e5269ffd2f. The five listed originally in this bug appear to be fixed in 180-7, however at least one other one that hadn't been discovered until now still remains. FROM:striped TO:raid6_n_6 180-[5] [root@host-073 ~]# lvcreate -ay --type striped -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-073 ~]# lvconvert --type raid6_n_6 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert striped LV VG/takeover to raid6_n_6 type? [y/n]: y Logical volume VG/takeover successfully converted. [root@host-073 ~]# lvs -a -o +segtype LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Type takeover VG rwi-a-r--- 2.75g 12.65 raid6_n_6 180-[6,7] [root@host-073 ~]# lvcreate --type striped -i 3 -n takeover -L 2.75G centipede2 Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-073 ~]# lvconvert --force --yes --type raid6_n_6 centipede2/takeover Using default stripesize 64.00 KiB. Replaced LV type raid6_n_6 with possible type raid5_n. Repeat this command to convert to raid6_n_6 after an interim conversion has finished. Logical volume centipede2/takeover successfully converted. ## FIXED in 180-7: FROM:raid0_meta TO:raid4 [root@host-092 ~]# lvcreate -ay --type raid0_meta -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-092 ~]# lvconvert --type raid4 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert raid0_meta LV VG/takeover to raid4 type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid4 TO:striped [root@host-092 ~]# lvcreate -ay --type raid4 -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-092 ~]# lvconvert --type striped VG/takeover Are you sure you want to convert raid4 LV VG/takeover to striped type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid4 TO:raid0 [root@host-092 ~]# lvcreate -ay --type raid4 -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-092 ~]# lvconvert --type raid0 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert raid4 LV VG/takeover to raid0 type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid4 TO:raid0_meta [root@host-092 ~]# lvcreate -ay --type raid4 -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-092 ~]# lvconvert --type raid0_meta VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert raid4 LV VG/takeover to raid0_meta type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:striped TO:raid4 [root@host-092 ~]# lvcreate -ay --type striped -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-092 ~]# lvconvert --type raid4 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert striped LV VG/takeover to raid4 type? [y/n]: y Logical volume VG/takeover successfully converted. lvm2 upstream commit 22a13043683a5647e8cc4e3aead911e5269ffd2f addresses this bz. Leaving in assigned though, because Corey told me about a striped/raid0/raid0_meta -> raid6 case, where we can avoid an interim raid5_n step in case of >= 3 data stripes which I'll post a fix for shortly. lvm2 upstream commit e2e30a64ab10602951443dfbd3481bd6b32f5459 solving aforementioned issue as of comment #9. Marking verified in the latest rpms. All scenarios mentioned in this bug now work directly again. If any others arise, a new bug will be filed to be dealt with in 7.7. 3.10.0-951.el7.x86_64 lvm2-2.02.180-8.el7 BUILT: Mon Sep 10 04:45:22 CDT 2018 lvm2-libs-2.02.180-8.el7 BUILT: Mon Sep 10 04:45:22 CDT 2018 device-mapper-1.02.149-8.el7 BUILT: Mon Sep 10 04:45:22 CDT 2018 device-mapper-libs-1.02.149-8.el7 BUILT: Mon Sep 10 04:45:22 CDT 2018 device-mapper-event-1.02.149-8.el7 BUILT: Mon Sep 10 04:45:22 CDT 2018 device-mapper-event-libs-1.02.149-8.el7 BUILT: Mon Sep 10 04:45:22 CDT 2018 device-mapper-persistent-data-0.7.3-3.el7 BUILT: Tue Nov 14 05:07:18 CST 2017 FROM:striped TO:raid6_n_6 [root@host-087 ~]# lvcreate -ay --type striped -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-087 ~]# lvconvert --type raid6_n_6 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert striped LV VG/takeover to raid6_n_6 type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid0_meta TO:raid6_n_6 [root@host-087 ~]# lvcreate -ay --type raid0_meta -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-087 ~]# lvconvert --type raid6 VG/takeover Using default stripesize 64.00 KiB. Replaced LV type raid6 (same as raid6_zr) with possible type raid6_n_6. Repeat this command to convert to raid6 after an interim conversion has finished. Are you sure you want to convert raid0_meta LV VG/takeover to raid6_n_6 type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid0_meta TO:raid4 [root@host-087 ~]# lvcreate -ay --type raid0_meta -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-087 ~]# lvconvert --type raid4 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert raid0_meta LV VG/takeover to raid4 type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid4 TO:striped [root@host-087 ~]# lvcreate -ay --type raid4 -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-087 ~]# lvconvert --type striped VG/takeover Are you sure you want to convert raid4 LV VG/takeover to striped type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid4 TO:raid0 [root@host-087 ~]# lvcreate -ay --type raid4 -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-087 ~]# lvconvert --type raid0 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert raid4 LV VG/takeover to raid0 type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:raid4 TO:raid0_meta [root@host-087 ~]# lvcreate -ay --type raid4 -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-087 ~]# lvconvert --type raid0_meta VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert raid4 LV VG/takeover to raid0_meta type? [y/n]: y Logical volume VG/takeover successfully converted. FROM:striped TO:raid4 [root@host-087 ~]# lvcreate -ay --type striped -i 3 -n takeover -L 2.75G VG Using default stripesize 64.00 KiB. Rounding size 2.75 GiB (704 extents) up to stripe boundary size 2.75 GiB(705 extents). Logical volume "takeover" created. [root@host-087 ~]# lvconvert --type raid4 VG/takeover Using default stripesize 64.00 KiB. Are you sure you want to convert striped LV VG/takeover to raid4 type? [y/n]: y Logical volume VG/takeover successfully converted. 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. https://access.redhat.com/errata/RHBA-2018:3193 |