Bug 1366060

Summary: raid10 max image attempt fails "maximum supported areas 8 (is 10) for raid10 segment"
Product: Red Hat Enterprise Linux 7 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: 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, mnavrati, msnitzer, prajnoha, prockai, zkabelac
Version: 7.3Keywords: Regression
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-2.02.164-2.el7 Doc Type: No Doc Update
Doc Text:
Intra-release bug, no documentation needed.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 04:16:57 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:
Attachments:
Description Flags
verbose lvcreate attempt none

Description Corey Marthaler 2016-08-10 22:38:49 UTC
Description of problem:

Raid10 max image create regression from .160-1.


lvm2-2.02.163-1.el7.x86_64

[root@host-082 ~]# pvscan
  PV /dev/sdf2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sdf1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sdb2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sdb1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sda2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sda1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sdc2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sdc1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sde2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sde1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/vda2   VG rhel_host-082   lvm2 [7.51 GiB / 40.00 MiB free]
  Total: 11 [132.47 GiB] / in use: 11 [132.47 GiB] / in no VG: 0 [0   ]

[root@host-082 ~]# lvcreate  --type raid10 -i 5 -n max_legs -L 300M raid_sanity
  Using default stripesize 64.00 KiB.
  LV max_legs invalid: maximum supported areas 8 (is 10) for raid10 segment
  Internal error: LV segments corrupted in max_legs.




lvm2-2.02.160-1.el7.x86_64

[root@host-085 ~]# pvscan
  PV /dev/vda2   VG rhel_host-085   lvm2 [7.51 GiB / 40.00 MiB free]
  PV /dev/sde2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sde1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sdb2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sdb1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sdf2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sdf1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sda2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sda1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  PV /dev/sdh2   VG raid_sanity     lvm2 [12.49 GiB / 12.49 GiB free]
  PV /dev/sdh1   VG raid_sanity     lvm2 [12.50 GiB / 12.50 GiB free]
  Total: 11 [132.47 GiB] / in use: 11 [132.47 GiB] / in no VG: 0 [0   ]

[root@host-085 ~]# lvcreate  --type raid10 -i 5 -n max_legs -L 300M raid_sanity
  Using default stripesize 64.00 KiB.
  Logical volume "max_legs" created.

[root@host-085 ~]# lvs -a -o +devices
  LV                  VG            Attr       LSize   Cpy%Sync Devices
  max_legs            raid_sanity   rwi-a-r--- 300.00m 100.00   max_legs_rimage_0(0),max_legs_rimage_1(0),max_legs_rimage_2(0),max_legs_rimage_3(0),max_legs_rimage_4(0),max_legs_rimage_5(0),max_legs_rimage_6(0),max_legs_rimage_7(0),max_legs_rimage_8(0),max_legs_rimage_9(0)
  [max_legs_rimage_0] raid_sanity   iwi-aor---  60.00m          /dev/sde2(1)
  [max_legs_rimage_1] raid_sanity   iwi-aor---  60.00m          /dev/sde1(1)
  [max_legs_rimage_2] raid_sanity   iwi-aor---  60.00m          /dev/sdb2(1)
  [max_legs_rimage_3] raid_sanity   iwi-aor---  60.00m          /dev/sdb1(1)
  [max_legs_rimage_4] raid_sanity   iwi-aor---  60.00m          /dev/sdf2(1)
  [max_legs_rimage_5] raid_sanity   iwi-aor---  60.00m          /dev/sdf1(1)
  [max_legs_rimage_6] raid_sanity   iwi-aor---  60.00m          /dev/sda2(1)
  [max_legs_rimage_7] raid_sanity   iwi-aor---  60.00m          /dev/sda1(1)
  [max_legs_rimage_8] raid_sanity   iwi-aor---  60.00m          /dev/sdh2(1)
  [max_legs_rimage_9] raid_sanity   iwi-aor---  60.00m          /dev/sdh1(1)
  [max_legs_rmeta_0]  raid_sanity   ewi-aor---   4.00m          /dev/sde2(0)
  [max_legs_rmeta_1]  raid_sanity   ewi-aor---   4.00m          /dev/sde1(0)
  [max_legs_rmeta_2]  raid_sanity   ewi-aor---   4.00m          /dev/sdb2(0)
  [max_legs_rmeta_3]  raid_sanity   ewi-aor---   4.00m          /dev/sdb1(0)
  [max_legs_rmeta_4]  raid_sanity   ewi-aor---   4.00m          /dev/sdf2(0)
  [max_legs_rmeta_5]  raid_sanity   ewi-aor---   4.00m          /dev/sdf1(0)
  [max_legs_rmeta_6]  raid_sanity   ewi-aor---   4.00m          /dev/sda2(0)
  [max_legs_rmeta_7]  raid_sanity   ewi-aor---   4.00m          /dev/sda1(0)
  [max_legs_rmeta_8]  raid_sanity   ewi-aor---   4.00m          /dev/sdh2(0)
  [max_legs_rmeta_9]  raid_sanity   ewi-aor---   4.00m          /dev/sdh1(0)




Version-Release number of selected component (if applicable):
3.10.0-489.el7.x86_64

lvm2-2.02.163-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
lvm2-libs-2.02.163-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
lvm2-cluster-2.02.163-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
device-mapper-1.02.133-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
device-mapper-libs-1.02.133-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
device-mapper-event-1.02.133-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
device-mapper-event-libs-1.02.133-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
device-mapper-persistent-data-0.6.3-1.el7    BUILT: Fri Jul 22 05:29:13 CDT 2016
cmirror-2.02.163-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016
sanlock-3.4.0-1.el7    BUILT: Fri Jun 10 11:41:03 CDT 2016
sanlock-lib-3.4.0-1.el7    BUILT: Fri Jun 10 11:41:03 CDT 2016
lvm2-lockd-2.02.163-1.el7    BUILT: Wed Aug 10 06:53:21 CDT 2016

Comment 1 Corey Marthaler 2016-08-10 22:41:22 UTC
Created attachment 1189808 [details]
verbose lvcreate attempt

Comment 2 Heinz Mauelshagen 2016-08-12 15:43:56 UTC
This is another one caught by my vg_validate() enhancements.
Did we ever support more than 8 DataLVs in any particular RaidLV?

Comment 3 Alasdair Kergon 2016-08-12 16:11:01 UTC
We'll update the package and also 'man lvcreate' to specify the maximum supported limits for each raid type.  We'll check the following, but we think the limits are:

raid1: -m9
raid10 -i32 (with -m1 limitation)
raid0[_meta]: -i 64
raid4/5: -i63
raid6: -i62

Comment 6 Corey Marthaler 2016-08-26 23:22:17 UTC
It appears that all the limits are properly checked with the exception of raid10 (filed bug 1370658). This can be marked verified once that is fixed.


lvm2-2.02.164-3.el7    BUILT: Wed Aug 24 05:20:41 CDT 2016
lvm2-libs-2.02.164-3.el7    BUILT: Wed Aug 24 05:20:41 CDT 2016
lvm2-cluster-2.02.164-3.el7    BUILT: Wed Aug 24 05:20:41 CDT 2016



## RAID0
[root@host-117 ~]# lvcreate -i 65 --type raid0 -L 100M -n raid0 test 
  Using default stripesize 64.00 KiB.
  Only up to 64 stripes in raid0 supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 64 --type raid0 -L 100M -n raid0 test 
  Using default stripesize 64.00 KiB.
  Rounding size 100.00 MiB (25 extents) up to stripe boundary size 256.00 MiB (64 extents).
  Number of stripes (64) must not exceed number of physical volumes (7)

[root@host-117 ~]# lvcreate -i 65 --type raid0_meta -L 100M -n raid0 test 
  Using default stripesize 64.00 KiB.
  Only up to 64 stripes in raid0_meta supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 64 --type raid0_meta -L 100M -n raid0 test 
  Using default stripesize 64.00 KiB.
  Rounding size 100.00 MiB (25 extents) up to stripe boundary size 256.00 MiB (64 extents).
  Number of stripes (64) must not exceed number of physical volumes (7)




## RAID4
[root@host-117 ~]# lvcreate -i 64 --type raid4 -L 100M -n raid4 test 
  Using default stripesize 64.00 KiB.
  Only up to 63 stripes in raid4 supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 63 --type raid4 -L 100M -n raid4 test 
  Using default stripesize 64.00 KiB.
  Rounding size 100.00 MiB (25 extents) up to stripe boundary size 252.00 MiB (63 extents).
  Number of stripes (63) must not exceed number of physical volumes (7)




## RAID5
[root@host-117 ~]# lvcreate -i 64 --type raid5 -L 100M -n raid5 test 
  Using default stripesize 64.00 KiB.
  Only up to 63 stripes in raid5 supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 63 --type raid5 -L 100M -n raid5 test 
  Using default stripesize 64.00 KiB.
  Rounding size 100.00 MiB (25 extents) up to stripe boundary size 252.00 MiB (63 extents).
  Number of stripes (63) must not exceed number of physical volumes (7)




## RAID6
[root@host-117 ~]# lvcreate -i 63 --type raid6 -L 100M -n raid6 test 
  Using default stripesize 64.00 KiB.
  Only up to 62 stripes in raid6 supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 62 --type raid6 -L 100M -n raid6 test 
  Using default stripesize 64.00 KiB.
  Rounding size 100.00 MiB (25 extents) up to stripe boundary size 248.00 MiB (62 extents).
  Number of stripes (62) must not exceed number of physical volumes (7)





## RAID10   ( SEE BUG 1370658 )
[root@host-117 ~]# lvcreate -i 64 --type raid10 -L 100M -n raid6 test 
  Using default stripesize 64.00 KiB.
  Only up to 64 stripes in raid10 supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 63 --type raid10 -L 100M -n raid6 test 
  Using default stripesize 64.00 KiB.
  Only up to 64 stripes in raid10 supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 33 --type raid10 -L 100M -n raid6 test 
  Using default stripesize 64.00 KiB.
  Only up to 64 stripes in raid10 supported currently.
  Run `lvcreate --help' for more information.

[root@host-117 ~]# lvcreate -i 32 --type raid10 -L 100M -n raid6 test 
  Using default stripesize 64.00 KiB.
  Rounding size 100.00 MiB (25 extents) up to stripe boundary size 128.00 MiB (32 extents).
  Number of stripes (32) must not exceed number of physical volumes (7)

Comment 7 Corey Marthaler 2016-08-29 22:51:47 UTC
Marking this verified with the caveat that bug 1370658 still exists for the raid10 stripe limit.

Comment 9 errata-xmlrpc 2016-11-04 04:16:57 UTC
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://rhn.redhat.com/errata/RHBA-2016-1445.html