Bug 1439403
Summary: | RAID TAKEOVER: When attempting to convert to raid10, is raid6_n_6 sufficient? | ||
---|---|---|---|
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: | low | ||
Priority: | unspecified | CC: | agk, heinzm, jbrassow, lmiksik, msnitzer, prajnoha, prockai, zkabelac |
Version: | 7.4 | ||
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | lvm2-2.02.171-2.el7 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-08-01 21:52:19 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
2017-04-05 23:02:00 UTC
# Already at 6_n_6 [root@harding-03 ~]# lvconvert --yes --type raid10 VG/LV Using default stripesize 64.00 KiB. Unable to convert LV VG/LV from raid6_n_6 to raid10. Converting VG/LV from raid6_n_6 is directly possible to the following layouts: raid0 raid0_meta striped raid4 raid5_n raid6_nc raid6_nr raid6_zr raid6_la_6 raid6_ls_6 raid6_ra_6 raid6_rs_6 [root@harding-03 ~]# lvconvert --yes --type raid0 VG/LV Using default stripesize 64.00 KiB. Logical volume VG/LV successfully converted. [root@harding-03 ~]# lvconvert --yes --type raid10 VG/LV Using default stripesize 64.00 KiB. Logical volume VG/LV successfully converted. Replacing a raid10 request with raid6 is an error. Command should fail and list the possible types. From comment #3: "Replacing a raid10 request with raid6 is an error. Command should fail and list the possible types." [root@host-126 ~]# lvcreate --type raid4 -i 3 -n LV -L 500M VG Using default stripesize 64.00 KiB. Rounding size 500.00 MiB (125 extents) up to stripe boundary size 504.00 MiB(126 extents). Logical volume "LV" created. [root@host-126 ~]# lvs -a -o +devices,segtype LV VG Attr LSize Cpy%Sync Devices Type LV VG rwi-a-r--- 504.00m 100.00 LV_rimage_0(0),LV_rimage_1(0),LV_rimage_2(0),LV_rimage_3(0) raid4 [LV_rimage_0] VG iwi-aor--- 168.00m /dev/sda1(1) linear [LV_rimage_1] VG iwi-aor--- 168.00m /dev/sdb1(1) linear [LV_rimage_2] VG iwi-aor--- 168.00m /dev/sdc1(1) linear [LV_rimage_3] VG iwi-aor--- 168.00m /dev/sdd1(1) linear [LV_rmeta_0] VG ewi-aor--- 4.00m /dev/sda1(0) linear [LV_rmeta_1] VG ewi-aor--- 4.00m /dev/sdb1(0) linear [LV_rmeta_2] VG ewi-aor--- 4.00m /dev/sdc1(0) linear [LV_rmeta_3] VG ewi-aor--- 4.00m /dev/sdd1(0) linear [root@host-126 ~]# lvconvert --yes --type raid10 VG/LV Using default stripesize 64.00 KiB. Replaced LV type raid10 (same as raid10_near) with possible type raid5_n. Repeat this command to convert to raid10 after an interim conversion has finished. Converting raid4 LV VG/LV to raid5_n. Logical volume VG/LV successfully converted. [root@host-126 ~]# lvs -a -o +devices,segtype LV VG Attr LSize Cpy%Sync Devices Type LV VG rwi-a-r--- 504.00m 100.00 LV_rimage_0(0),LV_rimage_1(0),LV_rimage_2(0),LV_rimage_3(0) raid5_n [LV_rimage_0] VG iwi-aor--- 172.00m /dev/sda1(1) linear [LV_rimage_1] VG iwi-aor--- 172.00m /dev/sdb1(1) linear [LV_rimage_2] VG iwi-aor--- 172.00m /dev/sdc1(1) linear [LV_rimage_3] VG iwi-aor--- 172.00m /dev/sdd1(1) linear [LV_rmeta_0] VG ewi-aor--- 4.00m /dev/sda1(0) linear [LV_rmeta_1] VG ewi-aor--- 4.00m /dev/sdb1(0) linear [LV_rmeta_2] VG ewi-aor--- 4.00m /dev/sdc1(0) linear [LV_rmeta_3] VG ewi-aor--- 4.00m /dev/sdd1(0) linear (In reply to Corey Marthaler from comment #6) > From comment #3: > "Replacing a raid10 request with raid6 is an error. > Command should fail and list the possible types." > > > [root@host-126 ~]# lvcreate --type raid4 -i 3 -n LV -L 500M VG > Using default stripesize 64.00 KiB. > Rounding size 500.00 MiB (125 extents) up to stripe boundary size 504.00 > MiB(126 extents). > Logical volume "LV" created. > [root@host-126 ~]# lvs -a -o +devices,segtype > LV VG Attr LSize Cpy%Sync Devices > Type > LV VG rwi-a-r--- 504.00m 100.00 > LV_rimage_0(0),LV_rimage_1(0),LV_rimage_2(0),LV_rimage_3(0) raid4 > [LV_rimage_0] VG iwi-aor--- 168.00m /dev/sda1(1) > linear > [LV_rimage_1] VG iwi-aor--- 168.00m /dev/sdb1(1) > linear > [LV_rimage_2] VG iwi-aor--- 168.00m /dev/sdc1(1) > linear > [LV_rimage_3] VG iwi-aor--- 168.00m /dev/sdd1(1) > linear > [LV_rmeta_0] VG ewi-aor--- 4.00m /dev/sda1(0) > linear > [LV_rmeta_1] VG ewi-aor--- 4.00m /dev/sdb1(0) > linear > [LV_rmeta_2] VG ewi-aor--- 4.00m /dev/sdc1(0) > linear > [LV_rmeta_3] VG ewi-aor--- 4.00m /dev/sdd1(0) > linear > > [root@host-126 ~]# lvconvert --yes --type raid10 VG/LV > Using default stripesize 64.00 KiB. > Replaced LV type raid10 (same as raid10_near) with possible type raid5_n. > Repeat this command to convert to raid10 after an interim conversion has > finished. > Converting raid4 LV VG/LV to raid5_n. > Logical volume VG/LV successfully converted. > > [root@host-126 ~]# lvs -a -o +devices,segtype > LV VG Attr LSize Cpy%Sync Devices > Type > LV VG rwi-a-r--- 504.00m 100.00 > LV_rimage_0(0),LV_rimage_1(0),LV_rimage_2(0),LV_rimage_3(0) raid5_n > [LV_rimage_0] VG iwi-aor--- 172.00m /dev/sda1(1) > linear > [LV_rimage_1] VG iwi-aor--- 172.00m /dev/sdb1(1) > linear > [LV_rimage_2] VG iwi-aor--- 172.00m /dev/sdc1(1) > linear > [LV_rimage_3] VG iwi-aor--- 172.00m /dev/sdd1(1) > linear > [LV_rmeta_0] VG ewi-aor--- 4.00m /dev/sda1(0) > linear > [LV_rmeta_1] VG ewi-aor--- 4.00m /dev/sdb1(0) > linear > [LV_rmeta_2] VG ewi-aor--- 4.00m /dev/sdc1(0) > linear > [LV_rmeta_3] VG ewi-aor--- 4.00m /dev/sdd1(0) > linear Corey, converting from raid4 to raid involves raid4 -> raid5_n -> raid0_meta -> raid10(_near), i.e. a 3 step conversion process. Hence the new code replaces the LV type with the next possible one raid5_n in this examples)and asks the user to repeat the initial command ("lvconvert --yes --type raid10 VG/LV" in this case). So the functionality goes beyond what I stated and you copies in comment #6. Please reevaluate and perfrom the multi-step conversions. Marking verified based on new expectations listed in comment #7. 3.10.0-685.el7.x86_64 lvm2-2.02.171-7.el7 BUILT: Thu Jun 22 08:35:15 CDT 2017 lvm2-libs-2.02.171-7.el7 BUILT: Thu Jun 22 08:35:15 CDT 2017 lvm2-cluster-2.02.171-7.el7 BUILT: Thu Jun 22 08:35:15 CDT 2017 device-mapper-1.02.140-7.el7 BUILT: Thu Jun 22 08:35:15 CDT 2017 device-mapper-libs-1.02.140-7.el7 BUILT: Thu Jun 22 08:35:15 CDT 2017 device-mapper-event-1.02.140-7.el7 BUILT: Thu Jun 22 08:35:15 CDT 2017 device-mapper-event-libs-1.02.140-7.el7 BUILT: Thu Jun 22 08:35:15 CDT 2017 device-mapper-persistent-data-0.7.0-0.1.rc6.el7 BUILT: Mon Mar 27 10:15:46 CDT 2017 [root@host-092 ~]# lvcreate --type raid4 -i 3 -n LV -L 500M VG Using default stripesize 64.00 KiB. Rounding size 500.00 MiB (125 extents) up to stripe boundary size 504.00 MiB(126 extents). Logical volume "LV" created. [root@host-092 ~]# lvs -a -o +devices LV VG Attr LSize Cpy%Sync Devices LV VG rwi-a-r--- 504.00m 100.00 LV_rimage_0(0),LV_rimage_1(0),LV_rimage_2(0),LV_rimage_3(0) [LV_rimage_0] VG iwi-aor--- 168.00m /dev/sda1(1) [LV_rimage_1] VG iwi-aor--- 168.00m /dev/sdb1(1) [LV_rimage_2] VG iwi-aor--- 168.00m /dev/sdc1(1) [LV_rimage_3] VG iwi-aor--- 168.00m /dev/sdd1(1) [LV_rmeta_0] VG ewi-aor--- 4.00m /dev/sda1(0) [LV_rmeta_1] VG ewi-aor--- 4.00m /dev/sdb1(0) [LV_rmeta_2] VG ewi-aor--- 4.00m /dev/sdc1(0) [LV_rmeta_3] VG ewi-aor--- 4.00m /dev/sdd1(0) [root@host-092 ~]# lvconvert --yes --type raid10 VG/LV Using default stripesize 64.00 KiB. Replaced LV type raid10 (same as raid10_near) with possible type raid0_meta. Repeat this command to convert to raid10 after an interim conversion has finished. Logical volume VG/LV successfully converted. [root@host-092 ~]# lvconvert --yes --type raid10 VG/LV Using default stripesize 64.00 KiB. Logical volume VG/LV successfully converted. [root@host-092 ~]# lvs -a -o +devices,segtype LV VG Attr LSize Cpy%Sync Devices Type LV VG rwi-a-r--- 504.00m 100.00 LV_rimage_0(0),LV_rimage_3(0),LV_rimage_1(0),LV_rimage_4(0),LV_rimage_2(0),LV_rimage_5(0) raid10 [LV_rimage_0] VG iwi-aor--- 168.00m /dev/sdb1(1) linear [LV_rimage_1] VG iwi-aor--- 168.00m /dev/sdc1(1) linear [LV_rimage_2] VG iwi-aor--- 168.00m /dev/sdd1(1) linear [LV_rimage_3] VG iwi-aor--- 168.00m /dev/sda1(1) linear [LV_rimage_4] VG iwi-aor--- 168.00m /dev/sde1(1) linear [LV_rimage_5] VG iwi-aor--- 168.00m /dev/sdf1(1) linear [LV_rmeta_0] VG ewi-aor--- 4.00m /dev/sdb1(0) linear [LV_rmeta_1] VG ewi-aor--- 4.00m /dev/sdc1(0) linear [LV_rmeta_2] VG ewi-aor--- 4.00m /dev/sdd1(0) linear [LV_rmeta_3] VG ewi-aor--- 4.00m /dev/sda1(0) linear [LV_rmeta_4] VG ewi-aor--- 4.00m /dev/sde1(0) linear [LV_rmeta_5] VG ewi-aor--- 4.00m /dev/sdf1(0) linear 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-2017:2222 |